Фильтрация пакетов с помощью программы "iptables"

Альтернативные средства фильтрации. Создание брандмауэра средствами iptables. Формирование политики по умолчанию. Использование номеров портов при выполнении фильтрации. Сценарий для создания брандмауэра. Протоколирование хода обработки пакетов.

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 27.11.2013
Размер файла 105,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Задачи, решаемые с помощью перенаправления портов

Перенаправление портов может потребоваться в следующих ситуациях.

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

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

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

Необходимость в пренаправлении запросов компьютерам локальной сети часто возникает при использовании NAT-маршрутизатора. При этом уровень защиты несколько снижается, так как вы предоставляете внешним узлам доступ к одному из компьютеров (точнее, к одному из портов да нем). Подобное решение допускает выполнение лишь одного внутреннего сервера, ожидающего обращения через определенный порт. Если вы хотите запустить во внутренней сети два сервера одного типа, доступных извне (например, два Web-сервера), то один из них должен использовать нестандартный порт либо эти серверы должны быть представлены на внешних компьютерах с разными IP-адресами.

Опции iptables для перенаправления портов

Обеспечить перенаправление портов на компьютере под управлением Linux, поддерживающем NAT, можно различными способами. Один из них состоит в использовании iptables. Соответствующая команда имеет следующий вид:

# iptables -t nat -A PREROUTING -p tcp -i external-interface \

--destination-port port-num -j DNAT --to dest-addr : port-num

Ниже описаны компоненты данной команды.

* Опция, определяющая таблицу NAT (-t nat).

* Опция -A PREROUTING, указывающая на то, что изменения должны вноситься в состав пакета перед выполнением маршрутизации. Базовые средства NAT применяются после маршрутизации, но перенаправление портов предшествует маршрутизации.

* Опция, которая задает перенаправление TCP-портов (-р tcp).

Правило, применяемое к пакетам, направленным через внешний интерфейс (-1 внешний_интерфейс) по конкретному порту (-destinati on-port номер порта).

Опция - j DNAT, указывающая на то, что вместо NAT источника (SNAT) выполняется NAT назначения (DNAT).

* Опция --to адрес_назначения: номер_порта, сообщающая, что пакет должен быть направлен на указанный адрес с использованием указанного номера порта. В качестве адреса назначения можно указать, например, адрес 192.168.9.33, а номер порта может быть равен 80. Заметьте, что номер порта, задаваемый посредством опции --to, не обязательно должен совпадать с номером порта, представляющим значение опции --destination-port.

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

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

2.11 Протоколирование хода обработки пакетов

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

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

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

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

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

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

Если в вашей системе установлена политика по умолчанию ACCEPT, вы можете получать информацию об отвергнутых пакетах, продублировав каждое запрещающее правило аналогичным правилом, в котором действие DENY или REJECT заменено на LOG.

В качестве примера рассмотрим следующие правила брандмауэра, для которого установлена политика по умолчанию ACCEPT. Эти правила предназначены для блокирования попыток обмена с сетью 172.24.0.0/16; информация об отвергнутых пакетах записывается в файл протокола.

iptables -A INPUT -s 172.24.0.0/16 -j LOG

iptables -A OUTPUT -d 172.24.0.0/16 -j LOG

iptables -A INPUT -s 172.24.0.0/16 -j DROP

iptables -A OUTPUT -d 172.24.0.0/16 -j DROP

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

В результате протоколирования в файл /var/log/messages записываются сведения, подобные приведенным ниже.

Nov 18 22:13:21 teela kernel: IN=ethO OUT=

MAC=00:05:02:a7:76:da:00:50:bf:19:7e:99:08:00 SRC=192.168.1.3 DST=192.168.1.2 LEN=40 TOS=OxlO PREC=OxOO TTL=64 ID-16023 DF PROTO=TCP SPT=4780 DPT=22 WINDOW=32120 RES=OxOO ACK URGP=0

В состав записи входят следующие данные.

Дата и время. Первый компонент записи сообщает время получения пакета.

Имя системы. В данном примере компьютер имеет имя teela.

Входной интерфейс. Поле IN=ethO указывает на то, что пакет был получен через этот интерфейс.

Выходной интерфейс. Данный пакет является входным, поэтому поле OUT= отсутствует в составе записи.

МАС-адрес. В полеМАС= указываются два МАС-адреса: локальной и удаленной систем.

IP-адреса источника и назначения. Поля SRC= и DST= содержат соответственно IP-адреса источника и назначения.

Порты источника и назначения. Поля SPT= и DPT= содержат соответственно порты источника и назначения.

Информация о пакете. Остальные поля предоставляют дополнительные сведения о пакете, в частности, его длину (LEN=), время жизни (TTL=) и другие данные.

При определении правила LOG могут быть заданы дополнительные опции, которые позволяют указать, какие сведения должны быть записаны в файл протокола. Наиболее часто применяется опция --log-prefix префикс. Она позволяет задать строку длиной до 29 символов, которая дает возможность идентифицировать правило, вызвавшее появление этой записи.

2.12 Резюме

Программа iptables часто применяется для создания брандмауэров, настройки средств NAT, организации перенаправления портов и протоколирования хода обработки пакетов. Часто различные способы обработки пакетов используются совместно. Так, например, на одном компьютере могут быть реализованы брандмауэр, NAT-маршрутизатор и протоколирование хода обработки. Каждый вызов iptables задает отдельное правило, но для решения большинства задач необходимо определить несколько правил. Поэтому последовательность вызовов iptables организуется в виде сценария.

Размещено на Allbest.ru


Подобные документы

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

    презентация [480,6 K], добавлен 18.05.2011

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

    реферат [141,0 K], добавлен 28.04.2010

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

    курсовая работа [3,0 M], добавлен 30.11.2010

  • Требования к подсистеме создания Scorm-пакетов. Построение диаграммы потоков данных. Проектирование программного средства. Выбор средств реализации подсистемы. Организация взаимодействия приложения с базой данных. Реализация пользовательского интерфейса.

    курсовая работа [634,2 K], добавлен 16.08.2012

  • Средства первичной обработки данных MS Excel. Сортировка связанных областей. Виды поиска: по формату; по содержанию. Главные средства фильтрации. Использование форм в поиске записей. Целостная обработка данных таблицы на примере телефонного справочника.

    курсовая работа [426,1 K], добавлен 29.11.2010

  • Обзор программного обеспечения для проектирования устройств фильтрации, исследование их возможностей и свойств, обоснование выбора. Моделирование фильтра на схемотехническом уровне в системе Electronic Workbench в частотной и временной областях.

    курсовая работа [2,8 M], добавлен 13.03.2012

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

    курсовая работа [59,7 K], добавлен 29.06.2011

  • Классификация пакетов прикладных программ. Microsoft Office как популярный пакет, предназначенный для решения задач автоматизации офиса. Пример формирования калькуляции стоимости выпечных изделий на хлебозаводе с помощью табличного процессора MS Excel.

    курсовая работа [1,3 M], добавлен 05.06.2013

  • Задачи цифровой обработки изображений. Методы пороговой сегментации. Создание программы представления рисунка в виде матрицы и применения к нему пороговой обработки. Разработка интерфейса программы загрузки и фильтрации изображения с выбранным порогом.

    курсовая работа [2,0 M], добавлен 12.11.2012

  • Разработка программного обеспечения, предназначенного для изменения характеристик исходного звукового сигнала с целью изменения характеристик его звучания. Алгоритмы обработки и фильтрации звукового сигнала, редактирование его, изменение темпа и уровня.

    дипломная работа [1,8 M], добавлен 08.07.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.