Вы должны заблокировать все и выборочно разрешить, какие порты вам нужно. К счастью, если вы случайно заблокировали себя, вы можете получить доступ к своему Linode через консоль Lish, чтобы сбросить все ошибочные правила брандмауэра.
Вот некоторые конфигурации брандмауэра, которые я регулярно использую:
Разрешить SSH, HTTP, HTTPS
iptables -A INPUT -p tcp -m multiport --destination-ports 22,80,443 -j ACCEPT
iptables -A INPUT -s 127.0.0.1/24 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
Если вам нужно разрешить FTP, включите порт 21 (для пассивных соединений вам может потребоваться определить дополнительный диапазон портов, который я использую 21000-21100:
iptables -A INPUT -p tcp -m multiport --destination-ports 21,22,80,443,21000:21100 -j ACCEPT
iptables -A INPUT -s 127.0.0.1/24 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
По какой-то причине я также обнаружил, что не могу отправлять почту, используя sendmail, exim и т.д., Пока не открою порт 25 (ваша конфигурация почты обычно настраивается так, чтобы принимать только почту, отправляемую с локального сервера):
iptables -A INPUT -p tcp -m multiport --destination-ports 21,22,25,80,443,21000:21100 -j ACCEPT
iptables -A INPUT -s 127.0.0.1/24 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
Чтобы очистить ваши правила, чтобы начать сначала, не блокируя себя, используйте следующий набор команд:
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -F
Чтобы просмотреть текущие правила и статистику брандмауэра, вы можете использовать следующую команду:
iptables -L -nv
Также не забудьте сохранить ваши правила и убедиться, что IPTables запускается при перезагрузке.