Назад | Перейти на главную страницу

Только наличие 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?

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

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

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

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

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