Serwer możesz całkowicie odciąć od internetu, tj. blokować caly ruch przychodzący, a zezwalać jedynie na wybranych portach, np. tak.
#!/bin/sh
# Czyszczenie reguł
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Polityka bezpieczeństwa
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Reguły pętli zwrotnej
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Reguły zapory
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 20:21 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # ruch z połączeń już nawiązanych
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # j.w.
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT # inicjowanie nowych połączeń wychodzących
Jeśli nie masz fizycznego dostępu do serwera lub dostępu do panelu z konsolą awaryjną, nie zapomnij dodać sobie jeszcze reguł zezwalających na łączenie się przez ssh, bo zablokujesz sobie całkowicie dostęp do serwera. Z regułą dla ssh wygladać to będzie tak.
#!/bin/sh
# Czyszczenie reguł
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Polityka bezpieczeństwa
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Reguły pętli zwrotnej
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Reguły zapory
iptables -A INPUT -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 20:21 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # ruch z połączeń już nawiązanych
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # j.w.
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT # inicjowanie nowych połączeń wychodzących
Jeśli FTP działa w trybie pasywnym, możesz skorzystać jeszcze z modułu śledzącego porty używane przez FTP przy użyciu ip_conntract_ftp.