Часть брандмауэра на сервере:
iptables -A INPUT -p tcp --dport 22 -m state NEW --state -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 100 --hitcount 10 -j DROP
Когда я ищу в Интернете, я всегда вижу, что NEW используется в этом правиле, но мне трудно понять, почему ESTABLISHED и RELATED не используются.
Нравится :
iptables -A INPUT -p tcp --dport 22 -m state NEW,ESTABLISHED,RELATED --state -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -m recent --update --seconds 100 --hitcount 10 -j DROP
Может кто-нибудь объяснить мне, когда именно НОВЫЙ пакет превращается в УСТАНОВЛЕННЫЙ и СВЯЗАННЫЙ?
SYN
/ACK
/RST
/ etc, когда они проходят через маршрутизатор, и я ожидаю, что iptables сделает это.Начисление как для сервера, так и для клиента ограничительное
INPUT
и открытоеOUTPUT
, то есть:И из iptables-extensions (8) на примере FTP в активном режиме:
1. НОВЫЙ
Клиент на порту
50000
(любой случайный непривилегированный порт) подключается к FTP-серверу на порту21
, серверу потребуется по крайней мере это, чтобы принять это входящее соединение:2. УСТАНОВЛЕНО
Теперь на стороне клиента, он открыл исходящее соединение с сервером на порт ,
21
используя локальный порт ,50000
и он нуждается в следующих IPTables , чтобы ответ на прибыть отserver (21)
доclient (50000)
:3. СВЯЗАННЫЕ
Теперь, когда FTP-соединение установлено и соединение для передачи данных должно быть выполнено, клиент откроет сокет сервера (да, с активным FTP-клиентом становится сервером для передачи данных) на порту
60000
(на мой взгляд, клиент помечает этот порт60000
чтоRELATED
касается другого соединения с50000->21
) и отправит этот номер порта на сервер с помощью команды FTPPORT
. Затем FTP-сервер откроет новое соединение от своего порта20
к порту60000
на клиенте, и теперь клиенту требуется следующее, чтобы это новое соединение было успешным:Наконец, чтобы это работало, вам нужно включить
ip_conntrack_ftp
модуль ядра, чтобы система помечала соединения / пакеты какRELATED
(это мое понимание, я не слишком много на этом разбирался):источник
INPUT
.