Kazıma önlemek Apache erişim sınırlarını empoze?

3 Cevap php

Sorun öylesine kötü bir sunucu kırılır kazınmış olan bir içerik web sitesi olduğunu.

Bir seferde VEYA günde istekleri sabit sayıda IP'ler için erişimi sınırlandırmak için kolay bir yöntem var mı? (10 sayfa / gün veya .... 10 sayfa her 2 dakika)

İdeal olarak, arama motorları için bir joker listesini tutmak ve çok hızlı veya çok fazla içeriğe erişmesini herkesi izin vermemek olacaktır.

Teşekkürler çocuklar!

3 Cevap

Bunu yapmanın bir yolu etrafında, (linux için) bireysel IP'leri bağlantıları belirli bir sayıdan fazla başlamak engellemek için iptables kullanarak olacaktır. It deneme ve hata, bunu doğru hesaplamak gerekir gibi, ama genel olarak, o saldırganın bağlantı hızını önlemek gerekir

iptables -A INPUT -p TCP --dport 80 -m state --state NEW -j STOP-ABUSE
iptables -A STOP-ABUSE -m recent --set
iptables -A STOP-ABUSE -m recent --update --seconds 10 --hitcount 3 -j DROP

Umarım yardımcı olur

Sen bant genişliği kullanımı (küresel ve bağlantı başına) sınırlamak için bu tür mod_bandwidth ve mod_limitipconn gibi modülleri yükleyebilirsiniz.

http://mansurovs.com/tech/apache-bandwidth-throttling daha fazla bilgi için kontrol edin.

Ben oldukça iptables kullanarak, sistem düzeyinde yapıyor tercih ediyorum ...


But if you're looking for a solution based on Apache, an idea might be to use mod_security.

SecGuardianLog configuration directive looks especially interesting, in your case (quoting),

Description: Configuration directive to use the httpd-guardian script to monitor for Denial of Service (DoS) attacks.

By default httpd-guardian will defend against clients that send more than 120 requests in a minute, or more than 360 requests in five minutes.