Закрытие портов iptables


Доброго времени суток. Сегодня, в связи с многочисленными запросами на эту тему в поддержку нашего хостинга, я хотел бы рассказать один из способов, который можно использовать для закрытия портов на VPS.

Возможно, этот способ один из самых простых, возможно кто-то делает это немного иначе, но в любом случае — кто до этого дня закрывать порты не умел, сейчас поймут, что это очень просто.

Для начала, мы подключаемся к нашему виртуальному серверу, затем создаем цепочку iptables с любым названием, в нашем случае мы назовем её cloudtree
iptables -N cloudtree

Далее откроем порты для нужных адресов, это могут быть как ваши личные внешние сервера, так локалхост или ваш личный IP
iptables -A cloudtree -s 127.0.0.1 -j ACCEPT
iptables -A cloudtree -s ip2 -j ACCEPT
iptables -A cloudtree -s ip3 -j ACCEPT

После того как все нужные IP, для которых порты должны быть остаться открытыми прописаны, можно уже и перейти к закрытию
iptables -A cloudtree -j DROP
iptables -A INPUT -p tcp -m tcp --dport ТУТ_ПОРТ_ЛИБО_ДИАПАЗОН_ПОРТОВ -m state --state NEW -j cloudtree

Если порт, тогда просто нужный порт, например, 22, если диапазон, то с какого порта по какой. Как пример, нужно закрыть все порты от 10 до 20, тогда пишем после --dport 10:20

Надеюсь эта статья была полезна для Вас. Всем удачи!