Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Настройка и работа с брандмауэром для Linux

05 апр. 2014

Термин «брандмауэр» у всех на устах, но общепринятого определения этого феномена не существует. Функции брандмауэра могут выполняться оборудованием: в таком случае под брандмауэром обычно понимается компьютер, стоящий на стыке локальной сети и Интернета. Многие ADSE-роутеры могут выполнять простейшие функции брандмауэров.

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


Брандмауэры для частных ПК



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

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

Другая опасность таится во WLAN: на настоящий момент хорошо защищенными можно считать только те сети WLAN, в которых применяется механизм WPA2, и то лишь при условии, что используемый пароль является достаточно длинным и сложным.

Вы можете возразить, что атака на ваш компьютер не имеет смысла, так как находящиеся на нем данные вряд ли кого-то заинтересуют. Может быть, и так. Но не каждая атака предпринимается с целью выведать данные, а потом манипулировать ими. Часто злоумышленник хочет установить у вас на компьютере маленькую программку, которой позже сможет воспользоваться. Жертвами подобных атак становятся миллионы компьютеров с Windows, которые могут как бы «удаленно управляться» злоумышленниками.

Брандмауэры для локальных сетей



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

В очень больших сетях часто бывает не один, а даже два брандмауэра. Первый брандмауэр служит лишь для обеспечения базовой безопасности, но является проницаемым для таких интернет-протоколов, как HTTP или FTP. Сетевое пространство в таком случае называется демилитаризованной зоной (DMZ). Этот термин означает, что внутри сети предпринимаются лишь ограниченные меры обеспечения безопасности. Как правило, в этой зоне располагается веб-сервер, а также другие сетевые серверы, которые должны быть общедоступны (то есть могут быть найдены через Интернет).

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


Помощь в конфигурации: фильтрация пакетов щелчком кнопкой мыши


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

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

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

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

Debian.

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

Fedora, Red Hat.

При установке Fedora и Red Hat по умолчанию создается брандмауэр, блокирующий все приходящие извне попытки соединения. Для создания конфигурации запустите через меню Система ► Администрирование ► Брандмауэр программу system-config-firewall. Теперь можно определить конкретные службы (например, SSH) и сетевые интерфейсы (например, интерфейс LAN) как безопасные и освободить их от действия брандмауэра. Для того компьютера, который выполняет функции шлюза, можно дополнительно задать интерфейс маскарадинга. Брандмауэр запускается в рамках процесса Init-V: файл правил — /etc/sysconfig/iptables; сценарий Init-V — /etc/init.d/iptables.

В дистрибутивах SUSE брандмауэр также создается по умолчанию, причем интерфейс для связи с Интернетом автоматически присваивается внешней зоне. Конфигурация осуществляется в модуле YaST Безопасность ► Брандмауэр. При этом отдельные вкладки открываются щелчком на записи в левой части окна YaST, где обычно расположены файлы справки, а не на отдельных диалоговых окнах, как это бывает в других случаях. Если компьютер служит шлюзом LAN, присвойте интерфейс LAN внешней зоне (это делается на вкладке Интерфейсы) и установите на вкладке Маскарадинг одноименный флажок. Как и в Fedora, брандмауэр запускается в рамках процесса Init-V: файл правил — /etc/sysconfig/SuSEfirewall; сценарий Init-V — /etc/init.d/SuSEfirewall2*.

Ubuntu.

В Ubuntu по умолчанию брандмауэр не создается, отсутствуют и соответствующие конфигурационные инструменты, но есть команда ufw («несложный брандмауэр»). Она позволяет задавать правила для брандмауэра с применением гораздо более простого синтаксиса, чем в iptables. Кроме того, предполагается, что в будущих версиях Ubuntu одновременно с установкой сетевых служб будут инсталлироваться соответствующие ufw-правила, обеспечивающие безопасность. Разумеется, до этого еще надо дожить: пока ufw применяется не так широко.

Если вам уже приходилось работать с фильтрами пакетов, то с ufw вы быстро добьетесь того, чего хотите. Кратко опишу синтаксис этой команды (более подробно этот вопрос рассмотрен в man ufw): ufw enable активизирует брандмауэр. В дальнейшем он будет автоматически активизироваться при каждом запуске компьютера. Команда ufw disable снова деактивизирует брандмауэр. Команда ufw default allow|deny указывает, как в принципе следует поступать со входящими пакетами: принимать или отклонять (как правило, действует параметр deny). Дополнительно, с помощью ufw allow|deny n или ufw allow|deny service вы определяете правила, которые будут действовать для отдельных портов или протоколов.

Все правила сохраняются в конфигурационных файлах в /etc/ufw. Команда ufw status выдает информацию о текущем состоянии брандмауэра.

<code>user$ sudo -s root# ufw enable root# ufw allow ssh root# ufw status

Firewall loaded To Action From

22:tcp ALLOW Anywhere 22:udp ALLOW Anywhere
</code>


Firestarter.

Это популярная, не зависящая от конкретного дистрибутива программа для конфигурации брандмауэров. При первом запуске открывается ассистент для создания базовой конфигурации. Сначала выбирается интерфейс, через который все компьютеры соединяются с Интернетом. Благодаря флажку Запуск с выбором брандмауэра брандмауэр автоматически активизируется, как только устанавливается соединение с Интернетом. Если ваш компьютер обращается за сетевыми параметрами на DHCP-сервер, вам также потребуется установить флажок Получать IP-адрес от DHCP-сервера.

На втором этапе вы можете конфигурировать ваш компьютер как шлюз. При необходимости Firestarter одновременно может сконфигурировать DHCP-сервер dhcpd, но для этого предварительно требуется установить специальный пакет. Завершите работу ассистента, нажав кнопку Сохранить, но не Закончить, иначе от-конфигурированные настройки будут сброшены.

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

Чтобы задать новые правила, выполните Система ► Управление системой ► Быстрый запуск, откройте вкладку Безопасность, выберите Правила для поступающего трафика и щелкните кнопкой мыши на области списка Разрешать подключения или Разрешать службу. Только теперь станет активной кнопка Добавить указание, которая открывает конфигурационное диалоговое окно. Новое правило активизируется нажатием кнопки Применить указание.

Количество правил фильтра. Команда iptables -L | wc -l позволяет оценить, какое количество правил используется при работе активного в данный момент брандмауэра. Итоговое число позволяет судить о том, насколько сложен брандмауэр, но ничего не говорит о степени его надежности! Лучше всего полностью подавить весь сетевой трафик, а для этого обычно достаточно одного-двух правил.

Сетевой фильтр



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

Маршрутизация.

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

Входной фильтр.

На основании определенных правил проверяется, следует ли обработать пришедший пакет с помощью локальных программ (например, сетевых демонов).

Локальный процесс.

В этом окне символически изображены все программы, обрабатывающие IP-пакеты на локальном компьютере либо создающие IP-пакеты (то есть это все сетевые службы, например, ftpd, httpd и т. д.).

Выходной фильтр.

На основании отдельных правил определяется, может ли IP-пакет снова покинуть ядро.

Фильтр переадресации.

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

NAT Postrouting.

Если компьютер должен предоставлять другим компьютерам доступ в Интернет путем маскарадинга, этот механизм выполняет нужные операции с IP-пакетами других компьютеров.

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


Действия



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

Deny — переадресация пакетов отклоняется без запроса о подтверждении (можно сказать, что при этом пакет удаляется и больше не существует). Отправитель никогда не узнает, что произошло с его пакетом. Reject — переадресация пакетов отклоняется с запросом о подтверждении. С пакетом происходит то же, что и в первом случае, но отправитель с другим ICMP-пакетом получает уведомление о том, что его пакет не был принят.

Accept — пакет переадресовывается.

Таблицы


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

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

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

Цепочки правил (chains)



В каждой из упомянутых таблиц предусмотрено несколько цепочек правил: О таблица фильтра — Input, Forward, Output;

таблица трансляции сетевых адресов — Prerouting, Output и Postrouting; О таблица mangle — Prerouting и Output.


ПРИМЕЧАНИЕ



Цепочки правил не зависят друг от друга, то есть существует две разные цепочки Prerouting и три разные цепочки Output. Однако в документации часто пишут, что речь идет просто о цепочке Output, не указывая, к какой именно таблице она относится. В таких случаях всегда имеются в виду цепочки таблицы-фильтра — далее мы увидим, что эта таблица является наиболее важной. Такая же трактовка касается и команды iptables: там с помощью параметра -t можно указать желаемую таблицу. Если этого параметра нет, то команда будет автоматически применена к таблице-фильтру.

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

Исходное состояние



В исходном состоянии в ядре активна только таблица-фильтр с тремя цепочками Input, Forward, Output. Ни одна из этих цепочек не содержит дополнительных правил и для всех трех по умолчанию задано действие по переадресации.

Команда iptables


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

Система nftables



Система сетевого фильтра входит в состав ядра с 2001 года. Со временем обнаружились определенные недостатки этой системы, и уже ведется работа над системой следующего поколения nftables. Однако пока еще рано судить, когда и в какой форме она заменит сетевой фильтр. Информацию вы можете найти на сайте http:// lwn.net/Articles/324989/.
Читайте так же:
Самостоятельно настроить брандмауэр с помощью iptables в Linux

Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать