IpTables AntiDDoS Kuralları

Bu makalemizde IpTables e sadece firewall olarak nasıl kullanabilceğimizi göstericeğiz girdiğimiz kurallarla sunucunun güvenliğini (anti-ddos firewall) sağlıcağız.

(ÖNEMLİ NOT: VDS/VPS Sahibi iseniz yani elinizdeki makine paylaşımlı ise yazılımsal firewall’lar bi yere kadar korur nedeni ise size değil makinenin alt ip sine [sizin class 24 le bitiyorsa 25 le bitene] yani aynı network ve cpu-ram… paylaştığınız makineye gelen bir saldırıda o makinenin down/düşmesi ile etkileri sizde’de gözlemlenebilir hatta sizde düşebilirsiniz. Bu yüzden firewall konusunda sağlam bir makine sahibi olmak istiyorsanız Dedicated/Dedike server/makina sahibi olmalısınız. )

Iptables Anti-DDoS Kuralları/Rules,

Iptables yazılımını genellikle engelleme (drop) işleminde kullanmaktayız ancak doğru kurallarla dedicated’inizi saldırıların çoğundan korunur hale getirebilirsiniz.

Geçersiz Paketleri Engellemek,

iptables -t mangle -A PREROUTING -m conntrack --ctstate INVALID -j DROP

Bu kural, SYN paketi olmayan ve yerleşik bir TCP bağlantısına ait olmayan tüm paketleri engeller.

SYN Olmayan Yeni Paketleri Engellemek,

iptables -t mangle -A PREROUTING -p tcp ! --syn -m conntrack --ctstate NEW -j DROP

Bu, yeni (yerleşik bir bağlantıya ait olmayan) ve SYN bayrağını kullanmayan tüm paketleri engeller. Bu kural “Geçersiz Paketleri Engelle” kuralına benzer, ancak diğer paketin almadığı bazı paketleri yakaladığı gözlemlenmiştir.

Yaygın olmayan MSS Değerlerini Engellemek,

iptables -t mangle -A PREROUTING -p tcp -m conntrack --ctstate NEW -m tcpmss ! --mss 536:65535 -j DROP

Yukarıdaki iptables kuralı, yaygın olmayan bir TCP MSS değeri kullanan yeni paketleri engeller (yalnızca önceki iki kurala göre yalnızca SYN paketleri yeni paketler olabilir). Bu aptal SYN taşkınlarını engellemeye yardımcı olur.

Spoof (Sahte Ip) Paketlerini Engellemek,

iptables -t mangle -A PREROUTING -s 224.0.0.0/3 -j DROP
iptables -t mangle -A PREROUTING -s 169.254.0.0/16 -j DROP
iptables -t mangle -A PREROUTING -s 172.16.0.0/12 -j DROP
iptables -t mangle -A PREROUTING -s 192.0.2.0/24 -j DROP
iptables -t mangle -A PREROUTING -s 192.168.0.0/16 -j DROP
iptables -t mangle -A PREROUTING -s 10.0.0.0/8 -j DROP
iptables -t mangle -A PREROUTING -s 0.0.0.0/8 -j DROP
iptables -t mangle -A PREROUTING -s 240.0.0.0/5 -j DROP
iptables -t mangle -A PREROUTING -s 127.0.0.0/8 ! -i lo -j DROP

Olası Spoof/List saldırılarında genel olarak kullanılan class ları drop/engelleme işlemini yaptık.

Bağlantıları Limitlemek(FIN,SYN,RST,ACK,SYN),

iptables -A INPUT -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 20 --connlimit-mask 32 -j REJECT --reject-with tcp-reset

22 Portundan yapılıcak saldırıları limitleyip süzgeçten geçirerek flood geldiği an drop/engelleme işlemini yapar. “–dport 22” 22 yerine istediğiniz bir servisinizin portunu yazabilirsiniz.

Tüm Bağlantıları Limitlemek,

iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/second --limit-burst 2 -j ACCEPT

TCP,UDP olarak tüm connection/bağlantı ları limitleyerek gelen bağlantıyı somut örnekle vericek olursak kapıdan(porttan) tek sıra halinde izdiham olmadan geçmesini sağlarsınız. 😀

BONUS/HEDİYE,

SSH brute-force koruması,

iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --set 
iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 10 -j DROP  

Saldırganların makinenize wordlist saldırısı yapmasına engel olur spam/flood bir şekilde ssh portunu login isteklerinden korur.

Port Taraması Koruması,

iptables -N port-scanning 
iptables -A port-scanning -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 2 -j RETURN 
iptables -A port-scanning -j DROP

Olası saldırganların makine ip adresine yapıcağı scan/tarama işlemlerini bloke/engelleme işlemini gerçekleştirir.

Hazır Iptables Auto Script: @obirninja/Auto-Firewall-L4-L3

Yazar: Admin

Full Stack Developer & Network

Bir Cevap Yazın