Реферат: Защита информации в Internet
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 ( [email protected] ) обнаружил, что можно написать апплет, который будет устанавливать соединение к любому компьютеру в интернете, то есть аплет из Интернета, загруженный на вашу локальную машину 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 и быть платформонезависимым.
В настоящих версиях Java возможны трюки с вызовом конструктора суперкласса, в результате чего этот вызов может быть пропущен. Это связано с алгоритмом, который сейчас использует интерпретатор Java. Возможные пути для этого:
-super внутри try.
-super внутри if.
-cathcer/thrower.
JavaScript - это встроен в Netscape навигатор. Периодически в Netscape навигаторе обнаруживались проблемы с безопасностью в связи с JavaScript, которые Netscape периодически устраняет в новых версиях навигатора. Andy Augustine в своем JavaScript FAQ описывает следующие проблемы: 1)Чтение пользовательской истории URL - исправлено в Netscape 2.0.
2)Чтение пользовательского кэша URL - исправлено в Netscape 2.0.
3)Чтение пользовательского e-mail адреса и передача его по Интернету исправлено в Netscape 2.01.
4)Получение рекурсивного оглавления файловой системы - исправлено в Netscape 2.01.
5)Открытие окна размером 1 пиксел, получение URL открытых документов и передача их удаленному серверу. Эта общая проблема сетевых графических систем, имеющая длинную историю. Пользователи x-windows, которые запускают команду `xhost +` без аргументов могут столкнуться с чужим невидимым окошком, которое передает ввод пользователя по Интернету хакеру.