Руководство по компьютерной безопасности для начинающих
Майкл Дж. Димариа
🕛 28.05.2007, 16:41
Вообразите: вы заперли машину в гараже, а у нее вдруг загорелся мотор. Если между гаражом и домом имеется пожароустойчивая стена или некая буферная зона, то теоретически ваш дом в безопасности. Это же самое можно сказать и в отношении сетей. Интернет является рассадником всяческих угроз, где постоянно рыщут взломщики в поисках уязвимых систем. Межсетевые экраны (МЭ) и демилитаризованные зоны (ДМЗ) дают вам возможность контролировать сетевой трафик, предоставляя вашим пользователям доступ в Интернет, но нейтрализуя взломщиков - опять-таки теоретически. Проблема в том, что ваши межсетевые экраны и демилитаризованные зоны должны быть правильно настроены. Кажется, просто, и если вы опытный администратор, то, возможно, так оно и есть. Но не всякий служащий, в чьи обязанности входит защита корпоративной сети, владеет этим искусством. Наш вводный курс предназначен именно для таких не очень искушенных администраторов.
Детка, позволь мне войти
Все, что обеспечивает любой МЭ, - это управление доступом. Вы создаете набор правил, описывающих, какие порты должны быть открыты, какие запрещены и какие IP-адреса или сети целиком заблокированы. Межсетевой экран на границе вашей сети будет эффективно функционировать только при условии правильной его настройки. И не забудьте о внутреннем трафике: МЭ контролируют не только соединения с Интернет - их используют и для управления доступом пользователей из одной части корпоративной сети в другую. Никогда не знаешь - может быть, вон тот безобидный с виду практикант сейчас пытается изнутри взломать вашу платежную БД.
Существует три вида межсетевых экранов. Каждый из них имеет свои преимущества и недостатки с точки зрения безопасности и производительности.
МЭ с фильтрацией пакетов
Самый простой МЭ представляет собой фильтр пакетов. Такие МЭ часто встраивают в маршрутизаторы, широкополосные модемы, устройства NAT, коммутаторы и другие сетевые устройства. Это связано с тем, что такие МЭ просты в разработке и требуют минимума ресурсов ЦПУ и памяти. Фильтры проверяют все пакеты подряд, информация о предыдущих пакетах никак не учитывается. Каждый пакет проверяется на соответствие заданному набору правил. Обычно правила основываются на адресе и номере порта источника или на адресе и номере порта назначения. Некоторые МЭ позволяют просматривать флаги TCP, в частности SYN, но это может вас быстро утомить, особенно если вы должны делать это вручную. Относящиеся к данному виду МЭ полезны в тех случаях, когда надо отфильтровать трафик определенного типа. Так, если вы хотите, чтобы трафик SNMP или NetBIOS никогда не проходил через ваш пограничный маршрутизатор, используйте фильтр пакетов.
Однако фильтры пакетов имеют несколько существенных недостатков. Их можно "ввести в заблуждение" с помощью подмены IP-адресов. Они "не видят" порядковых номеров пакетов TCP, и хуже всего то, что они не могут определить, откуда инициируется соединение - снаружи или изнутри. Кто угодно снаружи может послать пакеты с указанием обычного порта источника с номером, например 53 (DNS) или 80 (HTTP), и с успехом сосканировать всю внутреннюю сеть.
МЭ с сохранением информации о соединениях
МЭ с фильтрацией пакетов и сохранением информации о соединениях (Stateful Packet Filter Firewall) являются "усиленным" вариантом простых пакетных фильтров. Они поддерживают таблицы, хранящие информацию о состоянии каждого соединения, и таким образом могут определить, когда имели место его начало, подтверждение и окончание. С точки зрения безопасности это намного лучше обычного пакетного фильтра, потому что такой МЭ может блокировать пакеты с нарушенными порядковыми номерами и защитить от подмены IP-адресов. Взломщики также не смогут засылать вам фальшивые пакеты, якобы относящиеся к существующим соединениям, а вы имеете возможность, используя всего одно правило, отклонять все входящие пакеты синхронизации и не очень-то волноваться по поводу возможных попыток злоумышленников сканировать вашу сеть или подключаться к ней с помощью обычных методов подмены IP-адресов. Недостатком такого МЭ является то, что он требует значительных ресурсов ЦПУ и памяти. С увеличением числа соединений требования к ресурсам также возрастают. При тестировании пропускной способности таких МЭ недостаточно измерять только число пакетов в секунду - необходимо проводить испытания в условиях одновременного подключения большого числа пользователей или на Web-узлах с интенсивным трафиком. МЭ, который прекрасно работает с небольшим числом пользователей, может оказаться совершенно непригодным для работы с несколькими тысячами пользователей.
МЭ на базе сервера-посредника
В целом МЭ этого типа обеспечивают наибольшую безопасность, поскольку обеспечивают соблюдение протокола. А вот производительность - их "ахиллесова пята". Имеется две разновидности МЭ данного типа: МЭ, ориентированные на конкретные протоколы, в частности HTTP или SMTP, и МЭ общего назначения. Последние защищают от IP-атак, например с применением фрагментации пакетов или подмены IP-адресов, но не дают никакого преимущества по сравнению с МЭ типа stateful в случае атаки, нацеленной на конкретный протокол.
При использовании МЭ на базе сервера-посредника клиент и сервер не имеют прямого канала между собой. Для сервера МЭ выступает как клиент, а для клиента - как сервер.
То есть МЭ в данном случае действительно является посредником в обмене сообщениями между клиентом и сервером.
Посредники, ориентированные на конкретные прикладные протоколы, могут инспектировать трафик вплоть до уровня 7, проверять корректность HTTP-трафика и обнаруживать атаки, в частности атаки с переполнением буфера. Но не все посредники одинаково "интеллектуальны". Обычно они работают только на уровне протокола, а не целиком на прикладном уровне, и при проверке всего лишь синтаксиса протокола враждебная "полезная нагрузка" тем не менее может проникнуть внутрь вашей сети. Такие МЭ обычно также бывают узкоспециализированными, поддерживающими ограниченный набор протоколов. Другой их проблемой, как уже говорилось, является производительность. Некоторым организациям может понадобиться и более одного специализированного МЭ на базе сервера-посредника для обработки HTTP- или FTP-трафика и МЭ типа stateful для защиты периметра.
Преступный умысел
Иногда администрирование МЭ поручают специалисту хотя и опытному по части установки маршрутизаторов и коммутаторов, но не искушенному в поиске "дыр" в сети. После установки МЭ и блокирования входящих SYN-пакетов он, возможно, решит, что дело сделано. Но будет ли при этом сеть в безопасности? Едва ли. Ему следует ограничить исходящие соединения определенными протоколами и портами, потому что, например, "троянские кони" связываются с "хозяином" через серверы IRC (Internet Relay Chat). Если ваш
МЭ "разрешает" исходящие соединения только для протоколов HTTP, SMTP и DNS, то эти враждебные программы не причинят вреда.
Учтите, однако, что боўльшая часть трафика - как легитимного, так и враждебного - идет через порт 80. Так, WebDAV (Web-based Distributed Authoring and Versioning) - это протокол, который среди прочего позволяет удаленно монтировать жесткие диски. Компания Apple, сообщая о включении поддержки WebDAV в Mac OS X, особенно рекламировала возможность работы "сквозь" МЭ.
Дефектом защиты может стать наличие "дыр" в сети, позволяющих "обойти" МЭ. Этим часто "грешат" модемы, обеспечивающие доступ в сеть по коммутируемым линиям.
В некоторых организациях компьютер с модемом в ЛВС рассматривают как угрозу безопасности и требуют немедленного его отключения. Хотя возможность связаться из дома с устройством сетевого мониторинга, чтобы выяснить, почему в офисе, скажем, перестало работать соединение с Интернет, с точки зрения администратора, удобна, именно она позволит атакующему получить доступ в ЛВС, если он угадает пароль. Вот почему вам следует установить внутренние МЭ: самая большая опасность может угрожать вашей сети изнутри - либо от "чужака", атакующего ее через модем, либо от не заслуживающего доверия служащего.
МЭ уровня сети оказываются неэффективными, если в действие вступает "враждебный код". Сам по себе такой МЭ не способен определить, является ли трафик легитимным или нет. Но персональные МЭ, контролирующие IP-стек операционной системы, могут вести мониторинг трафика более тщательно.
В отличие от аппаратных у персональных МЭ открытый и закрытый интерфейсы не разделены физически. ПО персонального МЭ перехватывает пакеты до их отправления через сетевой интерфейс и до передачи входящих пакетов приложению.
Существуют "троянские кони", единственной целью которых является сканирование вводимых с клавиатуры символов и передача этой информации по электронной почте взломщику или распространение ее по каналам IRC. Не всем "троянцам" необходимо дожидаться входящих соединений, некоторые из них сами инициируют контакт с внешним хостом, используя обычный трафик, такой, как HTTP. Преимущество персональных МЭ в такой ситуации состоит в том, что они могут отслеживать, какое приложение отправляет данные, лучшие же из них позволяют устанавливать правила для портов и приложений. Вы можете, к примеру, разрешить посылать данные через порт 80 только программам Microsoft Internet Explorer и Netscape. Помните, однако, что персональные МЭ не способны удалять "троянцев", да и вирусы тоже представляют угрозу, поэтому вам необходимо еще и антивирусное ПО.
Стой! Кто идет?
Предположим, у вас имеется общедоступный Web-сервер, подключенный прямо к корпоративной ЛВС, а входящие соединения блокируются для всех машин, за исключением Web-сервера. Кажется, все хорошо, но только до той поры, пока кто-нибудь не взломает Web-сервер. Тогда взломщику доступ в вашу ЛВС открыт.
Вот здесь-то и пора вспомнить про ДМЗ. Согласно военной терминологии, демилитаризованная зона представляет собой некий буфер между двумя конфликтующими сторонами, создаваемый третьей стороной с целью их разъединения. В ИТ термином ДМЗ обозначается нейтральная зона, защищающая уязвимые хост или сеть. При этом у вас имеется общедоступная сеть (Интернет), внутренняя сеть, которую вы хотите защитить, и сеть ДМЗ, доступная из Интернет. В МЭ с функцией ДМЗ для этих целей предусмотрен третий сетевой интерфейс. Вы можете иметь несколько зон в зависимости от возможностей и числа интерфейсов вашего МЭ. Ограничивая входящий и исходящий трафик ДМЗ, вы тем самым делаете проникновение сквозь МЭ более сложным.
Установка ДМЗ
В теории вам хотелось бы, чтобы внешний пользователь никогда не имел прямого доступа к закрытым внутренним ресурсам, поэтому ДМЗ должна представлять собой, так сказать, "полупубличную" зону. ДМЗ может иметь лишь исключительно жестко контролируемые соединения с корпоративной ЛВС, чтобы в случае взлома вашего Web-узла злоумышленник не мог получить доступ к корпоративной информации.
Иногда обеспечить жесткое разделение бывает почти невозможно. Если вам понадобится, чтобы ваш Web-сервер связывался с внутренней СУБД, расположенной в ЛВС, знайте, что это открывает путь для проникновения в ЛВС из Интернет через ДМЗ. Никогда не стоит рассчитывать на то, что атакующий не знает, какова архитектура вашей сети. Запретите всем удаленным пользователям доступ за пределы ДМЗ, ограничьте доступ к страницам ввода данных. Помните: все удаленные пользователи являются внешними. Это означает, что вы не должны доверять им. Кроме того, убедитесь, что все хосты в ДМЗ защищены. Сделайте приложения безопасными настолько, насколько это возможно; установки по умолчанию далеко не всегда достаточно хороши для этого. И наконец, проверяйте почаще системные журналы на предмет выявления подозрительных намерений - ДМЗ может только затруднить, но не полностью защитить от проникновения взломщика в вашу сеть.
Задача защиты вашей сети не имеет ничего общего с задачами типа "сделай и забудь". Злоумышленники днями и ночами изобретают методы проникновения в вашу сеть. Перефразируя слова ирландского оратора Джона Филпота Каррэна: "Вечная бдительность - вот цена свободы", мы добавляем от себя: "...и безопасности".