- Просмотр правил iptables
- Как посмотреть правила iptables
- 1. Список правил из цепочки
- 2. Список правил из таблицы
- 3. Номера правил в iptables
- 4. Просмотр правил со статистикой пакетов
- Выводы
- Как вывести список и удалить правила брандмауэра UFW
- Подготовка
- Листинг правил UFW
- Удаление правил UFW
- Удаление правил UFW по номеру правила
- Удаление правил UFW по спецификации
- Сброс UFW и удаление всех правил
- Выводы
Просмотр правил iptables
В данной статье мы рассмотрим как посмотреть правила iptables с помощью команды iptables -L, а также основные её опции и параметры. Данная команда выводит в командную оболочку bash в структурированном виде все цепочки правил firewall Netfilter. Информация предоставляется для изучения уже настроенных возможностей межсетевого экрана и последующей их модификации с помощью других команд. Таблицы правил выводятся в текстовом режиме.
В отличии от графического интерфейса, отображение в текстовом режиме представляет из себя буквы на контрастном фоне. Для структурирования предоставляемой информации используются строго оформленные отступы и пробелы, формирующие строки и столбцы таблицы выводимой информации. При нехватке места на экране происходит перенос оставшейся части строки информации на новую строку при отображении. Далее рассмотрим особенности отображения предоставляемой командой iptables -L информации.
Как посмотреть правила iptables
В данном случае для демонстрации возможностей iptables используется операционная система Debian 10.2. Для возможности выполнения команды iptables необходимо, чтобы пользователю были предоставлены привилегии суперпользователя с помощью команды sudo. В связи с этим все команды будут выглядеть как sudo iptables [параметры] или sudo ip6tables [параметры] для IPv6.
Примечание: Для того, чтобы пользователю было позволено предоставлять привилегии суперпользователя, этого пользователя надо добавить в файл sudoers с помощью специального редактора visudo. Посмотрим на скриншот с результатом выполнения команды:
Существуют две версии утилиты для настройки брандмауэра Linux: iptables и ip6tables. Iptables используется для протокола IPv4, а ip6tables для протокола IPv6. Соответственно команда вывести все цепочки правил для межсетевого экрана имеет два варианта синтаксиса.
В дальнейшем рассмотрим только вариант для протокола IPv4, вариант для протокола IPv6 использует такой же синтаксис.
Выводимая на экран информация разбита на столбцы и строки. У каждого столбца свое наименование. С помощью дополнительных параметров команды sudo iptables -L можно добавлять дополнительные столбцы в выводимой таблице правил iptables. Рассмотрим название столбцов в стандартном выводе sudo iptables -L:
- target – выполняемое действие с пакетом при соответствии его данному правилу
- prot – протокол передачи данных, при котором применяется данное правило
- opt – дополнительные опции для правила
- source – IP адрес, подсеть, домен узла источника пакета, попадающего под выполнение данного правила
- destination – IP адрес, подсеть, домен узла назначения пакета, попадающего под выполнение данного правила
1. Список правил из цепочки
Команда чтобы вывести на экран конкретную цепочку правил выглядит следующим образом:
sudo iptables [ -L имя цепочки ]
Например просмотр правил iptables из цепочки OUTPUT:
2. Список правил из таблицы
По умолчанию выводится содержимое таблицы фильтрации пакетов filter. Команда вывода содержимого конкретно указанной таблицы выглядит следующим образом:
sudo iptables [ -t имя таблицы ] [ -L имя цепочки ]
sudo iptables -t nat -L OUTPUT
Вот список всех таблиц правил iptables:
- filter – таблица по умолчанию. Используется для фильтрации пакетов. Содержится в цепочках INPUT, FORWARD, OUTPUT
- raw – используется редко. Пакет проверяется на соответствие условиям данной таблицы до передачи системе определения состояний (conntrack), например, для того, чтобы не обрабатываться с помощью данной системы (действие NOTRACK). Система определения состояний позволяет фильтровать пакеты на уровне взаимодействия сеансов приложений. То есть фильтрует пакеты по сеансу связи – новый сеанс связи (NEW), уже установленный сеанс связи (ESTABLISHED), дополнительный сеанс связи к уже существующему (RELATED). Данная система позволяет реализовать высокоуровневый межсетевой экран, который вместо работы с пакетами работает с сеансами связи в рамках приложений. Содержится в цепочках PREROUTING и OUTPUT.
- mangle – содержит правила модификации обрабатываемых IP-пакетов. Например, изменение полей заголовков IP-пакетов, содержащих служебную информацию. Используется редко. Содержится в цепочках PREROUTING, INPUT, FORWARD, OUTPUT,
- nat – предназначена для подмены адреса отправителя или получателя. Данная таблица применяется только к первому пакету из потока протокола передачи данных по сети, к остальным пакетам потока пакетов выбранное действие применяется далее автоматически. Таблицу используют, например, для трансляции адресов отправителя и получателя, для маскировки адресов отправителя или получателя. Это делается в основном в двух случаях. Первый – когда необходимо организовать доступ к сети Интернет нескольким компьютерам, расположенным за данным компьютером. Второй – когда необходимо спрятать (замаскировать) в целях безопасности отправителя или получателя информации, передаваемой по сети Интернет. Содержится в цепочках PREROUTING, OUTPUT, POSTROUTING.
3. Номера правил в iptables
Следующая команда позволяет нам вывести номера правил iptables, которые потом можно использовать для управления ими на экран:
sudo iptables [ -t таблица ] [ -L имя_цепочки ] —line-numbers -n
sudo iptables -t filter -L —line-numbers -n
4. Просмотр правил со статистикой пакетов
Чтобы посмотреть таблицу правил со счетчиком переданного (полученного) количества байтов (bytes) и пакетов (pkts) используется следующая команда:
sudo iptables [ -t таблица ] [ -L имя цепочки ] -n -v
sudo iptables -t filter -L -n -v
Выводы
Вот мы и рассмотрели основные способы как посмотреть правила iptables в табличном виде. Теперь мы знаем, как выбирать таблицу правил межсетевого экрана, как выбирать цепочку правил для просмотра на экране, наименования столбцов и их смысловое значение в выводимой таблице правил, а также некоторые возможности добавления дополнительных столбцов в выводимую таблицу правил.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как вывести список и удалить правила брандмауэра UFW
UFW расшифровывается как Uncomplicated Firewall и представляет собой удобный интерфейс для управления правилами межсетевого экрана iptables (netfilter). Это инструмент настройки брандмауэра по умолчанию для Ubuntu, а также доступен для других популярных дистрибутивов Linux, таких как Debian и Arch Linux.
В этом руководстве мы расскажем, как составлять список и удалять правила брандмауэра UFW.
Подготовка
Пользователь, выполняющий команды UFW, должен быть пользователем sudo .
Листинг правил UFW
Одна из самых распространенных задач при управлении брандмауэром — это перечисление правил.
Вы можете проверить статус UFW и перечислить все правила с помощью:
Если UFW отключен, вы увидите что-то вроде этого:
В противном случае, если UFW активен, на выходе будет напечатан список всех активных правил брандмауэра:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)
Чтобы получить дополнительную информацию, используйте status verbose :
Вывод будет включать информацию о ведении журнала, политиках по умолчанию и новых профилях:
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)
Используйте status numbered чтобы получить порядок и идентификационный номер всех активных правил. Это полезно, когда вы хотите вставить новое пронумерованное правило или удалить существующее правило на основе его номера.
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 22/tcp (v6) ALLOW IN Anywhere (v6)
Удаление правил UFW
Есть два способа удалить правила UFW:
Если вы удаляете правила брандмауэра через SSH, убедитесь, что вы не заблокировали себя на удаленном сервере, удалив правило, разрешающее трафик SSH. По умолчанию SSH прослушивает порт 22 .
Удалить правила UFW по номеру правила проще, потому что вам нужно только найти и ввести номер правила, которое вы хотите удалить, а не все правило.
Удаление правил UFW по номеру правила
Чтобы удалить правило UFW по его номеру, сначала нужно перечислить правила и найти номер правила, которое вы хотите удалить:
Команда выдаст вам список всех правил брандмауэра и их номера:
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere [ 3] 443/tcp ALLOW IN Anywhere [ 4] 8069/tcp ALLOW IN Anywhere
ufw delete номер правила, используйте команду ufw delete а затем номер правила, которое вы хотите удалить.
Например, чтобы удалить правило с номером 4 , вы должны ввести:
Вам будет предложено подтвердить, что вы хотите удалить правило:
Deleting: allow 22/tcp Proceed with operation (y|n)? y
Введите y , нажмите Enter и правило будет удалено:
Каждый раз, когда вы удаляете правило, номер правила будет меняться. На всякий случай всегда перечисляйте правила перед удалением другого правила.
Удаление правил UFW по спецификации
Второй метод удаления правила — использование команды ufw delete за которой следует правило.
Например, если вы добавили правило, открывающее порт 2222 , с помощью следующей команды:
Вы можете удалить правило, набрав:
sudo ufw delete allow 2222
Сброс UFW и удаление всех правил
Сброс UFW отключит брандмауэр и удалит все активные правила. Это полезно, если вы хотите отменить все свои изменения и начать заново.
Чтобы сбросить UFW, введите следующую команду:
Выводы
Вы узнали, как составлять список и удалять правила брандмауэра UFW. При настройке брандмауэра всегда разрешайте только те входящие соединения, которые необходимы для правильного функционирования вашей системы.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.