DOS saldırılarından korunmanın sihirbazvari
bir yolu yoktur. Korunmanın en sağlam yöntemi korumaya çalıştığınız network
yapısının iyi tasarlanması, iyi bilinmesi ve bu konuyla görevli çalışanların
TCP/IP bilgisinin iyi derecede olmasıdır. Çoğu DOS saldırısı yukarıda sayılan
bu maddelerin eksikliği sebebiyle başarılı olur.
Bu yazıda temel seviyede koruma amaçlı ağ ve güvenlik sistemleri seviyesinde yapılması gereken ayarlardan bahsedilmiştir.
Router’dır. Sisteminize gelen-giden tüm paketler öncelikle router’dan geçer ve
arkadaki sistemlere iletilir. Dolayısıyla saldırı anında ilk etkilenecek
sistemler Router’lar olur.
ayalar bilinen DOS saldırılarını engellemede, ya da en azından saldırının
şiddetini düşürmede yardımcı olacaktır. Yine saldırı anında eğer gönderilen
paketlere ait karekteristik bir özellik belirlenebilirse router üzerinden
yazılacak ACL(Erişim Kontrol Listesi)ler ile saldırılar kolaylıkla
engellenebilir.
Mesela saldırganın SYN flood yaptığını ve
gönderdiği paketlerde src.port numarasının X olduğunu düşünelim(Türkiye’de
yapılan dos saldırılarının çoğunluğu sabit port numarasıyla yapılır, juno kullanılarak). Router
üzerinde kaynak port numarası X olan paketleri engellersek saldırıdan en az
kayıpla kurtulmuş oluruz. Bu arada kaynak portunu X olarak seçen ama saldırı
yapmayan kullanıcılardan gelen trafiklerde ilk aşamada bloklanacak ama normal
kullanıcılardaki TCP/IP stack hemen port numarasını değiştirerek aynı isteği
tekrarlayacaktır.
Tabi bu
engelleme yöntemi her saldırı için geçerli olmayabilir. C programlama bilgisi olan birisi rahatlıkla juno’nun koduyla oynayarak rastgele portlardan SYN flood yapmasını sağlayacaktır.
Yine routerlar üzerinden alınacak Netflow
bilgisiyle saldırının şiddeti, karekteristiği, ne kadar sürdüğü ve nerelerden
geldiği bilgileri kayıt altına alınabilir. Dış routerlarda eğer cihaz
performans problemine sebep vermeyecek şekilde Netflow alımını sağlıyorsa bu
özellik mutlaka kullanılmalıdır. Fakat bazı sistemler düzgün
yapılandırılmadığından netflow sunucuya paket göndermeye çalışırken performans
problemine sebep olabilirler.
Güvenlik Duvarı Seviyesinde Koruma
ilki –eğer cihaz destekliyorsa- rate limiting özelliğini aktif etmektir. Rate
limiting özelliğiyle belirli bir ip adresinden gelecek maksimum paket sayisi
belirlenip eşik değerini aşan ip adresleri belirli süreliğine bloklanabilir. Böylece
saldırı yapan sistemler ve normal sistemler ayırt edilebilir.
saldırgan tüm internet bağlantınızı bloklayabilir.
kurulumla birlikte gelen ön tanımlı bazı ayarlar değiştirilmelidir. Bu ayarlar
Firewall’dan gelip-geçen paketler için ne kadarlık bir süre kaynak ayrımı
yapılacağını belirtir.
Güvenlik duvarı
üzerinde ön tanımlı ayarların değiştirilmesi
sistemlere gelen paketleri karşılayan ve üzerinde yazılı politikaya göre
paketlerin geçişine izin veren sistemlerdir. Günümüz güvenlik duvarları durum
koruma (stateful) özelliğine sahiptir. Böylece her gelen paket için tüm
güvenlik duvarı kuralları tekrar tekrar incelenmez, eğer gelen-giden paket daha
önceki bir bağlantıya ait ise doğrudan geçirilir.
duvarları üzerinden gelip geçen her bir
paket için sistemde kaynak ayırır.(Paketin cevabını ne kadarlık süre
bekleneceği vs). Ayrılan bu kaynaklar DDOS saldırısı esnasında çabucak tükenir.
DDOS saldırılarına karşı daha sağlam bir güvenlik duvarı için gelip-giden
paketler için tutulan zaman aşımı süreleri kısaltılabilir.
değerlerinin değiştirilmesi
No ALTQ support in kernel
ALTQ related functions disabled
tcp.first 100s
tcp.opening 100s
tcp.established 96000s
tcp.closing 33s
tcp.finwait 10s
tcp.closed 20s
tcp.tsdiff 30s
udp.first 60s
udp.single 30s
udp.multiple 60s
icmp.first 20s
icmp.error 10s
other.first 60s
other.single 30s
other.multiple 60s
frag 30s
interval 10s
adaptive.start 1200000 states
adaptive.end 2400000 states
src.track 0s
duvarından alınmıştır(pfctl –s timeouts), TCP bağlantıları için başlangıç
paketi SYN alındıktan sonra ACK paketinin gelmesi için bağlantı 120 sn açık
bırakılmaktadır. Bu değerler günümüz internet dünyası için fazla gelmektedir.
Bu değerlerin 10’da biri bile normal işleyen bir ağda yeterlidir. Saldırı
esnasında bu değerlerin düşürülmesi saldırının etkisini önemli oranda azaltacaktır.
birine sahipse bu özelliğin aktif edilmesi Synflood saldırılarına karşı en
ciddi korumayı sağlayacaktır. Syncookie, syncache ve synproxy özellikleri syn
flood saldırılarında oturum kurulmamış TCP paketlerinin unucuya ulaşmasını
engelleyip DDOS’dan korumuş olur. Gelen saldırının şiddetine göre syncookie
koruması yapan güvenlik duvarı da devre dışı kalabilir.
synproxy özelliği daha sağlıklı bir koruma sağlayacaktır.
Saldırı Engelleme Sistemi(IPS) Seviyesinde Koruma
çeşitli saldırı imzalarını veritabanlarında barındırırlar. Her ne kadar bu
saldırı tipleri çok klasik olsa da günümüzde denenmektedir. IPS’ler üzerinde
ilk yapılacka iişlem DOS/DDOS saldırılarına karşı önlem olabilecek imzaların
devreye alınmasıdır.
Basit bir SYNFlood
önlemi
kullanılarak yapılan DDOS salırılarını belirler. Saldırı Tespit/Engelleme
sistemlerinin bu tip bilinen araçlar icin çeşitli imzaları bulunmaktadır.
$HOME_NET any <> $EXTERNAL_NET any (msg:”DDOS shaft synflood”;
flow:stateless; flags:S,12; seq:674711609; metadata:policy security-ips drop;
reference:arachnids,253; reference:cve,2000-0138; classtype:attempted-dos;
sid:241; rev:11;)
kural (Generic Syn Flood Atağı)
any -> $WEB_SUNUCU 80 (msg:”Syn Flood Saldirisi”; flow: stateless;
flags:S,12; threshold: type threshold, track by_src, count 100, seconds 1;
classtype:attempted-recon; sid:10009;rev2;)
destekliyorsa IPS üzerinde syncookie özelliği devreye alınmalıdır ve
firewall’dakine benzer şekilde stateful bağlantılarda zamanaşımı sürelerinin
iyi ayarlanması saldırıların etkisini azaltacaktır.
Web Sunuculara Yönelik Koruma
olduğu için genellikle saldırıyı alan sistemlerdir. Web sunuculara yönelik
çeşitli saldırılar yapılabil fakat en etkili saldırı tipleri GET flood
saldırılarıdır. Bu saldırı yönteminde saldırgan web sunucunun kapasitesini
zorlayarak normal kullanıcıların siteye erişip işlem yapmasını engeller.
durumlarda güvenlik duvarlarında uygulanan rate limiting özelliği ya da web
sunucular önüne koyulacak güçlü yük dengeleyici/dağıtıcı(load balancer)cihazlar
ve ters proxy sistemleri oldukça iyi koruma sağlayacaktır.
isteklerine limit koyulamaz. Zira http keepalive özelliği sayesinde tek bir TCP
bağlantısı içerisinden yüzlerce http GET komutu gönderebilir. Burada paket
içeriğine bakabilecek güvenlik duvarı/ips sistemleri kullanılmalıdır.
Mesela
Snort saldırı tespit/engelleme sistemi kullanılarak aşağıdaki kuralla 3
saniyede 50’den fazla http GET isteği gönderen ip adresleri
bloklanabilmektedir.
Drop tcp any any -> $WEB_SUNUCU 80 (msg:”HTTP GET Flood Attack Attempt”; flow:established,to_server;
content:”GET /”; detection_filter: track by_src, count 50, seconds 3;
sid:1000001; rev:1;)
İşletim sistemleri üzerinde basit koruma ayarları
Synflood
saldırılarına karşı koruma amaçlı temelde iki çözüm bulunmaktadır. Bunlardan biri syn cookie diğeri de syn proxy’dir.
Ağınızdan DOS/DDOS yapılmasını Engelleme
Ağınızdan sahte ip adresine sahip paketlerin çıkışını engellemek için kullanılan güvenlik duvarlarındaki antispoof ya da URPF özellikleri kullanılabilir. Sahte ip kullanmadan gerçekleştirilen saldırılar için internet çıkış trafiğini izleyen basit bir IDS sisteminin olması yeterli olacaktır. IDS olarak Snort kullanılabilir.