Глава 9. TCP/IP Firewall

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

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

Самый безопасный способ избежать такого широко распространенного явления состоит в том, чтобы предотвратить получение несанкционированного сетевого доступа к машине. Именно этим занимается firewall.

Предупреждение

Построение безопасного firewall является искусством. Это включает хорошее понимание технологии, но одинаково важно понимание философии проектов firewall. Я при всем желании не смогу изложить в этой книге все по этому вопросу: он слишком велик. Возможно, когда-нибудь я посвящу ему отдельную книгу. Я настоятельно рекомендую ознакомиться с дополнительной литературой по этому вопросу.

Увы, на русском языке такой литературы до обидного мало. Есть очень хорошие книги на английском и, возможно, они со временем выйдут и на русском. Назову основные:

Building Internet Firewalls

Авторы: D. Chapman и E. Zwicky (издательство O'Reilly). Это полная энциклопедия по созданию и использованию firewall для Unix, Linux и даже Windows NT. Рассмотрены также вопросы о том, как настроить службы Internet для работы через firewall.

Firewalls and Internet Security

Авторы: W. Cheswick и S. Bellovin (издательство Addison Wesley). Книга скорее о философии построения firewall, чем о конкретных программах, но в ней есть немало ценного по реализации этой философии.

В этой главе я ориентируюсь на специфичные для Linux технические проблемы и методы. В конце главы я приведу пример конфигурации firewall, который является неплохой базой для Ваших опытов.

Методы атаки

Важно, что Вы, как сетевой администратор, понимали характер потенциальных нападений на компьютерную защиту. Я кратко опишу наиболее важные типы нападений так, чтобы Вы могли лучше понимать, против чего точно Linux IP firewall защитит Вас, а против чего нет. Для основных путей нападения есть стандартные методы защиты, о них я тоже расскажу.

Несанкционированный доступ

Это значит, что к Вашим системам подключается тот, кому делать этого не следует. Например, кто-то пытается смонтировать Ваши каталоги NFS.

Имеются различные способы избежать этого нападения. Тщательно определяя, кто может получать доступ через эти услуги, Вы можете предотвращать сетевой доступ кого угодно, за исключением допущенных пользователей.

Эксплуатация известных слабостей в программах

Некоторые программы и сетевые услуги первоначально не были разработаны с сильной защитой. Пример этого: BSD remote services (rlogin, rexec и другие r-сервисы). Термин "эксплойт" появился как раз из этого вида атак.

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

Denial of service

Так называемые Denial of service attacks (атаки отрицания обслуживания) заставляют сервис или программу перестать работать или не дают другим их использовать. Они могут выполняться в сетевом уровне, посылкой тщательно подготовленных пакетов, которые сервис обработать не сможет. Они могут также выполняться в уровне прикладной программы, где тщательно подготовленные команды должны перегрузить избранный сервис.

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

Spoofing

Этот тип нападения заставляет компьютер или прикладную программу работать не так, как от него ожидается. Например, во многих защитах используется проверка по IP-адресу. Вражеский компьютер прекрасно может выдать себя за машину с правильным адресом, что позволит пакетам с него проникнуть в Вашу систему. Например, такой тактики придерживается хорошо известный эксплойт для сервиса BSD rlogin.

Защита против этого типа атак проста: надо тщательно отслеживать, откуда на самом деле пришел пакет, и соответствует ли его внутренняя информация тому окружению, которое ему сопутствует.

Eavesdropping

Это самый простой тип нападения. Некий компьютер сконфигурирован так, чтобы "слушать" и собирать данные, не принадлежащие ему. Грамотно написанный шпион может получить имя пользователя и его пароль для входа в систему. Широковещательные сети, например Ethernet, очень подвержены этой атаке, ведь в них все пакеты проходят через все машины в сети, а выбором нужных ей пакетов занимается каждая конкретная машина.

Здесь помогает шифрование трафика.

IP firewall очень полезен в предотвращении или уменьшении несанкционированного доступа, атак отрицания обслуживания и IP spoofing. Он не очень полезен в уходе от эксплуатации слабостей в сетевых сервисах или программах, а также при защите от подслушивания.