🛡️ Как просмотреть все правила iptables |

🛡️ Как просмотреть все правила iptables

Мануал

Введение

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

Они выступают в качестве барьера между доверенной внутренней сетью и недоверенными внешними сетями.

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

На Linux iptables – это надежный пользовательский сетевой брандмауэр, который позволяет пользователям определять правила, регулирующие сетевой трафик.

Как скрыть порт приложения используя knockd в Linux

Хорошее знание установленных правил ведет к эффективному управлению.

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

В этом руководстве мы изучим iptables и узнаем, как просмотреть все правила iptables в Linux.

Эти знания позволят нам понять защитные механизмы нашей сетевой инфраструктуры.

Как добавить комментарии к правилам iptables в Linux

Что такое iptables

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

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

Обычно iptables поставляется предустановленным в системах Linux.

Для работы с этой утилитой нам нужны права пользователя root.

Давайте попробуем вывести версию iptables, чтобы проверить статус установки:

sudo iptables --version
iptables v1.8.10 (nf_tables)

Если команда iptables -version ничего не выводит, это означает, что iptables не установлен в нашей текущей системе.

В этом случае мы можем установить iptables вручную:

Для систем Debian и Ubuntu
sudo apt-get install iptables
Для CentOS и других систем на базе RPM
sudo yum install iptables

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

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

Более детально: Учебное пособие по брандмауэру Linux: таблицы, цепочки, основы IPTables на пальцах

Просмотр всех правил iptables (таблица по умолчанию)

Мы можем использовать несколько опций для вывода всех правил, доступных в iptables.

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

🖧 Как навсегда сохранить правила брандмауэра iptables на Linux

Во-первых, чтобы вывести список всех активных правил, мы можем использовать:

iptables -S [chain_name]
iptables --list-rules [chain_name]

Здесь оба параметра -S и -list-rules обозначают одну и ту же функциональность.

Они выводят все правила, доступные для выбранной цепочки.

Примечательно, что аргумент chain_name является необязательным.

Если мы не указываем конкретную цепочку, утилита выводит правила для всех цепочек сразу.

Вот пример вывода результатов работы утилиты iptables с опцией -S:

iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

В этом случае выводятся правила по умолчанию, которые настроены на прием всех пакетов в цепочках INPUT, FORWARD и OUTPUT.

Мы можем использовать аналогичный набор команд для выполнения той же задачи – перечисления всех правил в таблице по умолчанию:

iptables -L [chain_name]
iptables --list [chain_name]

В этих командах опции -L и -list взаимозаменяемы.

Их задача – вывести все правила в опционально выбранной цепочке.

Основное отличие этих опций от -S или -list-rules заключается в формате вывода.

Запустим команду iptables, не указывая никакой цепочки:

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Из результатов видно, что политика по умолчанию – принимать все пакеты для трех цепочек: INPUT, FORWARD и OUTPUT.

Мы можем заметить, что формат вывода немного отличается, но правила по сути одинаковы.

Вывод правил различных таблиц

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

Мы можем использовать опцию -t, чтобы указать конкретную таблицу:

iptables -L -v -t table_name

Здесь мы используем ту же опцию -L, что и в предыдущем разделе, которая перечисляет все правила во всех цепочках.

Опция -v или -verbose позволяет iptables отображать дополнительную информацию, такую как имена интерфейсов, параметры правил и т. д.

Опция -verbose особенно полезна, так как позволяет указать в выводе различные важные критерии, которые обычно не выводятся.

Так, чтобы вывести правила всех пяти таблиц, мы выполним команду:

iptables -L -v -t filter
iptables -L -v -t nat
iptables -L -v -t mangle
iptables -L -v -t raw
iptables -L -v -t security

Рассмотрим один конкретный пример вывода всех правил по умолчанию в таблице security:

iptables -L -v -t security
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Аналогичным образом мы можем перечислить правила, содержащиеся в остальных четырех таблицах.

Просмотр правил различных цепочек

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

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

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

Чтобы просмотреть цепочку в одной конкретной таблице, мы можем выполнить команду:

iptables -L chain_name -v -t table_name

Здесь мы указываем аргументы chain_name и table_name, что дает нам больше контроля над тем, какие правила просматривать.

Кроме того, имя_цепочки должно быть указано сразу после опции -L.

Опять же, мы можем заменить опцию -L на опцию -S, чтобы отформатировать вывод по-другому.

Рассмотрим пример вывода списка всех правил INPUT таблицы nat:

iptables -L INPUT -v -t nat
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Это правило по умолчанию, которое принимает любой пакет для трансляции сетевых адресов (NAT).

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

🛡️ Как перенести правила iptables CentOS / RHEL 6 в CentOS / RHEL 7 firewalld

Заключение

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

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

Мы начали с краткого обзора iptables, включая его установку, основные правила, цепочки и таблицы.

Затем мы рассмотрели несколько опций, которые помогают распечатать список правил для таблицы по умолчанию.

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

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий