Для чего нужен межсетевой экран. Что такое Межсетевой Экран? Для чего нужен? Примеры настройки параметров Безопасности

Что такое межсетевой экран?

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

Наиболее часто используемыми портами во всемирной сети являются:

  • 80 - порт для загрузки web-страниц;
  • 110 - используется по умолчанию для загрузки электронной почты;
  • 25 - используется по умолчанию для отправки электронной почты.
Суть брандмауэра в том, чтобы закрыть порты, которые вы не используете. В противном случае через них злоумышленник или вредоносная программа (вирус, троян) могут проникнуть на ваш ПК. Если вы подключены к сети интернет, то вы просто обязаны иметь межсетевой экран.С помощью межсетевого экрана (брандмауэр/файрвол) можно запретить несанкционированный доступ к компьютеру через интернет. Таким образом, любые программы или пользователи не смогут похитить ваши персональные данные или как-либо образом навредить вашему компьютеру.

Что может случиться, если вы не будете использовать брандмауэр. Если после установки операционной системы вы не активируете брандмауэр или если он не будет активирован по умолчанию, то ваша система может быть атакована спустя несколько минут после выхода в интернет. Через открытые порты могут проникнуть вирусы, троянские черви и шпионские программы, которые принесут вам немало неприятностей в будущем, а вы об этом даже не будете догадываться. Однажды, авторитетное за границей издание PC Format запустило эксперимент и в результате операционная система на их абсолютно незащищенном компьютере была приведена в полную непригодность спустя два с половиной часа серфинга по интернету. Межсетевой экран мог бы остановить часть атак, которым подвергся компьютер. Не стоит также считать, что наличие только фаервола поможет уберечься от всех бед. Не стоит забывать об установке антивируса с последующим регулярным обновлением баз, а также о регулярном скачивании и установке обновлений безопасности для вашей Windows.
Как брандмауэр помогает защитить ваш ПК. Большинство межсетевых экранов, включая встроенные, будет оповещать вас о подозрительном входящем трафике. Но хороший брандмауэр должен оповещать и о подозрительном исходящем трафике. Наличие подозрительного исходящего трафика поможет вам понять, что ваш компьютер уже заражен троянским или шпионским ПО.
Виды межсетевых экранов. Брандмауэры можно поделить на две простые категории: аппаратные и программные. Аппаратным фаерволом может быть маршрутизатор, который находиться между вашим ПК и сетью Интернет. В таком случае к нему можно подключить несколько компьютеров и все они будут защищены брандмауэром, который является частью маршрутизатора. Программный межсетевой экран - это специализированное ПО, которое пользователь устанавливает себе на компьютер. Даже если у вас уже есть маршрутизатор со встроенным межсетевым экраном, вы можете также установить программный фаервол на каждый компьютер в отдельности. Тогда злоумышленнику будет значительно тяжелее проникнуть в вашу систему.

Классификация межсетевых экранов

В настоящее время не существует единой и общепризнанной классификации межсетевых экранов. Выделим следующие классы межсетевых экранов:
  • Фильтрующие маршрутизаторы
  • Шлюзы сеансового уровня
  • Шлюзы уровня приложений

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

  • большое количество остающихся уязвимых мест. Межсетевые экраны не защищают от черных входов (люков) в сети. Если можно осуществить неограниченный доступ по модему в сеть, защищенную межсетевым экраном, то атакующие могут эффективно обойти его;
  • неудовлетворительная защита от атак внутри одной локальной сети. Они обычно не обеспечивают защиты от внутренних угроз;
  • ограничение в доступе к нужным сервисам. Самый очевидный недостаток межсетевого экрана заключается в том, что он может блокировать ряд сервисов, которые применяют пользователи, - Telnet, FTP и др. Для решения подобных проблем требуется проведение хорошо продуманной политики безопасности, в которой будет соблюдаться баланс между требованиями безопасности и потребностями пользователей;
  • концентрация средств обеспечения безопасности в одном месте. Это позволяет легко осуществлять администрирование работы;
  • ограничение пропускной способности.
сеть , предназначенное для блокировки всего трафика, за исключением разрешенных данных. Этим оно отличается от маршрутизатора, функцией которого является доставка трафика в пункт назначения в максимально короткие сроки.

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

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

Определение типов межсетевых экранов

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

Межсетевые экраны прикладного уровня

Межсетевые экраны прикладного уровня, или прокси-экраны, представляют собой программные пакеты, базирующиеся на операционных системах общего назначения (таких как Windows NT и Unix) или на аппаратной платформе межсетевых экранов. Межсетевой экран обладает несколькими интерфейсами, по одному на каждую из сетей, к которым он подключен. Набор правил политики определяет, каким образом трафик передается из одной сети в другую. Если в правиле отсутствует явное разрешение на пропуск трафика, межсетевой экран отклоняет или аннулирует пакеты.

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

При использовании межсетевого экрана прикладного уровня все соединения проходят через него (см. рис. 10.1). Как показано на рисунке, соединение начинается на системе-клиенте и поступает на внутренний интерфейс межсетевого экрана. Межсетевой экран принимает соединение, анализирует содержимое пакета и используемый протокол и определяет, соответствует ли данный трафик правилам политики безопасности. Если это так, то межсетевой экран инициирует новое соединение между своим внешним интерфейсом и системой-сервером.

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


Рис. 10.1.

Примечание

Здесь подразумевается, что модуль доступа на межсетевом экране сам по себе неуязвим для атаки. Если же программное обеспечение разработано недостаточно тщательно, это может быть и ложным утверждением.

Дополнительным преимуществом архитектуры данного типа является то, что при ее использовании очень сложно, если не невозможно, "скрыть" трафик внутри других служб. Например, некоторые программы контроля над системой, такие как NetBus и

Межсетевой экран

Иллюстрация, показывающая расположение сетевого экрана (Firewall) в сети.

Межсетевой экран или сетевой экран - комплекс аппаратных или программных средств, осуществляющий контроль и фильтрацию проходящих через него сетевых пакетов в соответствии с заданными правилами.

Основной задачей сетевого экрана является защита компьютерных сетей или отдельных узлов от несанкционированного доступа. Также сетевые экраны часто называют фильтрами, так как их основная задача - не пропускать (фильтровать) пакеты, не подходящие под критерии, определённые в конфигурации.

Некоторые сетевые экраны также позволяют осуществлять трансляцию адресов - динамическую замену внутрисетевых (серых) адресов или портов на внешние, используемые за пределами ЛВС.

Другие названия

Файрво́лл , файрво́л , файерво́л , фаерво́л - образовано транслитерацией английского термина firewall .

Разновидности сетевых экранов

Сетевые экраны подразделяются на различные типы в зависимости от следующих характеристик:

  • обеспечивает ли экран соединение между одним узлом и сетью или между двумя или более различными сетями;
  • на уровне каких сетевых протоколов происходит контроль потока данных;
  • отслеживаются ли состояния активных соединений или нет.

В зависимости от охвата контролируемых потоков данных сетевые экраны делятся на:

  • традиционный сетевой (или межсетевой ) экран - программа (или неотъемлемая часть операционной системы) на шлюзе (сервере, передающем трафик между сетями) или аппаратное решение, контролирующие входящие и исходящие потоки данных между подключенными сетями.
  • персональный сетевой экран - программа, установленная на пользовательском компьютере и предназначенная для защиты от несанкционированного доступа только этого компьютера.

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

В зависимости от уровня, на котором происходит контроль доступа, существует разделение на сетевые экраны, работающие на:

  • сетевом уровне , когда фильтрация происходит на основе адресов отправителя и получателя пакетов, номеров портов транспортного уровня модели OSI и статических правил, заданных администратором;
  • сеансовом уровне (также известные как stateful ) - отслеживающие сеансы между приложениями, не пропускающие пакеты нарушающих спецификации TCP/IP, часто используемых в злонамеренных операциях - сканировании ресурсов, взломах через неправильные реализации TCP/IP, обрыв/замедление соединений, инъекция данных.
  • уровне приложений , фильтрация на основании анализа данных приложения, передаваемых внутри пакета. Такие типы экранов позволяют блокировать передачу нежелательной и потенциально опасной информации на основании политик и настроек. Некоторые решения, относимые к сетевым экранам уровня приложения, представляют собой прокси-серверы с некоторыми возможностями сетевого экрана, реализуя прозрачные прокси-серверы, со специализацией по протоколам. Возможности прокси-сервера и многопротокольная специализация делают фильтрацию значительно более гибкой, чем на классических сетевых экранах, но такие приложения имеют все недостатки прокси-серверов (например, анонимизация трафика).

В зависимости от отслеживания активных соединений сетевые экраны бывают:

  • stateless (простая фильтрация), которые не отслеживают текущие соединения (например, TCP), а фильтруют поток данных исключительно на основе статических правил;
  • stateful, stateful packet inspection (SPI) (фильтрация с учётом контекста), с отслеживанием текущих соединений и пропуском только таких пакетов, которые удовлетворяют логике и алгоритмам работы соответствующих протоколов и приложений. Такие типы сетевых экранов позволяют эффективнее бороться с различными видами DoS-атак и уязвимостями некоторых сетевых протоколов. Кроме того, они обеспечивают функционирование таких протоколов, как H.323 , SIP , FTP и т. п., которые используют сложные схемы передачи данных между адресатами, плохо поддающиеся описанию статическими правилами, и, зачастую, несовместимых со стандартными, stateless сетевыми экранами.

Типичные возможности

  • фильтрация доступа к заведомо незащищенным службам;
  • препятствование получению закрытой информации из защищенной подсети, а также внедрению в защищенную подсеть ложных данных с помощью уязвимых служб;
  • контроль доступа к узлам сети;
  • может регистрировать все попытки доступа как извне, так и из внутренней сети, что позволяет вести учёт использования доступа в Интернет отдельными узлами сети;
  • регламентирование порядка доступа к сети;
  • уведомление о подозрительной деятельности, попытках зондирования или атаки на узлы сети или сам экран;

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

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

Проблемы, не решаемые файрволом

Межсетевой экран сам по себе не панацея от всех угроз для сети. В частности, он:

  • не защищает узлы сети от проникновения через «люки » (англ. back doors ) или уязвимости ПО;
  • не обеспечивает защиту от многих внутренних угроз, в первую очередь - утечки данных;
  • не защищает от загрузки пользователями вредоносных программ, в том числе вирусов;

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

Литература

  • Дэвид В. Чепмен, мл., Энди Фокс Брандмауэры Cisco Secure PIX = Cisco® Secure PIX® Firewalls. - М .: «Вильямс», 2003. - С. 384. - ISBN 1-58705-035-8

Примечания

См. также

Ссылки


Wikimedia Foundation . 2010 .

  • Городки
  • Аки

Смотреть что такое "Межсетевой экран" в других словарях:

    МЕЖСЕТЕВОЙ ЭКРАН - (firewall) Узел в сети, который служит барьером для предотвращения передачи трафика из одного сегмента в другой. Используется как для уменьшения трафика, так и для повышения безопасности сети. Межсетевые экраны могут работать в качестве барьеров… … Словарь бизнес-терминов

Различают несколько типов межсетевых экранов в зависимости от следующих характеристик:

    обеспечивает ли экран соединение между одним узлом и сетью или между двумя или более различными сетями;

    происходит ли контроль потока данных на сетевом уровне или более высоких уровнях модели OSI;

    отслеживаются ли состояния активных соединений или нет.

В зависимости от охвата контролируемых потоков данных межсетевые экраны подразделяются на:

    традиционный сетевой (или межсетевой) экран – программа (или неотъемлемая часть операционной системы) на шлюзе (устройстве, передающем трафик между сетями) или аппаратное решение, контролирующие входящие и исходящие потоки данных между подключенными сетями (объектами распределённой сети);

    персональный межсетевой экран – программа, установленная на пользова-тельском компьютере и предназначенная для защиты от несанкционированного доступа только этого компьютера.

В зависимости от уровня OSI, на котором происходит контроль доступа, сетевые экраны могут работать на:

    сетевом уровне , когда фильтрация происходит на основе адресов отправителя и получателя пакетов, номеров портов транспортного уровня модели OSI и статических правил, заданных администратором;

    сеансовом уровне (также известные, как stateful ), когда отслеживаются сеансы между приложениями и не пропускаются пакеты, нарушающие спецификации TCP/IP, часто используемые в злонамеренных операциях – сканирование ресурсов, взломы через неправильные реализации TCP/IP, обрыв/замедление соединений, инъекция данных;

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

Фильтрация на сетевом уровне

Фильтрация входящих и исходящих пакетов осуществляется на основе информации, содержащейся в следующих полях TCP- и IP-заголовков пакетов: IP-адрес отправителя; IP-адрес получателя; порт отправителя; порт получателя.

Фильтрация может быть реализована различными способами для блокирования соединений с определенными компьютерами или портами. Например, можно блокировать соединения, идущие от конкретных адресов тех компьютеров и сетей, которые считаются ненадежными.

    сравнительно невысокая стоимость;

    гибкость в определении правил фильтрации;

    небольшая задержка при прохождении пакетов.

Недостатки:

    не собирает фрагментированные пакеты;

    нет возможности отслеживать взаимосвязи (соединения) между пакетами.?

Фильтрация на сеансовом уровне

В зависимости от отслеживания активных соединений межсетевые экраны могут быть:

    stateless (простая фильтрация), которые не отслеживают текущие соединения (например, TCP), а фильтруют поток данных исключительно на основе статических правил;

    stateful, stateful packet inspection (SPI) (фильтрация с учётом контекста), с отслеживанием текущих соединений и пропуском только таких пакетов, которые удовлетворяют логике и алгоритмам работы соответствующих протоколов и приложений.

Межсетевые экраны с SPI позволяют эффективнее бороться с различными видами DoS-атак и уязвимостями некоторых сетевых протоколов. Кроме того, они обеспечивают функционирование таких протоколов, как H.323, SIP, FTP и т. п., которые используют сложные схемы передачи данных между адресатами, плохо поддающиеся описанию статическими правилами, и зачастую несовместимых со стандартными, stateless сетевыми экранами.

К преимуществам такой фильтрации относится:

    анализ содержимого пакетов;

    не требуется информации о работе протоколов 7 уровня.

Недостатки:

    сложно анализировать данные уровня приложений (возможно с использованием ALG – Application level gateway).

Application level gateway, ALG (шлюз прикладного уровня) – компонент NAT-маршрутизатора, который понимает какой-либо прикладной протокол, и при прохождении через него пакетов этого протокола модифицирует их таким образом, что находящиеся за NAT’ом пользователи могут пользоваться протоколом.

Служба ALG обеспечивает поддержку протоколов на уровне приложений (таких как SIP, H.323, FTP и др.), для которых подмена адресов/портов (Network Address Translation) недопустима. Данная служба определяет тип приложения в пакетах, приходящих со стороны интерфейса внутренней сети и соответствующим образом выполняя для них трансляцию адресов/портов через внешний интерфейс.

Технология SPI (Stateful Packet Inspection) или технология инспекции пакетов с учетом состояния протокола на сегодня является передовым методом контроля трафика. Эта технология позволяет контролировать данные вплоть до уровня приложения, не требуя при этом отдельного приложения посредника или proxy для каждого защищаемого протокола или сетевой службы.

Исторически эволюция межсетевых экранов происходила от пакетных фильтров общего назначения, затем стали появляться программы-посредники для отдельных протоколов, и, наконец, была разработана технология stateful inspection. Предшествующие технологии только дополняли друг друга, но всеобъемлющего контроля за соединениями не обеспечивали. Пакетным фильтрам недоступна информация о состоянии соединения и приложения, которая необходима для принятия заключительного решения системой безопасности. Программы-посредники обрабатывают только данные уровня приложения, что зачастую порождает различные возможности для взлома системы. Архитектура stateful inspection уникальна потому, что она позволяет оперировать всей возможной информацией, проходящей через машину-шлюз: данными из пакета, данными о состоянии соединения, данными, необходимыми для приложения.

Пример работы механизма Stateful Inspection . Межсетевой экран отслеживает сессию FTP, проверяя данные на уровне приложения. Когда клиент запрашивает сервер об открытии обратного соединения (команда FTP PORT), межсетевой экран извлекает номер порта из этого запроса. В списке запоминаются адреса клиента и сервера, номера портов. При фиксировании попытки установить соединение FTP-data, межсетевой экран просматривает список и проверяет, действительно ли данное соединение является ответом на допустимый запрос клиента. Список соединений поддерживается динамически, так что открыты только необходимые порты FTP. Как только сессия закрывается, порты блокируются, обеспечивая высокий уровень защищенности.

Рис. 2.12. Пример работы механизма Stateful Inspection с FTP-протоколом

Фильтрация на прикладном уровне

С целью защиты ряда уязвимых мест, присущих фильтрации пакетов, межсетевые экраны должны использовать прикладные программы для фильтрации соединений с такими сервисами, как, например, Telnet, HTTP, FTP. Подобное приложение называется proxy-службой, а хост, на котором работает proxy-служба – шлюзом уровня приложений. Такой шлюз исключает прямое взаимодействие между авторизованным клиентом и внешним хостом. Шлюз фильтрует все входящие и исходящие пакеты на прикладном уровне (уровне приложений – верхний уровень сетевой модели) и может анализировать содержимое данных, например, адрес URL, содержащийся в HTTP-сообщении, или команду, содержащуюся в FTP-сообщении. Иногда эффективнее бывает фильтрация пакетов, основанная на информации, содержащейся в самих данных. Фильтры пакетов и фильтры уровня канала не используют содержимое информационного потока при принятии решений о фильтрации, но это можно сделать с помощью фильтрации уровня приложений. Фильтры уровня прил ожений могут использовать информацию из заголовка пакета, а также содержимого данных и информации о пользователе. Администраторы могут использовать фильтрацию уровня приложений для контроля доступа на основе идентичности пользователя и/или на основе конкретной задачи, которую пытается осуществить пользователь. В фильтрах уровня приложений можно установить правила на основе отдаваемых приложением команд. Например, администратор может запретить конкретному пользователю скачивать файлы на конкретный компьютер с помощью FTP или разрешить пользователю размещать файлы через FTP на том же самом компьютере.

К преимуществам такой фильтрации относится:

    простые правила фильтрации;

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

    способность анализировать данные приложений.

Недостатки:

    относительно низкая производительность по сравнению с фильтрацией пакетов;

    proxy должен понимать свой протокол (невозможность использования с неизвестными протоколами)?;

    как правило, работает под управлением сложных ОС.

14.9. Межсетевые экраны

Интерес к межсетевым экранам (брандмауэр, firewall) со стороны людей, подключенных к интернет, все возрастает и появились даже приложения для локальной сети, предоставляющие повышенный уровень безопасности. В этом разделе мы надеемся изложить что такое межсетевые экраны, как их использовать, и как использовать возможности, предоставляемые ядром FreeBSD для их реализации.

14.9.1. Что такое межсетевой экран?

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

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

FreeBSD поставляется с встроенным в ядро фильтром пакетом (известным как IPFW), ему будет посвящена оставшаяся часть раздела. Прокси серверы могут быть собраны на FreeBSD из программного обеспечения сторонних разработчиков, но их слишком много и невозможно описать их в этом разделе.

14.9.1.1. Маршрутизаторы с фильтрацией пакетов

Маршрутизатор это машина, пересылающая пакеты между двумя или несколькими сетями. Маршрутизатор с фильтрацией пакетов запрограммирован на сравнение каждого пакета со списком правил перед тем как решить, пересылать его или нет. Большинство современного программного обеспечения маршрутизации имеет возможности фильтрации, и по умолчанию пересылаются все пакеты. Для включения фильтров, вам потребуется определить набор правил.

Для определения того, должен ли быть пропущен пакет, межсетевой экран ищет в наборе правило, совпадающее с содержимым заголовков пакета. Как только совпадение найдено, выполняется действие, присвоенное данному правилу. Действие может заключаться в отбрасывании пакета, пересылке пакета, или даже в отправлении ICMP сообщения в адрес источника. Учитывается только первое совпадение, поскольку правила просматриваются в определенном порядке. Следовательно, список правил можно назвать «цепочкой правил» .

Критерий отбора пакетов зависит от используемого программного обеспечения, но обычно вы можете определять правила, зависящие от IP адреса источника пакета, IP адреса назначения, номера порта источника пакета, номера порта назначения (для протоколов, поддерживающих порты), или даже от типа пакета (UDP, TCP, ICMP, и т.д.).

14.9.1.2. Прокси серверы

Прокси серверы это компьютеры, где обычные системные даемоны (telnetd , ftpd , и т.д.) заменены специальными серверами. Эти серверы называются прокси серверами , поскольку они обычно работают только с входящими соединениями. Это позволяет запускать (например) telnet прокси сервер на межсетевом экране, и делать возможным вход по telnet на межсетевой экран, прохождение механизма аутентификации, и получение доступа к внутренней сети (аналогично, прокси серверы могут быть использованы для выхода во внешнюю сеть).

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

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

14.9.2. Что позволяет делать IPFW?

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

IPFW состоит из двух связанных частей. Межсетевой экран осуществляет фильтрацию пакетов. Часть, занимающаяся учетом IP пакетов, отслеживает использование маршрутизатора на основе правил подобных тем, что используются в части межсетевого экрана. Это позволяет администратору определять, например, объем трафика, полученного маршрутизатором от определенного компьютера, или объем пересылаемого WWW трафика.

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

14.9.3. Включение IPFW в FreeBSD

Поскольку основная часть системы IPFW находится в ядре, вам потребуется добавить один или несколько параметров в файл настройки ядра, в зависимости от требуемых возможностей, и пересобрать ядро. Обратитесь к главе о пересборке ядра (Гл. 8) за подробным описанием этой процедуры.

Внимание: Правилом IPFW по умолчанию является deny ip from any to any. Если вы не добавите других правил во время загрузки для разрешения доступа, то заблокируете доступ к серверу с включенным в ядро межсетевым экраном после перезагрузки. Мы предлагаем указать firewall_type=open в файле /etc/rc.conf при первоначальном добавлении межсетевого экрана, а затем, после тестирования его работоспособности, отредактировать правила в файле /etc/rc.firewall. Дополнительной предосторожностью может быть первоначальная настройка межсетевого экрана с локальной консоли, вместо входа через ssh . Кроме того, возможна сборка ядра с параметрами IPFIREWALL и IPFIREWALL_DEFAULT_TO_ACCEPT. В этом случае правило IPFW по умолчанию будет изменено на allow ip from any to any, что предотвратит возможную блокировку.

Существует четыре параметра настройки ядра, относящихся к IPFW:

options IPFIREWALL

Включает в ядро код для фильтрации пакетов.

Options IPFIREWALL_VERBOSE

Включает протоколирование пакетов через syslogd (8) . Без этого параметра, даже если вы укажете в правилах фильтрации протоколировать пакеты, это не сработает.

Options IPFIREWALL_VERBOSE_LIMIT=10

Ограничивает число пакетов, протоколируемых каждым правилом через syslogd (8) . Вы можете использовать этот параметр если хотите протоколировать работу межсетевого экрана, но не хотите делать возможной DoS атаку путем переполнения syslog.

Когда для одного из правил в цепочке достигается определенный параметром предел, протоколирование для этого правила выключается. Для включения протоколирования, вам потребуется сбросить соответствующий счетчик с помощью утилиты ipfw (8) :

# ipfw zero 4500

где 4500 это номер правила, для которого вы хотите возобновить протоколирование.

Options IPFIREWALL_DEFAULT_TO_ACCEPT

Изменяет правило по умолчанию с «deny» на «allow». Это предотвращает возможное блокирование, если ядро загружено с поддержкой IPFIREWALL, но межсетевой экран еще не настроен. Этот параметр также полезен, если вы используете ipfw (8) в качестве средства от определенных проблем по мере их возникновения. Тем не менее, используйте параметр с осторожностью, поскольку он открывает межсетевой экран и изменяет его поведение.

Замечание: Предыдущие версии FreeBSD содержали параметр IPFIREWALL_ACCT. Этот параметр устарел, поскольку код автоматически включает возможность учета.

14.9.4. Настройка IPFW

Настройка программного обеспечения IPFW выполняется с помощью утилиты ipfw (8) . Синтаксис этой команды выглядит очень сложным, но он становится относительно прост как только вы поймете его структуру.

В настоящее время утилита использует четыре различных категории команд: добавление/удаление (addition/deletion), просмотр (listing), сброс (flushing) и очистка (clearing). Добавление/удаление используется для создания правил, определяющих как пакеты принимаются, отбрасываются и протоколируются. Просмотр используется для определения содержимого набора правил (называемого еще цепочкой) и счетчиков пакетов (учет). Сброс используется для удаления всех правил цепочки. Очистка используется для обнуления одного или нескольких счетчиков.

14.9.4.1. Изменение правил IPFW

ipfw [-N] команда [номер] действие протокол адреса [параметры]

При использовании этой формы команды доступен один флаг:

Разрешение адресов и имен сервисов при отображении.

Задаваемая команда может быть сокращена до более короткой уникальной формы. Существующие команды :

Добавление правила к списку фильтрации/учета

Удаление правила из списка фильтрации/учета

Предыдущие версии IPFW использовали отдельные записи для фильтрации и учета пакетов. Современные версии учитывают пакеты для каждого правила.

Если указано значение номер , оно используется для помещения правила на определенную позицию в цепочке. Иначе правило помещается в конец цепочки с номером на 100 больше, чем у предыдущего правила (сюда не включается правило по умолчанию с номером 65535).

С параметром log соответствующие правила выводят информацию на системную консоль, если ядро собрано с опцией IPFIREWALL_VERBOSE.

Существующие действия :

Отбросить пакет и отправить в адрес источникаICMP пакет, сообщающий о недостижимости хоста или порта.

Пропустить пакет как обычно. (синонимы: pass, permit, и accept)

Отбросить пакет. Источнику не выдается ICMP сообщение (как если бы пакет вообще не достиг цели).

Обновить счетчик пакета, но не применять по отношению к нему правила allow/deny. Поиск продолжится со следующего правила в цепочке.

Каждое действие может быть записано в виде более короткого уникального префикса.

Могут быть определены следующие протоколы :

Соответствует всем IP пакетам

Соответствует ICMP пакетам

Соответствует TCP пакетам

Соответствует UDP пакетам

Поле адреса формируется так:

источник адрес/маска [порт ] цель адрес/маска [порт ]

Вы можете указать port только вместе с протоколами , поддерживающими порты (UDP и TCP).

Параметр via опционален и может содержать IP адрес или имя домена локального IP интерфейса, или имя интерфейса (например ed0), он настраивает правило на соответствие только тем пакетам, которые проходят через этот интерфейс. Номера интерфейсов могут быть заменены на опциональную маску. Например, ppp* будет соответствовать PPP интерфейсам ядра.

Синтаксис, используемый для указания адреса/маски :

адрес или адрес /маска-биты или адрес :маска-шаблон

Вместо IP адреса возможно указание существующего имени хоста. маска-биты это десятичный номер, указывающий количество бит, которые должны быть установлены в маске адреса. Например, 192.216.222.1/24 создаст маску, соответствующую всем адресам подсети класса C (в данном случае, 192.216.222). A valid hostname may be specified in place of the IP address. маска-шаблон это IP, который будет логически перемножен с заданным адресом. Ключевое слово any может использоваться для обозначения «любого IP адреса».

Номера портов указываются в следующем формате:

порт [,порт [,порт [.]]]

Для указания одного порта или списка портов, или

порт -порт

Для указания диапазона портов. Вы можете также комбинировать указание одного диапазона со списком портов, но диапазон всегда должен указываться первым.

Доступные параметры :

Срабатывает, если пакет не является первым пакетом дейтаграммы.

Соответствует входящим пакетам.

Соответствует исходящим пакетам.

Ipoptions spec

Срабатывает, если заголовок IP содержит перечисленный через запятую список параметров, указанных в spec . Поддерживаемые параметры IP: ssrr (strict source route), lsrr (loose source route), rr (record packet route), и ts (time stamp). Действие отдельных параметров может быть изменено путем указания префикса!.

Established

Срабатывает, если пакет является частью уже установленного TCP соединения (т.е. если установлены биты RST или ACK). Вы можете поднять производительность межсетевого экрана, поместив правило с established близко к началу цепочки.

Соответствует, если пакет является попыткой установки TCP соединения (установлен бит SYN, а бит ACK не установлен).

Tcpflags флаги

Срабатывает, если заголовок TCP содержит список перечисленных через запятую флагов . Поддерживаемые флаги: fin, syn, rst, psh, ack, и urg. Действие правил по отдельным флагам может быть изменено указанием префикса!.

Icmptypes типы

Срабатывает, если тип пакета ICMP находится в списке типы . Список может быть указан в виде любой комбинации диапазонов и/или отдельных типов, разделенных запятыми. Обычно используемые типы ICMP: 0 echo reply (ping reply), 3 destination unreachable, 5 redirect, 8 echo request (ping request), и 11 time exceeded (используется для обозначения истечения TTL, как с traceroute (8) ).

14.9.4.2. Просмотр правил IPFW

Синтаксис этой формы команды такой:

ipfw [-a] [-c] [-d] [-e] [-t] [-N] [-S] list

Для этой формы команды существует семь флагов:

Показывать значения счетчиков. Этот параметр -- единственный путь для просмотра значений счетчиков.

Просмотр правил в компактной форме.

Показывать динамические правила в дополнение к статическим.

Если определен параметр -d, показывать также динамические правила с истекшим сроком действия.

Отображать последнее время срабатывание для каждого правила в цепочке. Этот список несовместим с синтаксисом, принимаемым ipfw (8) .

Попытаться разрешить заданные адреса и имена сервисов.

Отображать набор, к которому принадлежит каждое правило. Если этот флаг не указан, заблокированные правила не будут отображены.

14.9.4.3. Сброс правил IPFW

Синтаксис для сброса правил:

Все правила в цепочке будут удалены, за исключением правила по умолчанию, устанавливаемого ядром (номер 65535). Будьте осторожны при сбросе правил; правило, отбрасывающее пакеты по по умолчанию отключит систему от сети, пока разрешающие правила не будут добавлены в цепочку.

14.9.4.4. Очистка счетчиков пакетов IPFW

Синтаксис для очистки одного или нескольких счетчиков пакетов:

ipfw zero [index ]

При использовании без аргумента номер будут очищены все счетчики пакетов. Если index указан, операция очистки применяется только к указанному правилу цепочки.

14.9.5. Примеры команд для ipfw

Следующая команда запретит все пакеты с хоста evil.crackers.org на telnet порт хоста nice.people.org:

# ipfw add deny tcp from evil.crackers.org to nice.people.org 23

Следующий пример запрещает и протоколирует весь TCP трафик из сети crackers.org (класса C) к компьютеру nice.people.org (на любой порт).

# ipfw add deny log tcp from evil.crackers.org/24 to nice.people.org

Если вы хотите запретить организацию X сессий в вашу сеть (часть сети класса C), следующая команда осуществит необходимую фильтрацию:

# ipfw add deny tcp from any to my.org/28 6000 setup

Для просмотра записей учета:

# ipfw -a list или в краткой форме # ipfw -a l

Вы можете также просмотреть время последнего срабатывания правил с помощью команды:

14.9.6. Создание межсетевого экрана с фильтрацией пакетов

При первоначальной настройке межсетевого экрана, до тестирования производительности и введения сервера в строй, настоятельно рекомендуется использовать версии команд с протоколированием и включить протоколирование в ядре. Это позволит вам быстро выявить проблемные области и исправить настройку без больших усилий. Даже после завершения первоначальной настройки рекомендуется использовать протоколирование для «deny», поскольку это позволяет отслеживать возможные атаки и изменять правила межсетевого экрана, если требования к нему изменятся.

Замечание: Если вы используете версию команды accept с протоколированием, будьте осторожны, поскольку она может создать большой объем протокольных данных. Будет произведено протоколирование каждого пакета, проходящего через межсетевой экран, поэтому большие объемы FTP/http и другого трафика существенно замедлят систему. Это также увеличит задержку таких пакетов, поскольку ядру требуется выполнить дополнительную работу перед тем, как пропустить пакет. syslogd также будет использовать гораздо больше времени процессора, поскольку он отправит все дополнительные данные на диск, и раздел /var/log может быть быстро заполнен.

Вам потребуется включить межсетевой экран в /etc/rc.conf.local или /etc/rc.conf. Соответствующая страница справочника разъясняет что именно необходимо сделать и содержит примеры готовых настроек. Если вы не используете предустановленную настройку, команда ipfw list может поместить текущий набор правил в файл, откуда он может быть помещен в стартовые файлы системы. Если вы не используете /etc/rc.conf.local или /etc/rc.conf для включения межсетевого экрана, важно убедиться в том, что он включается после настройки интерфейсов.

Далее необходимо определить, что именно делает ваш межсетевой экран! Это в основном зависит от того, насколько широкий доступ вы хотите открыть снаружи к вашей сети. Вот несколько общих правил:

    Заблокируйте доступ снаружи к портам TCP с номерами ниже 1024. Здесь расположена большая часть критичных для безопасности сервисов, таких как finger, SMTP (почта) и telnet.

    Заблокируйте весь входящий трафик UDP. Есть очень немного полезных сервисов, работающих через UDP, но они обычно представляют угрозу безопасности (например, Sun RPC и NFS протоколы). У этого способа есть и недостатки, поскольку протокол UDP не поддерживает соединения, и запрещение входящих пактов заблокирует также ответы на исходящий UDP трафик. Это может стать проблемой для тех, кто использует внешние серверы, работающие с UDP. Если вы хотите открыть доступ к этим сервисам, потребуется разрешить входящие пакеты с соответствующих портов. К примеру, для ntp вам может потребоваться разрешить пакеты, приходящие с порта 123.

    Заблокировать весь трафик снаружи к порту 6000. Порт 6000 используется для доступа к серверам X11, и может быть угрозой безопасности (особенно если у пользователей есть привычка выполнять на своих рабочих станциях команду xhost +). X11 может использовать диапазон портов, начинающийся с 6000, верхний предел определяется количеством X дисплеев, которые могут быть запущены на машине. Верхний предел, определенный RFC 1700 (Assigned Numbers), равен 6063.

    Проверьте порты, используемые внутренними сервисами (например, SQL серверами и т.п.). Возможно хорошей идеей является блокирование и этих портов, поскольку они обычно не попадают в диапазон 1-1024, указанный выше.

Еще один список для проверки настроек межсетевого экрана доступен на CERT по адресу http://www.cert.org/tech_tips/packet_filtering.html

Как сказано выше, все эти правила всего лишь руководство . Вы сами сможете решить, какие правила фильтрации будут использованы в межсетевом экране. Мы не можем нести НИКАКОЙ ответственности в случае взлома вашей сети, даже если вы следовали советам, представленным выше.

14.9.7. Накладные расходы и оптимизация IPFW

Многие пользователи хотят знать, как сильно IPFW нагружает систему. Ответ в основном зависит от набора правил и скорости процессора. При небольшом наборе правил для большинства приложений, работающих в Ethernet ответ «незначительно». Для тех, кому нужен более точный ответ, и предназначен этот раздел.

Последующие измерения были выполнены с 2.2.5-STABLE на 486-66. (Хотя IPFW немного изменился в последующих релизах FreeBSD, скорость осталась приблизительно той же.) IPFW был модифицирован для измерения времени, затраченного ip_fw_chk, с выводом на консоль результата после каждого 1000-го пакета.

Были протестированы два набора из 1000 правил. Первый был составлен для демонстрации плохого набора правил путем повторения правила:

# ipfw add deny tcp from any to any 55555

Этот набор правил плох, поскольку большая часть правил IPFW не соответствует проверяемым пакетам (из-за номера порта). После 999-й итерации этого правила следует правило allow ip from any to any.

Второй набор правил был разработан для быстрейшей проверки каждого правила:

# ipfw add deny ip from 1.2.3.4 to 1.2.3.4

Не совпадающий IP адрес источника в правиле выше приведет к очень быстрой проверке этих правил. Как и прежде, 1000-е правило allow ip from any to any.

Затраты на проверку пакета в первом случае приблизительно 2.703 мс/пакет, или приблизительно 2.7 микросекунд на правило. Теоретический предел скорости проверки около 370 пакетов в секунду. Предполагая подключение через 10 Mbps Ethernet и размер пакета приблизительно 1500 байт, получаем только 55.5% использования пропускной способности.

Во втором случае каждый пакет был проверен приблизительно за 1.172 мс, или приблизительно 1.2 микросекунд на правило. Теоретический предел скорости проверки около 853 пакетов в секунду, что делает возможным полное использование пропускной способности 10 Mbps Ethernet.

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

    Поместите правило established как можно раньше для обработки большей части TCP трафика. Не помещайте перед ним правила allow tcp.

    Помещайте часто используемые правила ближе к началу набора чем редко используемые (конечно же, без изменения действия всего набора ). Вы можете определить наиболее часто используемые правила путем проверки счетчиков пакетов командой ipfw -a l.