Фаерволл Кали Линукс: настройка iptables

В статье рассмотрены основные правила настройки и принципы построения того, что принимается за фаерволл Кали Линукс.

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

Знакомство с таблицами iptables

Возможности этой команды в Дебиан и других системах различны. Так, в Redhat и Fedora вроде как существует конкретный скрипт в /etc/init.d, который призван изменять конфигурацию iptables (напрямую его останавливать и запускать). Так что, работая в Кали Линукс, пользователи ошибочно пытаются применять подобную технику, но неизменно сталкиваются с отказом системы на такие действия. Нет, скрипт, конечно, можно написать и впоследствии им пользоваться. Но по умолчанию пользователи Дебиан этого скрипта не найдут.





Проверим наличие таблиц командой:

dpkg -l | grep iptables

Бывает, что терминал молчит. Тогда доустановим таблицы командой

apt-get install iptables

Чтобы приступить к настройкам таблиц, предлагаю вам создать пустой файл firewall.rules, который затем можно будет конфигурировать вручную из терминала или в любом текстовом редакторе. Сделаем это командой:

iptables-save > /root/firewall.rules

файл конфигурации фаерволла кали линукс

Сразу запоминаем ещё одну команду:

iptables-restore < /root/firewall.rules

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

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

iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Теперь сохраняем данные в файле firewall.rules уже знакомой вам командой:

iptables-save > /root/firewall.rules

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

leafpad /root/firewall.rules

файл firewall.rules

Или прямо из терминала:

vim /root/firewall.rules

ВНИМАНИЕ!

Теперь фаерволл Кали сконфигурирован теперь так, что ВСЯКИЙ может попасть КУДА УГОДНО. Подобная конфигурация — лёгкий способ настроить Кали для начала тестирования на проникновения при сетевой настройке виртуальных операционных систем. Открытые настройки позволяют пинговать Кали из гостевой ОС (в качестве которых у вас на хозяйской Кали могут присутствовать гостевые системы семейства Windows). Вариант, когда виртуальная машина настраивается таким образом, чтобы и гостевая и хост-система взаимопинговались, рассмотрен в статье Сетевые настройки VirtualBox в Кали Линукс.

Фаерволл Кали Линукс: основные правила

Интересующие нас в файле firewall.rules содержат следующие пустые цепочки. Откройте их список командой:

iptables -L

цепочки таблиц фаервола ядра

Эти цепочки показывают установки (запрет или разрешения) на типы сетевого трафика. Так, input отвечает за соединения, прибывающий на облачный сервер, output отвечает за исходящий трафик, а forward — за данные, пропускаемые системой. Каждая из цепочек,, как видно, имеет свой параметр с именем policy, которым определяется как сетевой трафик следует обработать. По умолчанию никаких фильтров на траф не предусмотрено (стоит значение accept).

Фаерволл Кали Линукс: добавляем правила

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

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

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Сейчас и потом проверяйте проделанные изменения командой:

iptables -L

Теперь разрешим трафик для конкретного порта для работы по защищённому каналу:

iptables -A INPUT -p tcp --dport ssh -j ACCEPT

Флаг ssh в команде переводит защищённый трафик на предназначенный по умолчанию для этого порт за номером 22. Кстати, запомните эту команду. Она вам пригодится, если вы задумаете открыть для трафика другие порты. Давайте воспользуемся это командой прямо сейчас: разрешим соединение с HTTP сервером. Получается (вместо HTTP можно сразу указать номер порта), что команда примет такой вид:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

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

iptables -P INPUT DROP

или

iptables --policy INPUT DROP

Подобные правила для политик настраиваются похожим образом для каждой из цепочек по принципу «имя_цепочкиDROP/ACCEPT«.

Фаерволл Кали Линукс: сохраняем настройки

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

iptables-save > /root/firewall.rules

Запоминайте:

iptables-restore > /root/firewall.rules

перепишет существующие правила

iptables-restore -n > /root/firewall.rules

добавит новое правило к существующим. Вот так выглядит простой набор команд в числе работы с фаерволом Кали.

Успехов вам.

Запись опубликована в рубрике Linux. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5 + 3 =