Настройка фаервола для linux

Настройка фаервола Линукс

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

Фаерволы для частных ПК

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

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

Фаерволы для локальных сетей

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

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

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

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

Читайте также:  Virtual usb multikey как удалить windows 10

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

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

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

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 вы определяете правила, которые будут действовать для отдельных портов или протоколов.

Читайте также:  Загрузка windows 10 с флешки через биос asus

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

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

Firestarter

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

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

Чтобы задать новые правила, выполните Система > Управление системой > Быстрый запуск, откройте вкладку Безопасность, выберите Правила для поступающего трафика и щелкните кнопкой мыши на области списка Разрешать подключения или Разрешать службу. Только теперь станет активной кнопка Добавить указание, которая открывает конфигурационное диалоговое окно. Новое правило активизируется нажатием кнопки Применить указание. Количество правил фильтра. Команда iptables -L | wc -l позволяет оценить, какое количество правил используется при работе активного в данный момент фаервола. Итоговое число позволяет судить о том, насколько сложен фаервол, но ничего не говорит о степени его надежности! Лучше всего полностью подавить весь сетевой трафик, а для этого обычно достаточно одного-двух правил.

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

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

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

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

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

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

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

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

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

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

NAT Postrouting

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

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

Читайте также:  Windows message queuing service что это

Действия

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

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

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

Таблицы

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

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

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

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

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

Примечание

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

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

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

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

Команда iptables

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

Источник

Оцените статью