Брандмауэры
Сеть — источник полезной и интересной информации. Но Всемирная паутина может быть довольно опасной — мы постоянно слышим о взломах корпоративных сетей и о краже банковских счетов. Неплохой преградой на пути хакеров являются брандмауэры — программы, которые блокируют несанкционированную передачу информации по Сети и препятствуют запуску вредоносных программ.
Мало кто сегодня не слышал об угрозах, существующих в виртуальном пространстве. Пока еще остается непреложным тот факт, что компьютер, подсоединенный к сети Интернет, может подвергнуться реальным атакам. К сожалению, нередко встречаются неадекватные или незаконопослушные люди (часто в одном лице), патологически не способные существовать без того, чтобы не портить жизнь другим. Тех из них, которые разбираются в компьютерах и знают, как получить удаленный доступ к файлам, называют хакерами. Чтобы защититься от них, нам прежде всего нужен хороший брандмауэр.
Перечислим основные опасности, существующие в Сети:
- Приложения-нарушители могут «поселиться» и запускаться на вашем компьютере незаметно для вас (например, ActiveX или Java-апплеты, внедренные в web-страницу, которую вы просматриваете). Эти приложения могут выполнить любую операцию на вашем компьютере, в том числе переслать файлы с вашей частной информацией другим компьютерам или вообще удалить данные из вашей системы.
- При неправильной настройке системы другие компьютеры могут получить доступ к вашим файлам напрямую, без загрузки специального программного обеспечения.
- Некоторые виды информации (cookies или referrers) могут быть размещены на вашем компьютере таким образом, что заинтересованные лица смогут следить за вашими действиями в Сети и будут знать о ваших интересах.
- Троянские кони также представляют угрозу компьютеру. «Троянцы» — это программы, используемые хакерами, которые раскрывают вашу частную информацию (пароли, реквизиты, номера кредитных карт). Одно из главных различий между «троянцем» и вирусом — это то, что вирус действует на компьютере автономно, а троянский конь напрямую управляется взломщиком из Сети.
- Интернет-черви обычно проникают в компьютер вместе с почтой, в виде вложений. Некоторые почтовые программы открывают вложения самостоятельно. Неопытные пользователи, не осознавая угрозы, открывают вложения сами. Если открыть такое послание хотя бы один раз, то выполняющийся «червь» начнет стремительно поражать систему.
- Масса ненужного трафика в виде баннеров и сообщений снижает пропускную способность компьютера. Хотя эти объекты не могут нанести прямой вред данным, они значительно замедляют скорость соединения, особенно осуществленного посредством телефонной линии.
- Шпионские программы во многом похожи на «троянцев». Они собирают сведения о ваших интересах (посещаемые сайты, установленное программное обеспечение и т.д.) без вашего ведома и согласия.
В настоящее время большинство локальных вычислительных сетей (ЛВС) подключены к сети Интернет. Однако отсутствие эффективных средств защиты информации в существующих сетевых протоколах приводит к различным нарушениям целостности передаваемых данных. Поэтому расширение спектра и повышение требований к уровню конфиденциальности сетевых приложений обусловливает необходимость использования специальных технических средств разграничения доступа к информационным ресурсам и контроля обмена данными между различными компьютерными сетями.
В качестве таких средств защиты широко применяются межсетевые экраны, называемые в англоязычной литературе firewall.
Общее описание брандмауэров
Брандмауэр (firewall, межсетевой экран) — это система, позволяющая разделить сеть на две или более частей и реализовать набор правил, определяющих условия прохождения информации из одной части в другую. Брандмауэры представляют собой целый класс систем, порой сопоставимых по сложности с операционной системой. Классифицировать их можно по исполнению: программные, аппаратные и смешанного типа (аппаратно-программного); по компонентной модели: локальные (работающие на одном хосте) и распределенные (distributed firewall). Однако самой «полезной» является классификация с точки зрения уровня, на котором функционируют брандмауэры: пакетный уровень, прикладной, уровень соединения.
Разбивка на уровни является условной, что подразумевает возможность работы отдельно взятого брандмауэра более чем на одном уровне одновременно. Можно сказать, что практически все современные брандмауэры функционируют сразу на нескольких уровнях, стремясь расширить функциональность и максимально использовать преимущества работы по той или иной схеме. Такая технология получила название Stateful Inspection, а брандмауэры, работающие по смешанной схеме, называются Stateful Inspection Firewall.
Пакетный уровень
Работа на пакетном уровне заключается в фильтрации пакетов. Решение о том, пропускать данный пакет или нет, принимается на основе следующей информации: IP-адреса, номера портов отправителя и получателя, флаги. По сути, задача администратора сводится к составлению простенькой таблицы, на основании которой осуществляется фильтрация.
Преимущества пакетного уровня:
- низкая стоимость;
- высокая производительность.
Недостатки:
- сложность конфигурирования и поддержки;
- отсутствие дополнительных возможностей;
- рухнувшая сеть остается открытой (не защищенной);
- не защищены от фальсификации IP- и DNS-адреса.
Прикладной уровень
Фильтрация на уровне пакетов, конечно, очень проста, но нередко ее бывает явно недостаточно. Информации сетевого и транспортного уровня модели OSI иногда не хватает для эффективной работы, что обусловливает существование систем, работающих на самом верхнем уровне — прикладном. Фактически брандмауэры данного уровня предоставляют собой несколько отдельных подсистем (так называемых application gateways — серверов прикладного уровня), по числу обслуживаемых сервисов. Между пользовательским процессом и нужным сервисом возникает посредник, пропускающий через себя весь трафик и принимающий в рамках установленной политики безопасности решение о его легитимности.
Как правило, современные брандмауэры поддерживают практически весь спектр существующих сервисов — HTTP, FTP, SMTP, POP3, IMAP, Telnet, Gopher, Wais, Finger, News, — позволяя либо полностью блокировать тот или иной сервис, либо же ввести некоторые ограничения.
Такая схема работы обеспечивает ряд дополнительных возможностей в области безопасности: во-первых, маскируется структура защищаемой сети; во-вторых, появляется возможность более гибко управлять доступом — например через предоставление разных прав отдельным категориям пользователей и т.д.
Преимущества прикладного уровня:
- маскировка защищаемой сети;
- широкие возможности (усиленная аутентификация, детальное протоколирование);
- рухнувшая сеть остается заблокированной (защищенной).
Недостатки:
- высокая стоимость;
- низкая производительность.
Уровень соединения
Шлюз на уровне соединения представляет собой систему, транслирующую соединения вовне. При установлении доступа пользовательский процесс соединяется с брандмауэром, который, в свою очередь, самостоятельно устанавливает соединение с внешним узлом. Во время работы брандмауэр просто копирует входящую/исходящую информацию. По большому счету данный шлюз надо рассматривать не как самостоятельный и самодостаточный механизм, а лишь как специфическое решение некоторых задач (например, для работы с нестандартными протоколами, если необходимо создать систему сбора статистики для какого-то необычного сервиса, предоставить доступ только к определенным внешним адресам, осуществить базовый мониторинг и т. д.).
К сожалению (или к счастью), уже существуют системы, специально предназначенные для обхода такого рода ограничений. Примером может служить программный комплекс AntiFirewall от iNetPrivacy Software. Он позволяет общаться посредством ICQ или IRC, использовать FTP и Usenet, забирать почту с внешних серверов POP3 и IMAP (возможность отправки не предоставляется). Способ обхода незатейлив: трафик туннелируется в протокол HTTP (который, как правило, не блокируется), а конвертация происходит на внешних прокси-серверах, которые устанавливают соединения с необходимыми службами по соответствующим протоколам. Такая схема также дополнительно предоставляет следующую возможность: IP-адрес пользователя маскируется, обеспечивая определенную анонимность.
Функции брандмауэров
Идеальный персональный брандмауэр должен выполнять шесть функций:
- Блокировка внешних атак В идеале брандмауэр должен блокировать все известные типы атак, включая сканирование портов, IP-спуффинг, DoS и DDoS, подбор паролей и пр.
- Блокировка утечки информации Даже если вредоносный код проник в компьютер (не обязательно через сеть, а, например, в виде вируса на купленном пиратском CD), брандмауэр должен предотвратить утечку информации, заблокировав вирусу выход в сеть.
- Контроль приложений Неизбежное наличие открытых дверей (то есть открытых портов) является одним из самых скользких мест в блокировке утечки информации, а один из самых надежных способов воспрепятствовать проникновению вирусов через эти двери — контроль приложений, запрашивающих разрешение на доступ. Кроме банальной проверки по имени файла, весьма желательна проверка аутентичности приложения.
- Поддержка зональной защиты Работа в локальной сети часто подразумевает практически полное доверие к локальному контенту. Это открывает уникальные возможности по использованию новейших (и, как правило, потенциально опасных) технологий. В то же время уровень доверия к Интернет-контенту значительно ниже, а значит, необходим дифференцируемый подход к анализу опасности того или иного содержания.
- Протоколирование и предупреждение Брандмауэр должен собирать строго необходимый объем информации. Избыток (равно как и недостаток) сведений недопустим. Возможность настройки файлов регистрации и указания причин для привлечения внимания пользователя приветствуются.
- Максимально прозрачная работа Эффективность и применяемость системы часто обратно пропорциональны сложности ее настройки, администрирования и сопровождения. Несмотря на традиционный скепсис в отношении «мастеров» (wizards) по настройке и прочих буржуйских штучек, даже опытные администраторы не пренебрегают ими просто в целях экономии времени.
Недостатки брандмауэров
Нельзя забывать и об обратной стороне медали, о недостатках, причем не отдельных решений, а всей технологии в целом.
Разрозненность систем защиты
Это одна из самых важных проблем, решить которую пытаются немало поставщиков, но пока без особого успеха. Во многих брандмауэрах отсутствует защита от саботажа со стороны авторизованных пользователей. Этот вопрос можно рассматривать с этической, социальной или любой другой точки зрения, но сути дела это не меняет — брандмауэры не способны запретить авторизованному пользователю украсть (передать вовне, уничтожить, модифицировать) важную информацию. И хотя уже давно существуют другие решения (например, разграничение доступа и пр.), проблема заключается в разрозненности всех подобных систем, которые по сути должны выполнять одну и ту же функцию. Пока антивирусные программы, системы обнаружения вторжений, разграничения доступа и др. не получат единого центра управления, эффективность каждой из них можно смело делить на два.
Отсутствие защиты для нестандартных или новых сетевых сервисов
Решением здесь в какой-то мере могут служить шлюзы на уровне соединения или пакетные фильтры, но, как уже говорилось, им недостает гибкости. Конечно, существуют определенные возможности по туннелированию нестандартного трафика, например в HTTP, но этот вариант нельзя назвать удобным сразу по нескольким причинам. Есть множество унаследованных систем, код которых переписать невозможно. Однако оставлять их беззащитными тоже нельзя.
Снижение производительности
К счастью, подобные вопросы возникают все реже и реже, особенно у частных пользователей, стремящихся защитить свой ПК или небольшую локальную сеть. В то же время крупные локальные сети по-прежнему генерируют столь емкий трафик, что обычными программными (дешевыми или бесплатными) решениями сеть не прикроешь. Аппаратные решения демонстрируют отличную производительность и масштабируемость, но вот цена (порой исчисляемая десятками тысяч долларов) переводит вопросы их применения в совершенно иную плоскость, так что порой максимум возможного — это выделение специального сервера, «заточенного» исключительно под обслуживание брандмауэра. Естественно, подобное универсальное решение автоматически сказывается на скорости доступа.
Общие принципы настройки Firewall
Конфигурация firewall — предмет достаточно сложный, и обычно все сетевые экраны (firewall) имеют индивидуальную конфигурацию, отражающую специфику работы конкретной информационной системы. Однако здесь следует придерживаться некоторых общих принципов:
- Следует пропускать сквозь себя только те сервисы, которые необходимы для обеспечения требуемой функциональности информационной системы.
- Все, что явным образом не разрешено, должно быть запрещено. Это означает, что все службы, не упомянутые при конфигурации firewall, должны быть запрещены.
- При конфигурации сетевых экранов (firewall) следует вести подробную документацию.
Proxy-сервер (Прокси-сервер)
Proxy-сервер регулирует доступ сотрудников компании к ресурсам Интернета. Он имеет гибкие настройки, позволяющие ограничить доступ пользователей к определенным сайтам, контролировать объем выкачиваемой пользователем из Интернета информации и настраивать возможность доступа в Интернет тех или иных пользователей в зависимости от дня недели и времени суток. Кроме того, proxy-сервер позволяет пользователю не выходить в Интернет со своего адреса, а заменяет при запросах адрес пользователя на свой собственный и посылает запрос уже не от имени реального пользователя сети, а от своего собственного. Это не только помогает скрыть в целях безопасности внутреннюю структуру своей сети, но и позволяет не арендовать дополнительное количество адресов для всех своих сотрудников, а обойтись одним общим адресом для прокси-сервера.
IDS (Система Выявления Атак)
Intrusion Detection System (система выявления попыток проникновения) — комплекс программного обеспечения, который обычно устанавливается на Firewall и предназначен для анализа различных событий, происходящих как на самом компьютере с IDS (Host-based IDS), так и в сети вокруг него (Network IDS). Принцип работы host-based IDS основан на анализе журналов событий системы. В основе работы Network IDS лежит анализ сетевого трафика, проходящего через систему. При выявлении события, квалифицируемого IDS как попытка проникновения, ответственному за безопасность системы посылается сообщение об атаке. Одновременно производится запись в журнале атак. Подобное поведение характерно для пассивных IDS. Если же при определенных типах атак система способна производить ряд действий, направленных на отражение атаки, то она относится к активным IDS .
Система контроля целостности ПО и конфигурации
Для более жесткого контроля за попытками проникновения в систему используется многоуровневая защита. Одним из таких дополнительных уровней является система контроля целостности программного обеспечения. Она контролирует все программное обеспечение на брандмауэре и присылает отчеты обо всех удаленных, вновь появившихся и изменившихся файлах. Таким образом, при малейшем изменении конфигурации шлюза ответственный за его работу получит подробный отчет о том, что и когда было изменено.
Система мониторинга и оповещения о неисправностях
Для максимально быстрого обнаружения неисправностей в компьютерных системах часто применяются системы раннего оповещения о возникающих неисправностях, которые периодически контролируют работоспособность различных сервисов и при любых отклонениях автоматически связываются с обслуживающим систему инженером.
Система удаленного администрирования
Системы удаленного администрирования серверов применяются для устранения неисправностей, конфигурирования систем и выполнения различных рутинных задач в локальной сети (или сети Интернет) без необходимости физического доступа к серверу.
Тестирование Firewall
Далее будет представлена собранная автором из различных источников информация по наиболее распространенным брандмауэрам, а также некоторые результаты их тестирования на предмет эффективности их работы.
При необходимости оценить качество защиты своего компьютера можно при помощи специальных тестов. Чтобы выяснить, насколько эффективен ваш Firewall при отражении атак снаружи, полезно прогуляться по указанным ниже ссылкам, после чего будет проведена проверка и выдан отчет. Некоторые тесты повторяются, какие-то требуют регистрации, а есть и такие, что, кроме браузера MSIE, ничего другого не воспринимают. В общем, выберите выбор за вами.
PCFlank http://www.pcflank.com/about.htm
Sygate http://scan.sygate.com/
Symantec http://security.symantec.com/
HackerWatch http://www.hackerwatch.org/probe
Infotecs http://www.infotecs.ru/terminet/grc.htm
DSL reports http://www.dslreports.com/scan
ShieldsUP! http://grc.com/x/ne.dll?rh1dkyd2
Для тестирования на защиту изнутри следует зайти на http://www.firewallleaktester.com/tests.htm.
Можно, так же легко понаблюдать за тем, как будут «ломиться» наружу программы, имеющие доступ в Интернет. Для этого в Firewall'e должна быть включена соответствующая опция оповещения.