- Регистрация
- 24 Окт 2019
- Сообщения
- 44
- Реакции
- 31
Bash:
#!/bin/bash
# Очистить все правила и цепочки
iptables -F
iptables -X
# Запретить входящий трафик по умолчанию
iptables -P INPUT DROP
# Разрешить исходящий трафик по умолчанию
iptables -P OUTPUT ACCEPT
# Разрешить локальный трафик
iptables -A INPUT -i lo -j ACCEPT
# Разрешить уже установленные соединения
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# Разрешить входящий трафик на порты 22 (SSH), 80 (HTTP) и 443 (HTTPS)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Ограничить количество соединений от одного IP
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 32 -j DROP
# Защита от атак DDoS SYN Flood
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j RETURN
iptables -A INPUT -p tcp --syn -j DROP
# Защита от атак DDoS ICMP Flood
iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 1/s --limit-burst 3 -j RETURN
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
# Защита от атак DDoS UDP Flood
iptables -A INPUT -p udp -m connlimit --connlimit-above 10 --connlimit-mask 32 -j DROP
# Сохранить настройки iptables
iptables-save > /etc/iptables/rules.v4