REJECT

Что лучше использовать для блокировки: REJECT или DROP?

DROP — закрывает соединение и не отправляет ничего в ответ отправителю, получается «мертвое» соединение, которое потом убивается по таймауту. Нужно учесть что при сканировании закрытых портов, они будут помечаться как filtered.

REJECT — сбрасывает соединение и отправляет в ответ сообщение, указанное в опции —reject-with. При сканировании (если установлено —reject-with icmp-port-unreachable) порт будет казаться закрытым, в отличии от DROP.

Действие REJECT в Руководство по iptables: Настройка и оптимизация фаервола Linux имеет опцию –reject-with.

iptables -A INPUT -s 10.26.95.20 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset 
iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A INPUT -j REJECT --reject-with icmp-proto-unreach

У опции –reject-with есть следующие аргументы:

  • icmp-net-unreachable — сеть недоступна;
  • icmp-host-unreachable — узел недоступен;
  • icmp-port-unreachable — порт недоступен;
  • icmp-proto-unreahable — неподдерживаемый протокол;
  • icmp-net-prohibited — сеть запрещена;
  • icmp-host-prohibited — узел запрещен;
  • tcp-reset - отправляет RST- сообщения отправителю. TCP RST пакеты используются для закрытия TCP соединений. Желательно использовать этот метод вместо вышеуказанных ICMP протокол диагностики перегрузки сети сообщений.

По умолчанию будет передано сообщение port-unreachable.

PQ VPS сервера в 28+ странах.