Брандмауэры и специальное программное обеспечение 8 Часть 4

Вид материалаРеферат
Подобный материал:
1   ...   82   83   84   85   86   87   88   89   ...   101

Заключение


В данной главе вы узнали о том, как осуществляется конфигурирование и компоновка сервера Apache-1.3.9 с поддержкой SSL и РНРЗ. Вы также узнали о том, как выполняется настройка Apache. Я рассказал вам о некоторых рискованных с точки зрения безопасности конфигурациях. Напомню некоторые опасные варианты конфигурации:

- защищенный и незащищенный каталоги DocumentRoot совпадают;

- там, где необходимо использовать вложение файлов, вместо IndudesNOEXEC используется просто Includes;

- там, где необходимо использовать символические ссылки, вместо SymLinksIfOwnerMatch используется FollowSymLinks;

- пренебрежение использованием безопасных CGI-каталогов, определяемых при помощи объявления ScriptAlias;

- использование выражений , которые перекрывают собой конфигурацию, заданную при помощи выражений и ;

- использование небезопасной директивы ExecCGI;

- использование директивы Alias, которая делает доступным для внешних клиентов корневой каталог вашей системы;

- отказ от использования директивы AllowOverride AuthConfig и файлов .htaccess для обеспечения более надежной защиты важных областей вашего web-сервера;

- отказ от отключения домашнего каталога пользователя root;

- отказ от использования выражения Directory, запрещающего доступ к каталогу «/».

Я также рассказал о демоне уровня ядра khttpd, который в состоянии обслуживать простые запросы HTTP и который будет включен в состав ядра Linux 2.4.x.

21Использование оболочки Secure Shell и сетей VPN

В данной главе рассматриваются следующие вопросы:

- что такое Secure Shell (SSH);

- компоновка и установка SSH;

- конфигурирование SSH;

- использование SSH;

- что такое FreeS/WAN;

- компоновка и установка FreeS/WAN;

- конфигурирование FreeS/WAN;

- расширение сети WAN;

- что такое OpenSSH.

Одной из наиболее сложных с точки зрения безопасности проблем, с которыми сталкиваются в наше время пользователи и сетевые администраторы, является обеспечение безопасного способа удаленного доступа к расположенным дома или в офисе системам. Сам по себе удаленный доступ к таким системам не является проблемой. В состав каждой системы Linux входят клиент и сервер telnet. Однако использование telnet означает, что имя пользователя и пароль передаются через канал связи в незашифрованном виде. Это обстоятельство не является проблемой в случае, если для передачи данных используется выделенная телефонная линия. Однако если данные передаются далее, за сервер, который обеспечивает соединение между телефонной линией и Интернетом, любой пользователь tcpdump или какой-либо другой утилиты, прослушивающей сеть, сможет перехватить пользовательское имя и пароль.

Чтобы иметь возможность в любой точке страны получать электронную почту, многие путешественники пользуются услугами общенациональных интернет-провайдеров, которые во многих городах обеспечивают защищенный доступ к почтовым ящикам своих клиентов с использованием локальной телефонной сети. Если же использовать подобное соединение для доступа к домашней или офисной сети, данные могут передаваться через множество различных сетей, и каждый, кто обладает доступом к этим сетям, сможет перехватить передаваемые через сеть пакеты. Пакет содержит имя пользователя и пароль, а в заголовке пакета указывается адрес назначения. Обладая подобными данными, даже ребенок, мечтающий стать хакером, сможет проникнуть в чужую систему. Именно по этой причине в системе OpenLinux по умолчанию пользователь root не имеет права удаленного подключения к системе. Недостаток данного подхода заключается в том, что пользователь может подключиться к системе, используя непривилегированную учетную запись, а затем при помощи su получить привилегии root — фактически это то же самое, что и удаленное подключение с использованием учетной записи root

Однако если подключение к системе осуществляется с использованием шифруемого соединения, получение пользовательского имени и пароля из перехваченных пакетов становится фактически невозможным. При этом для того, чтобы «вставить» себя между вами и вашим сервером и реализовать так называемую атаку man-in-the-middle (человек в середине), злоумышленник должен будет приложить немалые весьма нетривиальные усилия. Атака подобного рода является достаточно сложной, ее сможет реализовать только хорошо подготовленный, обладающий немалыми знаниями взломщик.

В рабочей среде Linux существует множество инструментов и программ, которые позволяют организовать безопасный обмен данными между системами. Мы с вами уже рассмотрели один из подобных механизмов в прошлой главе, где речь шла о web-сервере Apache, обладающем поддержкой технологии SSL. Конечно, подобное решение может оказаться несколько ограничивающим, однако пользователи могут запускать защищенные с использованием SSL web-серверы, связанные с непривилегированными портами с использованием файлов .htaccess для того, чтобы просматривать и загружать (через HTTP или FTP) документы, расположенные в их домашних каталогах.

Однако чтобы наделить пользователей более широкими возможностями, а именно позволить им работать с системой так, как они работают с ней при помощи telnet (то есть работать с системой через сеть фактически так же, как будто они работают с локальной консолью), вам потребуется некий эквивалент telnet. В последующих разделах я расскажу о двух альтернативных способах организации такого взаимодействия с учетом требований безопасности. Первый способ основан на использовании программы под названием Secure Shell (SSH), а второй предусматривает создание полноценной виртуальной частной сети (Virtual Private Network, VPN) с использованием программного средства FreeS/WAN.

Как уже отмечалось в предыдущей главе, на прилагаемом к данной книге компакт-диске вы не найдете ни одного из этих программных продуктов. Это сделано для того, чтобы избежать нарушения действующих в США ограничений на экспорт кодирующих технологий. Следует отметить, что любой системный администратор, который работает на уровне привилегий root через незащищенную сеть и не использует эти программные средства, периодически будет иметь дело с несанкционированным проникновением в подконтрольные ему системы. Чтобы избежать этого, необходимо в обязательном порядке организовать должную защиту передаваемых через сеть данных с использованием одного из двух упомянутых средств. Программы можно получить по следующим адресам: ftp://ftp.cs.hut.fi/ pub/ssh/ssh-1.2.27.tar.gz и ftp://ftp.xs4all.nI/pub/crypto/freeswan/freeswan-l.l.tar.gz.