mod_evasive modülü, bir saldırı durumunda sunucunuzun çalışmaya devam etmesine yardımcı olan bir Apache web hizmetleri modülüdür. Yaygın bir siber saldırı türü, Hizmet Reddi (DoS), Dağıtılmış Hizmet Reddi (DDoS) veya güvenliğinizi alt etmeye çalışan kaba kuvvet şeklinde gelir.
Bu saldırıların doğası, sunucunuza karşı tekrarlanan isteklerde bulunmak için birkaç farklı bilgisayar kullanmaktır. Bu, sunucunun işlem gücü, bellek ve ağ bant genişliğinin bitmesine ve yanıt vermemesine neden olur.
Bu kılavuz size yol gösterecek mod_evasive’i DoS ve DDoS’a karşı korumak için yapılandırma ve yükleme.
Önkoşullar
- LAMP (Linux, Apache, MySQL, PHP) yığını kurulu ve yapılandırılmış
- ile bir kullanıcı hesabına erişim sudo veya kök ayrıcalıkları
- Çalışan bir posta sunucusu (e-posta uyarıları için)
Apache mod_evasive Nasıl Çalışır?
bu mod_evasive Apache yardımcı program, gelen sunucu isteklerini izleyerek çalışır. Araç ayrıca aşağıdakiler gibi bir IP’den gelen şüpheli etkinlikleri de izler:
- Bir saniyede aynı sayfa için birkaç istek.
- Saniyede 50’den fazla eşzamanlı istek.
- IP geçici olarak kara listedeyken yapılan istekler.
Bunlardan herhangi biri olursa modül bir 403 hatası gönderir. Varsayılan olarak buna kara listede 10 saniyelik bir bekleme süresi de dahildir. Bu 10 saniyelik pencerede istekte bulunan IP adresi tekrar denerse bekleme süresi uzar.
mod_evasive ağ tespiti ve yönetimi yoluyla bu tür saldırılara karşı savunma yapmanıza yardımcı olur.
mod_evasive Apache Yardımcı Programını Kurma Adımları
1. Adım: Apache Web Sunucusu Yardımcı Programını Kurun
Yardımcı programı kurmadan önce, Linux dağıtımınız için olan komutla paket deposunu güncelleyin:
Debian / ubuntu:
sudo apt update
Kırmızı şapka / CentOS:
sudo yum update
Sistemin yazılım listelerinizi yenilemesine ve güncellemesine izin verin.
Ardından, bir yardımcı yardımcı program yükleyin:
Debian/Ubuntu:
sudo apt install apache2-utils
RedHat / CentOS:
sudo yum install httpd-devel
Çıktının son bölümü şöyle görünür:
Bu yardımcı programın kurulumu için gereklidir. mod_evasive.
2. Adım: mod_evasive’i kurun
Debian/Ubuntu
yüklemek için mod_evasive Debian / Ubuntu modülünde aşağıdakileri girin:
sudo apt install libapache2-mod-evasive
Bir bilgi istemi aldığınızda, seçin Tamam ve yapılandırmanızı seçin.
Emin değilseniz, seçin Yapılandırma yok veya Sadece bölgesel.
CentOS / RedHat
mod_evasive modülünü RedHat / CentOS’a kurmak için:
EPEL deposunu ekleyin:
sudo yum install epel-release
Ardından şunu girin:
sudo yum install mod_evasive
İşlemin tamamlanmasına izin verin.
3. Adım: mod_evasive’i yapılandırın
Çoğu Linux yazılım paketi gibi, mod_evasive bir yapılandırma dosyası tarafından kontrol edilir. DDoS saldırılarını önlemenin ilk adımı olarak yapılandırma dosyasında aşağıdaki değişiklikleri yapın:
1. Aşağıdaki komutlarla istediğiniz bir metin düzenleyiciyi kullanın:
Debian / ubuntu:
sudo nano /etc/apache2/mods-enabled/evasive.conf
Kırmızı şapka / CentOS:
sudo nano /etc/httpd/conf.d/mod_evasive.conf
2. Aşağıdaki girişi bulun:
#DOSEmailNotify you@yourdomain.com
Kaldır #
imzala, sonra değiştir you@yourdomain.com
gerçek e-posta adresinizle. Düzenli olarak kontrol ettiğiniz bir e-posta kullanın; burası, aracın uyarıları göndereceği yerdir.
3. Aşağıdaki girişlerden yorum etiketini kaldırın, böylece günlük dosyası aşağıdaki gibi görünür:
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify mail@yourdomain.com
DOSLogDir "/var/log/apache2/"
4. Dosyayı kaydedin ve çıkın. Aşağıdakileri girerek Apache hizmetini yeniden yükleyin:
Debian / ubuntu:
sudo systemctl reload apache2
Kırmızı şapka / CentOS:
sudo systemctl restart httpd.service
Mod_evasive’i test edin
Şimdi modülün düzgün çalıştığını doğrulayalım.
Bu örnekte, test.pl mod_evasive’i test etmek için komut dosyası.
Komut dosyası şu adreste bulunur: /usr/share/doc/libapache2-mod-evasive/examples/test.pl.
Komut dosyasını çalıştırmak için aşağıdaki komutu kullanın:
perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
Çıktı şu mesajı döndürmelidir:
Parametreler ve Ayarlar
Yapılandırabileceğiniz birçok mod_evasive parametresi vardır:
DOSSystemCommand
: İlk olarak, bu seçeneğin yorum olarak devre dışı bırakıldığını fark etmiş olabilirsiniz. Bu komut, kara listeye bir IP adresi eklendiğinde çalıştırılacak bir sistem komutu belirtmenizi sağlar. Bir güvenlik duvarına veya IP filtresine bir IP adresi eklemek için bir komut başlatmak için bunu kullanabilirsiniz.DOSHashTableSize
: Daha yoğun web sunucuları için bunu artırın. Bu yapılandırma, arama işlemlerini çalıştırmak için alan ayırır. Boyutu artırmak, bellek pahasına hızı artırır.DOSPageCount
: Kara listeye almayı tetikleyen tek bir sayfa için istek sayısı. Bu, düşük (ve agresif) olan 2’ye ayarlanır – yanlış pozitifleri azaltmak için bu değeri artırın.DOSSiteCount
: Aynı site için aynı IP adresi tarafından yapılan toplam istek sayısı. Varsayılan olarak bu, 50’ye ayarlanmıştır. Yanlış pozitifleri azaltmak için 100’e yükseltebilirsiniz.DOSPageInterval
: için saniye sayısıDOSPageCount
. Varsayılan olarak, bu 1 saniye olarak ayarlanmıştır. Bu, değiştirmezseniz, 1 saniyede 2 sayfa istemek, bir IP adresini geçici olarak kara listeye alacağınız anlamına gelir.DOSSiteInterval
: BenzerDOSPageInterval
bu seçenek saniye sayısını belirtirDOSSiteCount
monitörler. Varsayılan olarak, bu 1 saniye olarak ayarlanmıştır. Bu, tek bir IP adresinin aynı web sitesinde bir saniyede 50 kaynak talep etmesi durumunda geçici olarak kara listeye alınacağı anlamına gelir.DOSBlockingPeriod
: Bir IP adresinin kara listede kaldığı süre. Varsayılan olarak 10 saniyeye ayarlanmıştır, bunu istediğiniz herhangi bir değere değiştirebilirsiniz. Engellenen IP adreslerini daha uzun süre zaman aşımında tutmak için bu değeri artırın.DOSLogDir
: Varsayılan olarak bu, günlükleri /var/log/mod_evasive konumuna yazacak şekilde ayarlanmıştır. Bu günlükler, istemci davranışını değerlendirmek için daha sonra incelenebilir.
Bu apache erişim günlüklerini kaydetmek için yeni bir dizin oluşturabilirsiniz – sahibini Apache olarak değiştirdiğinizden emin olun, ardından bu girişteki konumu güncelleyin:
sudo mkdir /var/log/apache/mod_evasive
sudo chown -R apache:apache /var/log/apache/mod_evasive
sudo nano /etc/apache2/mods-enabled/evasive.conf
DOSLogDir "/var/log/apache/mod_evasive"
Beyaz listeye alınan IP adresleri: Bu seçenek, kaçamak.konf fvarsayılan olarak dosya.
Düzenlemek için dosyayı tekrar açın, ardından aşağıdaki satırı ekleyin:
DOSWhitelist 192.168.0.13
DOSWhitelist 192.168.0.*
IP adresini beyaz listeye almak istediğiniz adresle değiştirin. Ayrıca, yalnızca listelemelisiniz satır başına bir giriş. Bu, genellikle web sitenizle çok fazla veri alışverişi yapan güvenilir bir müşteriyle kullanılır.
Bu araç, botları ve komut dosyalarını tespit etmede iyidir. İzin vermek istediğiniz botlar veya komut dosyaları varsa, bu botların ve komut dosyalarının bir kara liste eylemini tetiklemesini önlemek için bunları beyaz listeye alabilirsiniz.
Dosyayı kaydettiğinizden emin olun ve çıkın. Ardından, bu seçeneklerden herhangi birini test etmeden önce Apache hizmetinizi yeniden yükleyin.
Çözüm
Artık biliyorsun apache’de mod_evasive nasıl kurulur ve yapılandırılır.
Yapılandırma kolaylığı ve etkinliği arasında, Apache ve Linux sistemlerini korumak için favori bir araç haline geldi. Daha fazla bilgi ve kılavuz için lütfen geliştiricinin GitHub dokümantasyon sayfası.