Важное дополнение. Необходимо после перезагрузки сервера оставлять все свои политики, а не применять их снова. Для меня удобным способом является использование пакета iptables-persistent
Первым делом устанавливаем сам пакет
apt-get install iptables-persistent
Затем сохраняем все настройки в нужную директорию, откуда они будут подтягиваться
iptables-save > /etc/iptables/rules.v4ip6tables-save > /etc/iptables/rules.v6
Вот и все. Теперь после каждой перезагрузки у нас будут подгружаться наши настройки
Сегодня встретился с новой проблемой - необходимо было закрыть все порты на своем сервере, и открыть только самые необходимые. Для этого, что удивительно, пришлось перерыть интернет в поисках необходимых инструкций к действиям. Собирал все по кусочкам, поэтому решил написать небольшую статью.
Для начала, нам необходимо понять, что у нас доступно, а что нет. Проверяется командой
sudo iptables -L
Мы удостоверились, что на только что установленой ОС открыто все возможное. Нам нужно все эти конфигурации удалить
sudo iptables -F
Теперь самое интересное - нам нужно открыть все порты на локальном интерфейсе, для того, чтобы внутри сервера все работало без сбоев
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Также накопал важную строчку в процессе конфигурации. Необходимо разрешать уже открытым соединениям завершать работу (не блокировать)
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Как только предварительные действия совершили, нужно открыть необходимые порты (мы открываем 22, 80, 8080, 443)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Теперь, чтобы все это заработало, необходимо поменять политику по умолчанию на DROP
sudo iptables -P INPUT DROP