Как межсетевой экран защищает сеть
КАЗНАЧЕЙСТВА
Г.В. Джинчарадзе
Программы FireWalls
Как средства защиты информации
От атак из Интернет
СОДЕРЖАНИЕ
Введение 2
1. Межсетевой экран 2
Internet 3
1.1. Фильтры пакетов. 3
1.2. Шлюзы сеансового уровня. 5
1.3. Прокси-сервер. 6
1.4. Шлюз прикладного уровня. 7
2. Как межсетевой экран защищает сеть 8
3. Средства анализа защищенности 10
3.1. Сканирование. 11
3.2. Зондирование. 12
3.3. Проверка заголовков. 12
3.4. Имитация атак. 12
4. Краткий обзор брандмауэров 14
4.1. Outpost Firewall 14
4.3. ZoneAlarm.. 15
Введение
Итак, компьютеры, объединённые в сеть, обмениваются информацией. Информация эта пересылается в виде пакетов. Представьте себе, что каждый компьютер – это дом. Представьте себе, что пакеты – это маленькие человечки, которые бегают от дома к дому, передавая нужную информацию. В дальнейшем этих человечков так и будем называть – пакеты.
Как и у домов, у каждого компьютера в сети есть адрес. Адрес представляет собой строку, состоящую из четырёх групп чисел от 0 до 255, разделённых точками. К примеру, 212.20.123.15
Чтобы входить в дом и выходить из него используются двери. У компьютера роль дверей играют порты. Т.е. каждый порт можно представить как дверь, через которую входят и выходят пакеты. У каждого порта есть номер. Номер может быть от 0 до 65535.
Несколько слов о том, как происходит обмен информацией.
Вот Вы подключились к Интернету. В этот момент Ваш компьютер получил адрес. Этот адрес неизвестен никому, кроме Вашего провайдера. Для того, чтобы начать обмен информацией, Ваш компьютер должен послать запрос другому компьютеру (адрес которого должен быть известен) и сообщить ему свой адрес. Только после этого может начаться обмен информацией. К примеру, чтобы зайти на какую-то страницу в Интернете, вы набираете её адрес. Адрес этот не такой, как я описал вначале, и это сделано исключительно для удобства. Когда Вы закончите набирать адрес страницы, браузер переведёт его в сетевой адрес сервера, на котором находится эта страница, обратится по этому адресу, передаст адрес Вашего компьютера, и только тогда сервер сможет отправить Вам содержимое нужной страницы.
Итак, что нужно для атаки на Ваш компьютер? Как минимум, нужно знать его адрес. Конечно, для работы в Интернете Вы регулярно сообщаете свой адрес другим компьютерам. Однако, если Вы всегда обращаетесь только к надёжным ресурсам, хозяева которых не будут взламывать Ваш компьютер, то как желающий взломать его может узнать его адрес? Есть специальные программы, перебирающие сетевые адреса и проверяющие, есть ли по этому адресу компьютер. И тут в игру вступает firewall.
Итак, чем же занимается firewall? Firewall контролирует двери (порты) и перемещение пакетов через эти двери.
У каждой двери есть 3 состояния: открыта, закрыта и невидима. Стоит заметить что в отличие от настоящего мира, где виден весь дом, в виртуальном мире сети «видны» только «двери» «дома», т.е. порты компьютера, подключённого к сети.
Напомним, что существующая структура обмена информацией, основанная на протоколах TCP/IP, позволяет легко и просто вмешаться в процесс передачи информации, похитить информацию и разрушить структуры ее хранения. Мы рассмотрим такие средства защиты информации, как: пакетные фильтры, proxy (прокси), относящиеся к межсетевым экранам, firewall.
Межсетевой экран
Межсетевой экран или сетевой экран (его еще называютFireWall или брандмауер) — комплекс аппаратных или программных средств, осуществляющий контроль и фильтрацию проходящих через него сетевых пакетов в соответствии с заданными правилами.
Основной задачей сетевого экрана является защита компьютерных сетей или отдельных узлов от несанкционированного доступа. Также сетевые экраны часто называют фильтрами, так как их основная задача — не пропускать (фильтровать) пакеты, не подходящие под критерии, определённые в конфигурации.
Владелец компьютера, имеющего выход в Интернет, устанавливает межсетевой экран, чтобы предотвратить получение посторонними конфиденциальных данных, хранящихся на защищаемом компьютере (рис. 1.1).
Рис. 1.1
Межсетевой экран может предотвращать доступ ко всем службам, исключая специальные компьютерные сервисы, выполняющие функции доставки почтовых сообщений (SMTP) и функции информационного характера (TELNET, FTP). Для выполнения разграничения доступных служб должна быть описана политика доступа, которую межсетевые экраны проводят с большой эффективностью. Главное правило при описании политики доступа – это запрещение доступа к службам, которым для работы не требуется доступ из внешней сети.
Фильтры пакетов
Фильтры пакетов работают весьма быстро и не предполагают никакой специальной конфигурации программных средств (приложений) конечных пользователей. Все, что могут делать фильтры пакетов, – это разрешать или запрещать доступ к вашему компьютеру на основании указанного адреса того, с кем вы связываетесь или того, кто хочет с вами связаться. Хакеры могут обмануть такие фильтры посредством подмены IP-адреса отправителя пакета. Соединения между клиентом и сервером являются прямыми, поэтому хакеры могут без особого труда воспользоваться анализаторами пакетов для выяснения адресной структуры вашего компьютера или вашей сети. Очень часто в качестве таких пакетных фильтров используются маршрутизаторы.
На маршрутизаторах устанавливают фильтры пакетов для фильтрации поступающей в сеть и исходящей информации.
Фильтрующий маршрутизатор обычно может фильтровать IP-па-кеты на основе группы следующих полей заголовка пакета:
•IP-адрес отправителя;
•IP-адрес получателя;
•порт отправителя;
•порт получателя.
Маршрутизаторы проверяют каждый пакет по той или иной таблице контроля доступа (где перечислены, например, IP-адреса заслуживающих доверия серверов), поэтому они могут без труда блокировать не заслуживающий доверия трафик. Фильтры пакетов могут также изымать пакеты из обращения на основании их номеров портов в TCP и UDP соединениях; как следствие, некоторые определенные типы соединений (например, telnetили ftp) могут быть разрешены только особо доверенным серверам (рис. 1.2).
Рис.1.2
Пакетный фильтр последовательно смотрит каждое правило и ищет первое правило, которое соответствует данному пакету. Если такого правила не найдено, то пакет блокируется (правило блокировки по умолчанию). Но если включен специальный режим автообучения, то вам предоставляется возможность создать новое правило для обработки пакетов (или соединений для TCP-пакетов) данного типа, а также вручную разрешить или заблокировать данный пакет.
В режиме автообучения при обнаружении пакетным фильтром попытки установления соединения или UDP-пакета, для которого нет правила, программа выдает на экран диалоговое окно, в котором сообщает об этом пакете и спрашивает у вас, что делать с такими пакетами в будущем. Обычно такое происходит, если вы запускаете программу, которая пытается установить соединение с другим компьютером (и в окне указывается имя этой программы). В этом случае вы, скорее всего, разрешите это соединение, или даже создадите правило для автоматического разрешения таких пакетов в будущем, чтобы избежать появления на экране этого диалогового окна. Будем называть такое приложение «доверенным». Если, с другой стороны, это приложение таково, что, по вашему мнению, оно не должно взаимодействовать с другим компьютером (например, текстовый редактор или новая игра, загруженная из Интернет), то, скорее всего, вы создадите правило, которое будет блокировать передачу пакетов этим приложением. Но при этом вы должны учитывать, что некоторые программы создают несколько исходящих соединений одновременно, а некоторые клиентские программы могут организовывать взаимодействие с удаленными серверами таким образом, что они будут подключаться к вашему компьютеру (делать попытки установления входящих соединений).
К положительным качествам фильтрующих маршрутизаторов можно отнести следующие:
- сравнительно невысокая стоимость;
-гибкость в определении правил фильтрации;
- небольшая задержка при прохождении пакетов.
Недостатки фильтрующих маршрутизаторов:
-внутренняя сеть видна (маршрутизируется) из сети Интернет;
- правила фильтрации пакетов трудны в описании и требуют очень хороших знаний технологий TCP и UDP;
-при нарушении работоспособности межсетевого экрана с фильтрацией пакетов все компьютеры за ним становятся полностью незащищенными либо недоступными.
Шлюзы сеансового уровня
Шлюзы сеансового уровня представляют собой класс маршрутизаторов, работающих как транслятор TCP соединения. Отслеживаются сеансы между приложениями, не пропускающие пакеты нарушающих спецификации TCP/IP, часто используемых в злонамеренных операциях — сканировании ресурсов, взломах через неправильные реализации TCP/IP, обрыв/замедление соединений, инъекция данных. Шлюз проверки допустимости запрошенного сеанса устанавливает соединение с местом назначения (внешним хостом).
Чтобы выявить допустимость запроса на сеанс связи, шлюз выполняет следующую процедуру. Когда авторизованный клиент запрашивает некоторый сервис, шлюз принимает этот запрос, проверяя, удовлетворяет ли данный клиент базовым критериям фильтрации. Затем, действуя от имени клиента, шлюз устанавливает соединение с внешним хостом. Эта процедура состоит из обмена ТСР- пакетами, которые помечаются флагами SYN (синхронизировать) и АСК (подтвердить).
После того как шлюз определил, что доверенный клиент и внешний хост являются авторизованными участниками сеанса ТСР, и проверил его допустимость, он устанавливает соединение. Начиная с этого момента, шлюз копирует и перенаправляет пакеты туда и обратно, не проводя никакой фильтрации. После завершения сеанса шлюз удаляет соответствующий элемент из таблицы и разрывает соединения, использовавшиеся в текущем сеансе.
Недостатком шлюзов сеансового уровня является отсутствие проверки содержимого передаваемых пакетов, что дает возможность нарушителю проникнуть через такой шлюз.
Для защиты локальных сетей разработано множество довольно сложных и дорогих программных комплексов, реализующих различные механизмы защиты: фильтрация пакетов, трансляция адресов и т.д. Но, тем не менее, самой защищенной является сеть, которая вообще не подключена к Интернет. Это абсолютно надежный способ защиты, но у него есть один существенный недостаток: если вы им воспользуетесь, то ваши пользователи не смогут работать в Интернет.
Но может быть, в этой идее все-таки есть рациональное зерно? А что будет, например, если подключить к Интернет не всю локальную сеть, а только один компьютер? Ведь настройку одного компьютера легче «вылизать» и за ним легче уследить, чем за всей сетью. Правда, пользователям, желающим поработать в Интернет, придется пересаживаться за этот единственный компьютер, и через некоторое время они выстроятся в длинную очередь. Не получается! Вот если бы существовала программа, которая, работая на подключенном к Интернет компьютере, позволяла бы остальным компьютерам сети эмулировать выход в Интернет, оставаясь при этом «невидимыми».
Прокси-сервер
На самом деле такой программой и является «proxy-сервер». Он не является классическим Firewall (огненной стеной), поскольку защита сети не входит в его функции. Сеть защищена своей изоляцией от Интернет. А «proxy-сервер» позволяет пользователям этой изолированной сети выходить в Интернет, используя единственный подключенный компьютер. Есть и еще одно объяснение концепции «proxy-серверов».
Помните, как в библиотеке вам вначале приходилось заказывать книгу из закрытого для доступа хранилища? Так как читатели в закрытую часть библиотеки не допускались, библиотекарь выступал в качестве вашего посредника (proxy) и приносил заказанную книгу.
Конечно, как правило, этот процесс занимал больше времени, чем, если бы вы сами имели доступ к стеллажам с книгами. Но предположим, что каждый раз, когда библиотекарь приносил книгу для одного студента, он делал несколько ее копий и оставлял у себя на столе выдачи для тех студентов, кому потребуется та же самая книга. Результат – идеальная комбинация быстрого обслуживания и надежной защиты.
Приведенная аналогия объясняет две основные функции proxy-сервера. Во-первых, proxy-сервер действует как посредник, помогая пользователям частной сети получить информацию из Интернет, когда она им необходима, при этом он обеспечивает защиту сети. Во-вторых, ргоху-сервер может сохранять часто запрашиваемую информацию в «кэше» на локальном диске, быстро доставляя ее пользователям без повторного обращения в Интернет.
Proxy-серверы разрывают прямое соединение между клиентом и сервером при этом (или, если угодно, между студентом и ценной книгой), при этом все внутренние IP-адреса сети отображаются на один единст-венный «надежный» IP-адрес. Злоумышленнику известен только этот адрес, поэтому атаки с подменой адресов становятся невозможны. Любой proxy-сервер состоит из множества специфических посредников для конкретных приложений. Он состоит из: посредника HTTP для страниц Web, посредника ftp, посредника SMTP/POP для электронной почты; посредника NNTP для серверов новостей, посредника RealAudio/Real-Video и т. д. Каждый из этих посредников принимает пакеты только тех служб, для копирования, передачи и фильтрации которых он создан. В качестве примера организации посредника упомянем механизм Socket’ов «Microsoft Proxy» и его развитие «ISA server». Выглядит все это так (рис. 1.3):
Рис. 1.3
Эти продукты подробно описаны в документации. Служба соединений Winsock Proxy состоит из двух частей: сервера и клиентской части. Клиентская часть при установке подменяет собой обычный Winsock. Когда какое-либо приложение на рабочей станции пытается установить Winsock-соединение с удаленным хостом, клиентская часть Winsock Proxy устанавливает его со своим сервером, а тот уже «от своего имени» – с требуемым хостом. Сервер как бы транслирует пакеты в рамках установленного соединения, подменяя в них поля адресата и отправителя. Здесь используются прикладные программы для фильтрации соединений с такими сервисами, как Telnet и FTP. Подобное приложение называется proxy службой, а хост, на котором работает proxy служба, – шлюзом уровня приложений или шлюзами прикладного уровня.
Шлюз прикладного уровня
Шлюз прикладного уровня исключает прямое взаимодействие между авторизованным клиентом и внешним хостом. Шлюз фильтрует все входящие и исходящие пакеты на прикладном уровне.
Осуществляется фильтрация на основании анализа данных приложения, передаваемых внутри пакета. Такие типы экранов позволяют блокировать передачу нежелательной и потенциально опасной информации на основании политик и настроек.
По сравнению с работающими в обычном режиме, при котором прикладной трафик пропускается непосредственно к внутренним хостам, шлюзы прикладного уровня имеют ряд преимуществ. Главное заключается в невидимости структуры защищаемой сети из глобальной сети Интернет, Имена внутренних систем можно не сообщать внешним системам через DNS, поскольку шлюз прикладного уровня может быть единственным хостом, имя которого будет известно внешним системам.
Недостаткам шлюзов уровня приложений является относительно низкая производительность по сравнению с фильтрующими маршрутизаторами.
Наиболее эффективный способ защиты при работе с Интернет предполагает размещение системы между вашей локальной сетью и Интернет. Межсетевой экран обеспечивает проверку всех соединений между сетью организации и Интернет на соответствие политике безопасности.
Следуя аналогии с библиотекой, эквивалентом межсетевого экрана с фильтрацией пакетов был бы библиотекарь, ведущий список заслуживающих доверия студентов и допускающий только их в закрытое для других книгохранилище. Это ускорило бы процесс получения книг, но вынудило бы вести список доступа. Кроме того, такое решение чревато злоупотреблениями тогда, когда студенты представляются под чужим именем. Кроме фильтрации пакетов, на межсетевой экран навешивается еще много других функций.
Для эффективного обеспечения безопасности сети firewall обязан отслеживать и управлять всем потоком, проходящим через него. Для принятия управляющих решений для TCP/IP-сервисов (передавать, блокировать или отмечать в журнале попытки установления соединений) firewall должен получать, запоминать, выбирать и обрабатывать информацию, полученную от всех коммуникационных уровней и от других приложений.
Недостаточно просто проверять пакеты по отдельности. Информация о состоянии соединения, полученная из инспекции соединений в прошлом и других приложений, главный фактор в принятии управляющего решения при попытке установления нового соединения. Для принятия решения могут учитываться как состояние соединения (полученное из прошлого потока данных), так и состояние приложения (полученного из других источников программы).
Как межсетевой экран защищает сеть
На рис. 2.1 представлена корпоративная сеть, защищенная межсетевым экраном.
Рис. 2.1
Межсетевой экран может защитить от несанкционированной передачи данных с вашего компьютера или приема вашим компьютером пакетов, обработка которых может привести к его блокировке. Он может предупредить вас о попытках использовать ресурсы вашего компьютера, о которых вы не знали, помочь узнать, какие ресурсы ваш компьютер предоставляет другим компьютерам в Интернет, а также предоставить средства контроля за тем, кто устанавливает соединение с вашим компьютером или с кем устанавливает соединение ваш компьютер.
Если с функцией пакетного фильтра часто справляется маршрутизатор, а proxy-сервера не предназначены для защиты локальной сети (а только для изоляции ее от глобальной сети), то мощные межсетевые экраны (firewall) специально построены для защиты и только для защиты сетей. Они, как правило, включают в себя все перечисленные ранее элементы: пакетные фильтры с набором правил фильтрации, набор proxy прикладного уровня и средства анализа входящих приложений. Анализ включает поиск специальных команд относящихся, например, к FTP-сервисам. Эти команды, попадая к вам в процессе скачивания вами файла, в FTP-сеансе позволяют атакующему попасть к вам на компьютер или в сеть и похозяйничать там. Межсетевые экраны такие, как CheckPoint FireWall-1, позволяют «на лету» вылавливать вирусы, производить идентификацию сторонних пользователей, шифрование и дешифрацию трафика и блокировать выполнение JavaScript-сценариев и ActivX-приложений.
Firewall или брандмауэр—термин немецкого языка, являющийся аналогом английского firewall в его оригинальном значении (стена, которая разделяет смежные здания, предохраняя от распространения пожара).
У firewall-а есть две основные цели. Защита от проникновения на компьютер снаружи (взлом) и защита от несанкционированной передачи данных с компьютера наружу (к примеру, предотвращение кражи паролей, номеров кредиток и т.д. троянскими программами).
Защита от проникновения на компьютер должна работать как снаружи, так и изнутри. Операционная система (к примеру Windows) по умолчанию держит часть портов открытыми. Открытый порт компьютера так же опасен, как и открытая дверь дома. Любой желающий может зайти и напакостить. Через открытые порты также распространяются сетевые черви типа Sasser. Понятно, что все двери желательно закрыть. В отличие от реальной жизни, в сети порты можно не только закрыть, но и сделать невидимыми. Компьютер, у которого все порты невидимы, – невидим в сети, и это лучший из возможных вариантов. Если Вас никто не видит, то никто и не будет атаковать. Т.е., одна из задач firewall – обеспечение невидимости компьютера в сети. Однако, даже если все порты невидимы, хакер может получить адрес Вашего компьютера. К примеру, когда Вы общаетесь с кем-то по ICQ, этот человек получает адрес Вашего компьютера. Если адрес вашего компьютера всё же стал известен хакеру, то за этим последует попытка его взломать. Если на Вашем компьютере есть открытые порты, то велика вероятность того, что попытка увенчается успехом. Ещё одна задача firewall – держать порты закрытыми для предотвращения взлома, а также проникновения на компьютер сетевых червей.
Защита от утечки информации с компьютера. В последнее время большое распространения получили троянские программы. Правильно настроенный firewall разрешает работу с сетью только для некоторых, заведомо чистых программ (веб браузер, почтовый клиент...). Если на Вашем компьютере будет запущена неизвестная программа, в зависимости от настроек firewall может либо запретить ей доступ в сеть, либо выдать окошко с вопросом, разрешить ли этой программе работать с сетью. В этом случае важно не спешить отвечать «да», а попытаться понять, что это за программа. Так Вы можете обнаружить появление на компьютере троянских программ и предотвратить кражу информации и возможность управления Вашим компьютером.