Только наличие STATE NEW в iptables будет блокировать УСТАНОВЛЕННЫЕ соединения?

Мои iptables теперь выглядят следующим образом:

Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:12001 
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:12001 
3    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:8989 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:8989 
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8888 

Правило STATE NEW для порта 8989 будет пропускать новые соединения. Однако будет ли он блокировать все установленные подключения на порту 8989?

0
задан 21 May 2017 в 21:43
1 ответ

Если это вся ваша цепочка INPUT, она ничего не блокирует, потому что политика INPUT - ACCEPT и у вас нет правил DROP.

Если вам нужен работающий брандмауэр, вам необходимо либо измените политику INPUT на DROP, либо добавьте правило DROP. Но да, если вы это сделаете, вам также понадобится правило для принятия установленных соединений. Вы можете сделать это так:

iptables -I INPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Это принимает все установленные соединения в качестве первого правила ввода, что обычно является разумным решением.

Если вы подключаетесь по ssh, убедитесь, что вы принимаете как новый, так и установленный TCP подключений к порту ssh перед добавлением политики или правила DROP. В противном случае вы можете заблокироваться.

2
ответ дан 4 December 2019 в 13:32

Теги

Похожие вопросы