Защита Web-серверов

Автор работы: Пользователь скрыл имя, 28 Января 2012 в 16:17, реферат

Описание работы

Internet - глобальная компьютерная сеть, охватывающая весь мир. Сегодня Internet имеет около 15 миллионов абонентов в более чем 150 странах мира. Ежемесячно размер сети увеличивается на 7-10%. Internet образует как бы ядро, обеспечивающее связь различных информационных сетей, принадлежащих различным учреждениям во всем мире, одна с другой.

Содержание работы

1. Введение.
2. Проблемы защиты информации.
3. Защита Web-серверов:
3.1 Ограничение доступа в WWW-серверах.
3.2 WWW-сервер и проблемы безопасности.
3.3 Java, Javascript и проблемы безопасности.
4. Заключение.
5. Специальные термины.
6. Список литературы.

Файлы: 1 файл

защита.docx

— 34.73 Кб (Скачать файл)

  Простейший  способ укрепить защиту сервера Web состоит  в размещении его за брандмауэром. Однако, действуя таким образом, пользователь как бы переносит проблемы защиты во внутрикорпоративную сеть, а это  не самый удачный выход. Пока сервер Web располагается "по другую сторону" брандмауэра, внутренняя сеть защищена, а сервер - нет. Побочным эффектом от такого шага является усложнение администрирования  сервера Web. 

  Лучшим  выходом было бы компромиссное решение: размещение сервера Web в его собственной  сети, запрет внешних соединений или  ограничение доступа к внутренним серверам.  

   Наряду  с обеспечением безопасности  программной среды, важнейшим  будет вопрос о разграничении  доступа к объектам Web-сервиса.  Для решения этого вопроса  необходимо уяснить, что является  объектом, как идентифицируются  субъекты и какая модель управления  доступом - принудительная или произвольная - применяется.  

   В Web-серверах  объектами доступа выступают  универсальные локаторы ресурсов (URL - Uniform (Universal) Resource Locator). За этими  локаторами могут стоять различные  сущности - HTML-файлы, CGI-процедуры и  т.п.

  Как правило, субъекты доступа идентифицируются по IP-адресам и/или именам компьютеров  и областей управления. Кроме того, может использоваться парольная  аутентификация пользователей или  более сложные схемы, основанные на криптографических технологиях.   

   В большинстве  Web-серверов права разграничиваются  с точностью до каталогов (директорий) с применением произвольного  управления доступом. Могут предоставляться  права на чтение HTML-файлов, выполнение CGI-процедур и т.д.  

   Для  раннего выявления попыток нелегального  проникновения в Web-сервер важен  регулярный анализ регистрационной  информации.  

   Разумеется, защита системы, на которой  функционирует Web-сервер, должна  следовать универсальным рекомендациям,  главной из которых является  максимальное упрощение. Все ненужные  сервисы, файлы, устройства должны  быть удалены. Число пользователей,  имеющих прямой доступ к серверу,  должно быть сведено к минимуму, а их привилегии - упорядочены  в соответствии со служебными  обязанностями.  

   Еще  один общий принцип состоит  в том, чтобы минимизировать  объем информации о сервере,  которую могут получить пользователи. Многие серверы в случае обращения  по имени каталога и отсутствия  файла index.HTML в нем, выдают HTML-вариант  оглавления каталога. В этом оглавлении  могут встретиться имена файлов  с исходными текстами CGI-процедур  или с иной конфиденциальной  информацией. Такого рода “дополнительные  возможности” целесообразно отключать,  поскольку лишнее знание (злоумышленника) умножает печали (владельца сервера). 

  3.1. Ограничения доступа  в WWW серверах 

  Рассмотрим  два из них:

  •  Ограничить доступ по IP адресам клиентских машин;

  •  ввести идентификатор получателя с паролем для данного вида документов. 

  Такого  рода ввод ограничений стал использоваться достаточно часто, т.к.  многие стремятся в Internet, чтобы использовать его коммуникации для доставки своей информации потребителю. С помощью такого рода механизмов по разграничению прав доступа удобно производить саморассылку информации на получение которой существует договор.

  Ограничения по IP адресам

  Доступ  к приватным документам можно  разрешить, либо наоборот запретить  используя IP адреса конкретных машин  или сеток, например:                              

   123.456.78.9                               

   123.456.79.

  В этом случае доступ будет разрешен (или запрещен в зависимости от контекста) для  машины с IP адресом 123.456.78.9 и для всех машин подсетки 123.456.79.

  Ограничения по идентификатору получателя

  Доступ  к приватным документам можно  разрешить, либо наоборот запретить  используя присвоенное имя и  пароль конкретному пользователю, причем пароль в явном виде нигде не хранится. 

  3.2 World wide web серверы и проблема  безопасности информации. 

  Среди WWW серверов отличаются отсутствием известных  проблем с безопаcностью  Netscape серверы, WN и apache.

  WN сервер.  

  Это свободно распространяемый сервер, доступный  для множества UNIX платформ. Основными  целями при его создании были безопасность и гибкость. WN сервер содержит в каждой директории маленькую базу данных (список) документов содержащихся в ней. Если документ не перечислен в базе данных, клиент получить его не может. Базы данных либо генерируется специальной  программой автоматически для всех файлов в дереве директорий, либо другой программой создаются из текстовых  описаний, которые создаются вручную. В эти файлы, кроме перечисления документов можно вставлять HTML текст, т.к это аналог index.html в этом сервере.  

  Администратору web узла разбираться в сгенерированных  файлах особой необходимости нет, но в принципе они аналогичны .cache файлам gopher. Сам сервер имеет разновидность  для одновременной обработки gopher и http запросов к одним и тем  же документам. 

  Безопасность  выполнения CGI приложений обеспечивается выставлением uid/gid для нужного файла  этой базы данных. Безо всякого программирования и особой настройки WN сервер обеспечивает 8 возможностей поиска внутри документов, имеет интерфейс к WAIS серверу. Вы можете включать одни документы внутрь других на серверной стороне (например стандартные сообщения вначале  и в конце документа ) Можете применять  фильтры к любому документу, для  получения необходимого документа  на выходе ( например подстановка слов ). Для обращения к документу  можно использовать URL типа <http://host/dir/foo;lines=20-30, чтобы получить строки с 20 по 30. Документация к серверу очень хорошая, устанавливается  он быстро, обнаруженные ошибки исправляются в течении нескольких дней. 

  Apache сервер - это свободно распространяемый WWW сервер для различных UNIX платформ  и Windows NT, один из самых популярных  в мире. Сейчас apache работает на 36 процентах от общего количества  всех HTTP серверов в мире. Это быстрый  и стабильный сервер. В сервер  можно встроить SSL протокол, рассмотренный  ниже на примере Netscape сервера.

  Netscape Enterprise сервер.

  Netscape Enterprise Server - это высокопроизводительный, защишенный World Wide Web сервер для создания, распространения,  публикации информации в Интернете  и выполнения сетевых интернетовских  приложений, используя средства, базирующиеся  на языках Java и JavaScript.

  Netscape FastTrack сервер.

  Netscape FastTrack сервер - это решение для тех,  кого не устраивает цена и  сложность Netscape Enterprise сервера. Он  прост в использовании, разработанного  чтобы позволить новичкам создавать  и администрировать WWW сервер. 

  Серверы Netscape имеют встроенные средства безопасности коммерческой информации и коммуникаций. Гибкая авторизация пользователя контролирует доступ к отдельным файлам и директориям, используя имя пользователя и  пароль, имя домена, имя машины, IP адрес, клиентские сертификаты (client-side certificates ), именованные группы. Дополнительные черты безопасности обеспечиваются протоколом Secure Socket Layer 3.0 (SSL 3.0) и механизмом открытых ключей. 

  SSL 3.0 - это  последняя версия широко распространенного  в Интернете стандарта, разработанного Netscape Communications corporation. 

  SSL протокол  обеспечивает конфиденциальность, целостность и аутентичность  информации. 

  Конфиденциальность  и целостность информации обеспечивается посредством шифрования с открытым ключом. Аутентификация обеспечивается посредством цифровых сертификатов, которые почти невозможно подделать. Сертификат необходимо получать от третьей  стороны, которой обе стороны  доверяют.

  SSL протокол - это схема шифрования низкого  уровня, используемая для шифрования  транзакций в протоколах высокого  уровня, таких как HTTP, NNTP и FTP. SSL протокол содержит методы для  идентификации сервера для клиента,  шифрование данных при передаче  и дополнительно, верификации  клиента для сервера. Из коммерческих  систем SSL протокол сейчас реализован  в Netscape навигаторах и Netscape серверах. ( Реализованы шифрование данных  и авторизация сервера, авторизация  клиента нет). 

  Существует  также свободно распространяемая версия SSL, называемая SSLeay. Она содержит исходный код на C, который может быть встроен  в такие приложения, как Telnet и FTP. Поддерживаются также свободно распространяемые Unix Web серверы Apache и NCSA httpd и несколько Web клиентов, включая Mosaic. Этот пакет  может быть использован бесплатно  для коммерческих и некоммерческих приложений.

  Механизм  открытых ключей обеспечивает шифрование данных при помощи открытого ключа(public key). В традиционных системах шифрования один и тот же ключ использовался  для шифрования и дешифрования. В  новом открытом или асимметричных  системах шифрования ключи идут парами: один ключ используется для кодирования, другой для декодирования. Один из этих ключей, называемый открытым ключом, свободно распространяемый и используется для  кодирования сообщений. Другой ключ, называемый личным ключом (private key) засекречен и используется для декодирования  поступающего сообщения. В этой системе  пользователь, посылающий сообщение  второму пользователю может зашифровать  сообщение открытым ключом второго  пользователя. 

  Сообщение может дешифровано владельцем секретного личного ключа второго пользователя. Эта система может быть использована для создания неподделываемых цифровых подписей. В Netscape Enterprise Server администраторы могут динамически изменять ключи  для сервера, что позволяет оперативно изменять политику авторизации. 

  Netscape серверы  и навигаторы осуществляют шифрование  используя или 40-битный ключ  или 128-битный ключ. В принципе  можно взломать 40-битный ключ, перебирая  каждую возможную комбинацию ( всего  2^40 ) пока Вы не обнаружите, что сообщение расшифровано. Взломать 128 битный ключ практически нереально. 

  3.3.Java, JavaScript и проблема безопасности. 

  Java и JavaScript - это тот раздел безопасности Web, который касается не администраторов  и создателей Web серверов, а пользователей  и администраторов пользовательских  сетей. 

  Несмотря  на сходство в именах Java и JavaScript это  две различных продукта. Java - это  язык программирования разработанный SunSoft. Java программы прекомпилируются в компактную форму и хранятся на сервере. HTML документы могут ссылаться  на миниприложения, называемые Java аплетами. WWW клиенты, которые поддерживают Java апплеты, загружают откомпилированные Java приложения и выполняют их на машине клиента. JavaScript это набор  расширений к HTML, интерпретируемых WWW клиентом. В принципе, несмотря на то что JavaScript имеет более длинную историю  проблем, связанных с безопасностью, хакерская программа на Java может  активно и успешно вывести  пользовательскую систему из строя, про JavaScript до сих пор известны только случаи передачи конфиденциальной информации клиента на Web сервер. Java апплеты  выполняются на клиентской стороне, а не на серверной, и поэтому увеличивают  риск атаки со стороны сервера. Нужно  ли беспокоится об этом ? 

  В Java встроены средства для ограничения доступа  к клиентской машине. Апплетам не разрешается  выполнять системные команды, загружать  системные библиотеки, или открывать  системные устройства, такие как  диски. Апплетам, в зависимости от WWW клиента или запрещены все  дисковые операции ( Netscape ), или почти  все ( HotJava ).Апплетам разрешается устанавливать  соединение по сети только к серверу, откуда аплет был загружен. Но Drew Dean ( ddean@cs.princenton.edu ) обнаружил, что можно  написать апплет, который будет устанавливать  соединение к любому компьютеру в  интернете, то есть аплет из Интернета, загруженный на вашу локальную машину WWW клиентом может подсоединиться по TCP/IP к любой машине на вашей локальной  сети, даже если она защищена через firewall. Эта проблема связана с тем, что Java выполняет верификацию для  соединения через Domain.

  Name System (DNS). Взломщик используя свой собственный  DNS сервер может создать некорректную  ссылку в DNS, чтобы заставить  Java систему считать, что апплету  разрешено соединение с компьютером  к которому у него нет права  подсоединяться. Ошибка была исправлена  в Netscape навигаторе 2.01 и JDK 1.0.1. 

  David Hopwood обнаружил,  что загружая апплеты с 2 разных WWW серверов хэкер может нарушить  пространство имен Java Virtual Machine. Это  позволяет преобразовывать типы  переменных друг в друга, преобразовывать  целые в ссылки и т.д. В  результате апплет может читать  и писать локальные файлы, выполнять  машинный код. Безо всяких проблем  в UNIX может быть создан файл .rhosts. Эта ошибка проявляется, как минимум на HotJava, код может быть написан целиком на Java и быть платформонезависимым.

Информация о работе Защита Web-серверов