[PHP] Basit DDoS Saldırılarını Filtreleme Kodu
Gün geçmiyor ki ForumDenizi.Com'a saldıran lamerımız eksik olmasın. DDoS'a önlem için burada satırlar dolusu makale yazabilirim ancak kısaca bir kod paylaşmak için açıyorum bu konuyu. Kodu az önce yazdım ve lamercığımızın saldırısını kesti.
Eğer VDS sunucu üzerinde barınıyor olsak böyle bir koda gerek olmadan, Linux üzerinden saldırıyı engellemem daha basitti ancak henüz ne yazık ki paylaşımlı hosting kullandığımız için bu tür bir çözüm ürettim. Pek tabii ki barındığımız sunucu ve sahip olduğumuz account üzerinde Voxility koruması mevcut olsa da bu, DDoS saldırılarını yeterli düzeyde önleyemeyebiliyor.
Kodun amacı; genel olarak GET tarzı flood saldırılarına önlem getirmek üzerinedir. PHP ile yazılmış, çok basit bir koddur. Gelişmiş bir DDoS filtresi değildir, yazılımsal firewall olarak nitelendirmek de abartı olur; bunu belirteyim. Kısaca; eklediğiniz sayfayı ziyaret eden IP adreslerini filtreler, yurtdışı lokasyonlu IP'lerin doğrudan sayfaya ulaşımını engeller. Tek dezavantajı yurtdışından erişim sağlayan saldırgan IP adresleri dışında normal kullanıcıları da güvenlik için filtreleyecek ve bağlantıya tıklamalarını isteyecek olmasıdır.
Saldırı index.php sayfanıza geliyorsa, kodu o dosyanızın en üstüne ekleyin. Aksi durumda, örneğin bizim lamer showthread.php'e saldırıyordu, ufak değişikliklerle saldırının geldiği dosyaya ekleyin.
Kod:
<?php
if( !preg_match("#(google|forumdenizi.com|yahoo|live)#s i", getenv('HTTP_REFERER')) and !preg_match("#(google|msnbot|yahoo! slurp)#si", getenv('HTTP_USER_AGENT')))
{
die("<center><title>Rgx - DDoS Protection Secure System</title><a href='".$_SERVER['PHP_SELF']."'><h2>ForumDenizi'ne ulasmak icin lutfen tiklayin!</h2></a></center>");
}
?>
Not: Yine de DDoS saldırılarını kesin olarak çözmek istiyorsanız, web sitenizi CloudFlare arkasına almanızı tavsiye ederim. Bizim CloudFlare'e geçmememizde teknik özel bir nedenim var.
SEO ile ilgili diyebilirim. O yüzden kendim önlemler geliştirmeye çalışıyorum ancak CloudFlare, bu tip kodlara hiç gerek olmadan siteyi çok daha iyi koruyacaktır.