Я уверен, что это в основном мое недопонимание того, как работает iptables, но я установил некоторые правила ...
-A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m multiport --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m multiport --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
И мой вывод iptables -L -n -v:
Chain INPUT (policy ACCEPT 603K packets, 272M bytes)
pkts bytes target prot opt in out source destination
19382 1874K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 state NEW,ESTABLISHED
1241K 205M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443 state NEW,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 628K packets, 120M bytes)
pkts bytes target prot opt in out source destination
22575 3769K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:22 state ESTABLISHED
1085K 888M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport sports 80,443 state ESTABLISHED
К сожалению, с этой настройкой соединения, такие как FTP, могут все еще соединяться. Я хотел, чтобы эти правила были единственными доступными вариантами подключения. Другими словами, в основном запрещают что-либо, кроме доступа через SSH и общие порты веб-сервера.
Как мне изменить мои настройки, чтобы выполнить такую конфигурацию?