Набор основных правил iptables, с которых удобно начинать настройку фаервола на VPS. Даже без дополнительных настроек, эти правила помогут существенно улучшит безопасность вашего сервера. В дальнейшем, в зависимости от ваших потребностей, его можно дополнить своими правилами.
Основной принцип настройки iptables следующий: сначала мы закрываем доступ ко всем портам на сервере, а затем с помощью отдельных правил открываем все необходимые порты на сетевых интерфейсах.
В качестве примера рассмотрим настройки iptables на Web-сервере. Мы оставляем открытыми для всех HTTP/HTTPS порты сервера. Для доступа к серверу по SSH, открыт ограниченный доступ по IP. Дополнительно я разрешил ICMP пакеты, для того чтобы можно было пропинговать сервер.
*filter -F -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -I INPUT 1 -i lo -j ACCEPT -A INPUT -p icmp --icmp-type 8 -j ACCEPT -A INPUT -p icmp --icmp-type 6 -j ACCEPT -A INPUT -p tcp -s 80.80.80.80 --dport 22 -j ACCEPT -A INPUT -p tcp --dport http -j ACCEPT -A INPUT -p tcp --dport https -j ACCEPT COMMIT
Для того чтобы применить настройки, их необходимо сохранить в текстовый файл iptables.conf
, а затем восстановить правила с помощью команды:
iptables-restore < /etc/iptables.conf
Для применения настроек iptebles после загрузки Debian/Ubuntu, добавьте эту команду в файл /etc/rc.local