Merhaba,
1-apachede consol baesd http-client programlarına izni kaldırın (wget gibi).
Bu bir döngüye bağlanmış basit scriptler için iyi temel düzey bir güvenlik
sağlar.
örnek kullanım:
apache dosyanıza aşağıdaki satırları ekleyin.
BrowserMatchNoCase ^wget engelli_program
BrowserMatchNoCase ^SiteSucker engelli_program
BrowserMatchNoCase ^iGetter engelli_program
BrowserMatchNoCase ^larbin engelli_program
BrowserMatchNoCase ^LeechGet engelli_program
BrowserMatchNoCase ^RealDownload engelli_program
BrowserMatchNoCase ^Teleport engelli_program
BrowserMatchNoCase ^Webwhacker engelli_program
BrowserMatchNoCase ^WebDevil engelli_program
BrowserMatchNoCase ^Webzip engelli_program
BrowserMatchNoCase ^Attache engelli_program
BrowserMatchNoCase ^SiteSnagger engelli_program
BrowserMatchNoCase ^WX_mail engelli_program
BrowserMatchNoCase ^EmailCollector engelli_program
BrowserMatchNoCase ^WhoWhere engelli_program
BrowserMatchNoCase ^Roverbot engelli_program
BrowserMatchNoCase ^ActiveAgent engelli_program
BrowserMatchNoCase ^EmailSiphon engelli_program
<Directory /your-site-path>
#baska kurallar
deny from env=engelli_program
</Directory>
2-yapabiliyorsanız iproute2 ile network interface üzerinde herbir ip için
down/up per/s kısıtlamalar yapın (bu sayede sürekli olarak veri çekilse
bile, harcanan bant karşıdakinin bant genişliği kadar değil sizin
belirlediğiniz kadar olur. örneğin: sizin bant genişliğiniz 10 mbit/s,
saldırganınki 100 mbit/s, sunucunuzdaki 2 mb büyüklüğündeki bir dosyayı
sürekli indiriyor. Bu durumda sizin tüm bantınızı sömürüyor denebilir. Ancak
siz bunu iproute2 ile her ip için 512 kbp/s olarak ayarlarsanız 100 mbit
hattı olan ile 512 kbp/s hatta sahip olanı eşitlemiş olursunuz.)
3-apache için mod_evasive, mod_cband kullanımlarını inceleyin. Oldukça
başarılı yazılımlar. Tam istediğinizi yapabiliyorlar. Aslında sadece web
için düşünüldüğünde ikisi yeterli fakat 2 numaralı önerimde tüm servisler
için bunu sağlarsınız. web server, mail veya dışarı açık tüm servisler için
bir kısıtlama yapmış olursunuz.
4-sağlam bir monitör uygulaması (snort,iptraf,vnstat gibi.) vnstat hoş bir
uygulama, anlık,günlük,aylık trafik istatistiği tutuyor. vnstat -tr ile
giren/çıkanı byte cinsinden görürsünüz.
birde script yazarsınız, crona eklersiniz, 5 dakikada bir vnstat -tr
komutunu pipe yöntemi ile çalıştırırsınız. Trafik, belirlediğiniz aralığı
aşmışsa size mail atar, sms gönderir :)
talep eden olursa hazır bir php scriptim var gönderebilirim :)
kolay gelsin.
2009/12/18 Nuri Akman <[email protected]>
> Arkadaşlar,
>
> Zaman zaman birileri web sitesindeki her linke yüzlerce defa tıklama
> yaptırarak saldırıda bulunuyor. Bazen de site içeriğini indiren
> programlarla siteyi indirmeye çalışıyor.
>
> Makul olan, aynı IP adresinden gelen bir kişinin 1 saniyede en çok 2
> sayfaya tıklamasıdır.
>
> Aynı IP'den gelen kişileri saydırmak ve bu şekilde "saldırı" tarzı
> tıklamalar karşısında sitenin cevap vermemesini ve o IP adresini 5
> dakikalığına bloklamasını istiyorum.
>
> Bu kontrolleri sunucu seviyesinde PHP ve MySQL ile yapmak istiyorum.
>
> Bu çerçevede:
> 1.) Bu konuda bildiğiniz bir kaynak, hazır bir kod var mı acaba?
> 2.) Bu düşündüğüm şeyi hayata geçirmem işe yarar mı?
> 3.) Arama motorlarını nasıl bu konu haricinde tutabilirim?
>
> Selamlar,
> Nuri Akman
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
--
/**
* @author Atıf CEYLAN
* Software Developer
* http://www.atifceylan.com
*/
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php