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

Введение

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

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

Основной синтаксис

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

$ iptables -A <chain> -p <protocol> -s <source> -d <destination> -j <action>

Где:

  • <chain> название цепочки (объясняется ниже)
  • <protocol> протокол трафика (обычно TCP, UDP или ICMP)
  • <source> IP-адрес источника
  • <destination> IP-адрес назначения
  • <action> действие, которое необходимо предпринять (обычно ACCEPT или DROP)

Цепочки

Цепочки используются для объединения связанных правил iptables. Существует три встроенных цепочки:

  • INPUT: для входящего трафика
  • OUTPUT: для исходящего трафика
  • FORWARD : в случае трафика, направляемого из одной сети в другую.

Также можно создавать собственные цепочки.

Действия

Существует два основных действия, которые мы можем выполнять с помощью iptables: ACCEPT и DROP.

  • ACCEPT: разрешает прохождение трафика
  • DROP: блокирует трафик

Основные команды

Правила листинга

Сайт iptables -L используется для перечисления всех правил в цепочке.

$ 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   

Команда -v используется для вывода списка правил с подробным выводом.

$ iptables -L -v
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 -A используется для добавления правила в конец цепочки.

$ iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

Команда -I используется для добавления правила в указанную позицию в цепочке.

$ iptables -I INPUT 2 -s 192.168.1.0/24 -j ACCEPT

[-p опция используется для указания протокола и --dport опция используется для указания порта назначения.

$ iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Удаление правил

Сайт iptables -D используется для удаления правила в указанной позиции в цепочке.

$ iptables -D INPUT 2

-F : используется для удаления всех правил в цепочке.

$ iptables -F INPUT

-X : Опция используется для удаления заданной пользователем цепочки.

$ iptables -X mychain

-P Эта опция используется для указания политики по умолчанию для цепочки.

$ iptables -P INPUT DROP

Сохранение правил

The iptables-save используется для сохранения текущих правил iptables.

$ iptables-save > /etc/iptables.rules

[iptables-restore используется для восстановления сохраненных правил iptables.

$ iptables-restore < /etc/iptables.rules

Заключение

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

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

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