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

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

Правило 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.

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