🖧 Подборка основных популярных правил iptables

Мануал

Цель этого руководства – показать некоторые из наиболее распространенных команд iptables для систем Linux.

iptables – это брандмауэр, встроенный во все дистрибутивы Linux.

Даже такие дистрибутивы, как Ubuntu, который использует ufw (несложный брандмауэр) и Red Hat, который использует firewalld, по-прежнему передают свои команды iptables и используют его в фоновом режиме.

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

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

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

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

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

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

Содержание
  1. Правило iptables: Отклонить все исходящие сетевые подключения
  2. Правило iptables: Отклонение всех входящих сетевых подключений
  3. Правило iptables: Отклонение всех сетевых подключений
  4. Правило iptables: Отклонение входящих запросов ping
  5. Правило iptables: Разрыв исходящих telnet-соединений
  6. Правило iptables: Отклонение исходящих ssh-соединений
  7. Правило iptables: Отклонение входящих ssh-соединений
  8. Правило iptables: Отклонение всего входящего трафика, кроме ssh и локальных подключений
  9. Правило iptables: Прием входящих ssh-соединений с определенного IP-адреса
  10. Правило iptables: Прием входящих ssh-соединений с определенного MAC-адреса
  11. Правило iptables: Отклонение входящих подключений на определенном TCP-порту
  12. Правило iptables: Сброс всех входящих подключений на определенном сетевом интерфейсе
  13. Правило iptables: Cоздания простого IP-маскарадинга
  14. Правило iptables: Отклонять весь входящий трафик Telnet, кроме указанного IP-адреса.
  15. Правило iptables: Отклонять весь входящий трафик ssh, кроме указанного диапазона IP-адресов.
  16. Правило iptables: Отклонять весь весь исходящий трафик на конкретный удаленный хост
  17. Правило iptables: Блокировка доступа к определенному сайту
  18. Заключение

Правило iptables: Отклонить все исходящие сетевые подключения

Вторая строка правил разрешает только текущие исходящие и установленные соединения.

Это очень полезно, когда вы вошли на сервер через ssh или telnet.

# iptables -F OUTPUT
# iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -j REJECT

Правило iptables: Отклонение всех входящих сетевых подключений

# iptables -F INPUT
# iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
# iptables -A INPUT -j REJECT

Правило iptables: Отклонение всех сетевых подключений

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

Что еще более важно, это также будет включать текущие текущие установленные соединения.

# iptables -F
# iptables -A INPUT -j REJECT
# iptables -A OUTPUT -j REJECT
# iptables -A FORWARD -j REJECT

Правило iptables: Отклонение входящих запросов ping

Это правило iptables сбрасывает все входящие запросы ping.

Обратите внимание, что можно использовать REJECT вместо DROP.

Разница между DROP и REJECT заключается в том, что DROP автоматически отбрасывает входящий пакет, тогда как REJECT приведет к возврату ошибки ICMP.

# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

Правило iptables: Разрыв исходящих telnet-соединений

Это правило iptables блокирует любой исходящий трафик на любой хост, порт назначения которого равен 23 (telnet)

# iptables -A OUTPUT -p tcp --dport telnet -j REJECT

Правило iptables: Отклонение исходящих ssh-соединений

Это правило iptables будет отклонять все исходящие соединения, поступающие с локального порта 22 (ssh).

# iptables -A OUTPUT -p tcp --dport ssh -j REJECT

Правило iptables: Отклонение входящих ssh-соединений

Сброс всех входящих подключений к локальному порту 22 (ssh).

# iptables -A INPUT -p tcp --dport ssh -j REJECT

Правило iptables: Отклонение всего входящего трафика, кроме ssh и локальных подключений

Эти правила будут отклонять все входящие подключения к серверу, кроме подключений к порту 22 (SSH).

Система также будет принимать соединения через интерфейс loopback

# iptables -A INPUT -i lo -j ACCEPT
# iptables -A INPUT -p tcp --dport ssh -j ACCEPT
# iptables -A INPUT -j REJECT

Правило iptables: Прием входящих ssh-соединений с определенного IP-адреса

Используя это правило iptables, мы заблокируем все входящие подключения к порту 22 (ssh), кроме хоста с IP-адресом 77.66.55.44.

Это означает, что только хост с IP 77.66.55.44 сможет использовать ssh.

# iptables -A INPUT -p tcp -s 77.66.55.44 --dport ssh -j ACCEPT
# iptables -A INPUT -p tcp --dport ssh -j REJECT

Правило iptables: Прием входящих ssh-соединений с определенного MAC-адреса

Используя это правило iptables, мы заблокируем все входящие подключения к порту 22 (ssh), кроме хоста с MAC-адресом 00:e0:4c:f1:41:6b.

Другими словами, все ssh-соединения будут ограничены одним хостом с MAC-адресом 00:e0:4c:f1:41:6b.

# iptables -A INPUT -m mac --mac-source 00:e0:4c:f1:41:6b -p tcp --dport ssh -j ACCEPT
# iptables -A INPUT -p tcp --dport ssh -j REJECT

Правило iptables: Отклонение входящих подключений на определенном TCP-порту

Следующее правило iptables сбрасывает весь входящий трафик на TCP-порту 3333.

iptables -A INPUT -p tcp --dport 3333 -j REJECT

Правило iptables: Сброс всех входящих подключений на определенном сетевом интерфейсе

Следующее правило сбрасывает входящий трафик на конкретном сетевом интерфейсе из подсети 192.168.0.0/16.

Это очень полезно при попытке отбросить все поддельные IP-адреса.

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

Правило iptables: Cоздания простого IP-маскарадинга

Следующее правило создаст простой шлюз IP Masquerading, чтобы разрешить всем хостам в одной подсети доступ в Интернет.

Указанный ниже eth0 – это внешний интерфейс, подключенный к Интернету.

# echo "1" > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o $EXT_IFACE -j MASQUERADE

Правило iptables: Отклонять весь входящий трафик Telnet, кроме указанного IP-адреса.

Следующее правило iptables отклоняет весь входящий трафик Telnet, кроме запроса на соединение с IP-адреса 222.111.111.222.

# iptables -A INPUT -t filter ! -s 222.111.111.222 -p tcp --dport 23 -j REJECT

Правило iptables: Отклонять весь входящий трафик ssh, кроме указанного диапазона IP-адресов.

Следующее правило iptables отклоняет весь входящий трафик ssh, кроме запроса на соединение из диапазона IP-адресов 10.1.1.90 – 10.1.1.1.100.

Удаление “!” из приведенного ниже правила отклонить весь трафик ssh, исходящий из диапазона IP-адресов 10.1.1.90 – 10.1.1.100.

# iptables -A INPUT -t filter -m iprange ! --src-range 10.1.1.90-10.1.1.100  -p tcp --dport 22 -j REJECT

Правило iptables: Отклонять весь весь исходящий трафик на конкретный удаленный хост

Следующее правило iptables отклоняет весь исходящий трафик на удаленный хост с IP-адресом 222.111.111.222.

# iptables -A OUTPUT -d 222.111.111.222 -j REJECT

Правило iptables: Блокировка доступа к определенному сайту

Следующее правило iptables блокирует весь входящий трафик на facebook.com, где исходным портом является порт 80/www.

# iptables -A INPUT -s facebook.com -p tcp --sport www -j DROP

Обратите внимание, что приведенное выше правило iptables блокирует доступ как к facebook.com, так и к www.facebook.com.

Заключение

В этом руководстве мы увидели набор основных правил iptables на Linux.

Статья включила всебя некоторые из наиболее распространенных правил, которые обычно применяются к системам, такие как блокировка SSH-соединений, отличных от тех, которые поступают с определенного IP-адреса.

Использование этих правил поможет защитить ваш сервер от атак и повысить безопасность в целом.

Не стесняйтесь адаптировать эти примеры к вашим собственным сценариям.

 

 

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