İptables İle Software Kaynaklı Açıkları Fixleme İşlemi

Bu makalemiz vds/vps/dedicated tercih edenlere özel hazırlanmıştır. Örnek vererek başlıyayım günümüzde anti-ddos ismiyle global olarak en çok isim yapan firmalardan biri olan ovh (özel kuralları olsun arbor teknolojisi olsun) gerçekten sağlam hizmet verse de saldırganlar kullandıkları özel methodlar ile sunucularda lag/down gibi durumlara neden olmaktadır bu saldırılar bazen network’ü hedef alır bu durumda yapılabilecek şeyler kısıtlıdır datacenter gerekli önlemleri alır (kısacası bu tip saldırılarda fix için bir yazılım ile verimli sonuç alamazsınız), bazense Software yani sunucuda bulunan bir working yazılımı hedef alır. (bu tip saldırılar Software katmanında olduğu için aynı şekilde yazılımla fixlenebilir)

Software Kaynaklı Açık Nedir?

Software yani sunucuyu kurduğunuz bir yazılım/application dış network’e açılan kullandığı portlara bir payload göndermesi yada yüksek paket göndermesi ile uygulamadaki bir hatadan veya limitten ötürü sunucunuzun düşmesine neden olan (dos vuln) açıklardır.

Tüm bu yöntemler, “Bypass” olarak adlandırılması gereken AMP saldırılarıdır.

Geçelim Fix İşlemine;

Tüm yaygın AMP kaynak bağlantı noktalarını iletişime kapatmak için,

iptables -t mangle -A PREROUTING -p udp -m multiport --sports 3283,37810,7001,17185,3072,3702,32414,177,6881,5683,41794,2362,11211,53413,17,1900,10001,389,137,5351,502 -j DROP

(FN-LAG Patch | Method Patch) Port 37810 | DVR IP Kamera tarafından kullanılır | UDP,

iptables -t mangle -A PREROUTING -p udp --sport 37810 -j DROP 

(OVH-KILL Patch | OVH Bypass Patch) Port 7001 | Andrew Dosya Sistemi tarafından kullanılıyor (AFS) | UDP,

iptables -t mangle -A PREROUTING -p udp --sport 7001 -j DROP
iptables -I INPUT -p udp -m length --length 100:140 -m string --string "nAFS" --algo kmp -j DROP
iptables -I INPUT -p udp -m length --length 100:140 -m string --string "OpenAFS" --algo kmp -j DROP

(OVH-SLAP Patch | OVH Bypass Patch) Port 17185 | vxWorks/VoIP Sistemi tarafından kullanılıyor | UDP,

iptables -t mangle -A PREROUTING -p udp --sport 17185 -j DROP

(OVH-DOWN & OVH-DOWNv2 Patch | OVH Bypass Patch) Port 3072 | WSD tarafından kullanılıyor | TCP or UDP,

iptables -t mangle -A PREROUTING -p udp -m multiport --sports 3072,3702 -j DROP
iptables -t mangle -A PREROUTING -p tcp -m multiport --sports 3072,3702 -j DROP

(OVH-CRUSHv2 Ve OVH-CRUSH Patch | OVH Bypass Patch) Port 3283 | ARD tarafından kullanılıyor | UDP AMP,

iptables -t mangle -A PREROUTING -p udp --sport 3283 -m length --length 1048 -j DROP

(NFO-LAG Patch | NFO Method Patch) Port 32414 | PlexMediaServers tarafından kullanılıyor | UDP,

iptables -t mangle -A PREROUTING -p udp --sport 32414 -j DROP

(NFO-LAG Patch | NFO Method Patch) Port 177 | XDMCP tarafından kullanılıyor | UDP,

iptables -t mangle -A PREROUTING -p udp --sport 177 -j DROP 

(NFO-CLAP Patch | NFO Method Patch) Port 6881 | BitTorrent tarafından kullanılıyor | UDP,

iptables -t mangle -A PREROUTING -p udp --sport 6881 -m length --length 320:330 -j DROP

(R6-LAG Patch | Method Patch) Port 32414 | PlexMediaServers tarafından kullanılıyor | UDP,

iptables -t mangle -A PREROUTING -p udp -m length --length 280:300 --sport 32414 -j DROP

(TS3Drop | ICMPKiller) Port ALL | icmp Bağlı her soft u etkiliyor. | ICMP,

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
 
iptables -A blacklist -m recent --name black_list --rcheck --seconds 300 -j DROP
iptables -N icmp-flood
 
iptables -A INPUT -p icmp -j icmp-flood
iptables -A FORWARD -p icmp -j icmp-flood
 
iptables -A icmp-flood -m limit --limit 2/s --limit-burst 4 -m comment --comment "ICMP Limit Reached" -j RETURN
 
iptables -A icmp-flood -m limit --limit 6/h --limit-burst 1 -j LOG --log-prefix "DDOS-Attack (ICMP) "
 
iptables -A icmp-flood -m recent --name black_list --set -m comment --comment "Black Listed IP" -j DROP

(Payload HexString Saldırıları) Port ALL | Hedef aldığı Çalışan Softu Hedef Etkiyor. | TCP/UDP,

Bunu bir örnekle göstericeğim,

30033 portuna yapılan bir saldırı olsun tcpdump ile bu saldırıyı dinleyelim.

tcpdump -nnSOX "src host xxx.xxxx.xxx.xxx" and "dst port 30033"

tcpdump çıktı,

listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
05:49:49.631211 IP xxx.xxx.xxx.xxx.57625 > xxx.xxx.xxx.xxx.30033: Flags [S],   seq 1036987151, win 29200, options [mss 1460,sackOK,TS val 770422252 ecr 0,nop,wscale 7], length 0
    0x0000:  4514 003c 9ee3 4000 3a06 9772 bca5 2e4d  E..<..@.:..r...M
    0x0010:  b009 6f56 e119 2f4f 3dcf 2b0f 0000 0000  ..oV../O=.+.....
    0x0020:  a002 7210 6e7e 0000 0204 05b4 0402 080a  ..r.n~..........
    0x0030:  2deb b5ec 0000 0000 0103 0307            -...........

Drop/Engelleme işlemi,

iptables -A INPUT -p tcp --dport 30033 -m string --algo bm --hex-string "|bca52e4db0096f56|" -j LOG --log-prefix "Bad Packet:"
iptables -A INPUT -p tcp --dport 30033 -m string --algo bm --hex-string "|bca52e4db0096f56|" -j DROP

Bu şekilde birçok ovh da barınanların yaşadığı drop/down sorunlarının fixini paylaşmış olduk. (Kurallardaki mantığı öğrenerek yukarıda anlattığım şekilde bir saldırı alıyor ve ovh da barınıyor sanız kural yazabilirsiniz mantığını kavramanız yeterli kuralları karşılaştırarak.)

Güvenle kalın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir