Как закрыть 21 и 22 порты посредством iptables?

Как закрыть в обе стороны SFTP (22 порт) , FTP (21порт), UDP, ICMP, одновременно не трогая TCP - в iptables linux?


Ответы (2 шт):

Автор решения: NataliaRasskazova

iptables - A INPUT - p TCP - - dport 21 +-j DROP

→ Ссылка
Автор решения: Slavick Werewolf

Для блокировки трафика на порты 21 и 22 в обе стороны:

# Блокировка входящего и исходящего FTP (порт 21)

sudo iptables -A INPUT -p tcp --dport 21 -j DROP

sudo iptables -A OUTPUT -p tcp --sport 21 -j DROP

# Блокировка входящего и исходящего SFTP/SSH (порт 22)

sudo iptables -A INPUT -p tcp --dport 22 -j DROP

sudo iptables -A OUTPUT -p tcp --sport 22 -j DROP

--dport 21 и --dport 22 используются для блокировки входящего трафика на эти порты. --sport 21 и --sport 22 используются для блокировки исходящего трафика, который начинается с этих портов (например, когда ваш сервер выступает в роли клиента FTP или SFTP).

Для блокировки всего UDP-трафика в обе стороны:

# Блокировка всего входящего UDP-трафика

sudo iptables -A INPUT -p udp -j DROP

# Блокировка всего исходящего UDP-трафика

sudo iptables -A OUTPUT -p udp -j DROP

-p udp указывает протокол UDP.

Для блокировки всего ICMP-трафика в обе стороны:

# Блокировка всего входящего ICMP-трафика

sudo iptables -A INPUT -p icmp -j DROP

# Блокировка всего исходящего ICMP-трафика

sudo iptables -A OUTPUT -p icmp -j DROP

-p icmp указывает протокол ICMP.

ВАЖНО !!!

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

TCP-трафик не затрагивается: Эти правила не влияют на другие TCP-порты и протоколы, кроме 21 и 22. Весь остальной TCP-трафик (например, HTTP на порту 80, HTTPS на порту 443 и т.д.) будет по-прежнему разрешен, если только у вас нет других правил, которые его блокируют.

→ Ссылка