Блог компании 3v-Hosting

10 самых часто употребляемых примеров для IPTABLES

Администрирование

4 мин.


Когда дело доходит до защиты вашего Linux-сервера от несанкционированного доступа и вредоносных действий, iptables  выделяется как мощный инструмент в арсенале сетевых администраторов. iptables — это универсальная утилита брандмауэра для систем Linux, позволяющая пользователям определять правила и политики для фильтрации пакетов и трансляции сетевых адресов.
Конечно мы знаем, что сейчас на смену iptables приходит nftables, но тысячи серверов до сих пор используют именно iptables.
И чтобы помочь вам использовать весь потенциал iptables, мы составили список из 10 наиболее часто используемых примеров, которые могут повысить безопасность вашего сервера. 

 

Разрешить доступ по SSH. Обеспечьте безопасный удаленный доступ к вашему серверу, разрешив соединения SSH и заблокировав при этом весь остальной входящий трафик:

    
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -j DROP

 

 


Включить трафик HTTP и HTTPS. Разрешите веб-трафик через порты 80 (HTTP) и 443 (HTTPS) для хостинга веб-сайтов:


sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

 

 


Блокировать определенный IP-адрес: запретить доступ с определенного IP-адреса, отбрасывая исходящие от него пакеты:

 

sudo iptables -A INPUT -s <IP_Address> -j DROP

 


Разрешить исходящие соединения: Разрешить все исходящие соединения, блокируя входящий трафик по умолчанию:

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

 

 


Переадресация портов: перенаправление входящего трафика с одного порта на другой, что полезно для таких сервисов, как перенаправление HTTP-трафика на определенный порт:

 

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port <New_Port>

 

 


Ограничить скорость соединения. Предотвратите DoS-атаки, ограничив скорость входящих соединений:

 

sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

 

 


Журнал отброшенных пакетов: регистрируйте отброшенные пакеты для анализа и устранения неполадок:


sudo iptables -A INPUT -j LOG --log-prefix "Dropped: "

 

 


Разрешить трафик ICMP: разрешить запросы ICMP (ping) для устранения неполадок сети:

 

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

 

 


Блокируйте атаки SYN Flood: Смягчайте атаки SYN Flood, ограничивая количество одновременных полуоткрытых соединений:

 

sudo iptables -A INPUT -p tcp --syn -m limit --limit 5/s -j ACCEPT

 

 


Очистить правила: Очистите все существующие правила, чтобы начать с чистого листа:


         sudo iptables -F
    sudo iptables -X
    sudo iptables -t nat -F
    sudo iptables -t nat -X
    sudo iptables -t mangle -F
    sudo iptables -t mangle -X
    sudo iptables -P INPUT ACCEPT
    sudo iptables -P OUTPUT ACCEPT
    sudo iptables -P FORWARD ACCEPT

 

 


Эти примеры служат основой для создания надежных конфигураций брандмауэра с помощью IPTABLES. Не забудьте настроить правила в соответствии с конкретными требованиями вашей сети и регулярно проверять настройки брандмауэра для обеспечения оптимальной безопасности. С помощью IPTABLES вы можете эффективно защитить свой сервер от киберугроз.


Если прочитав данный короткий мануал Вы захотите глубже ознакомиться со всей мощью данного инструмента - Вы всегда можете обратиться к официальному мануалу по IPTABLES.

Также Вы можете ознакомиться и с другими статьями на тему безопасности, например - Как сделать свой сайт безопаснее за меньшие деньги?