Konfigurasi mod_evasive Untuk Mencegah Serangan DoS dan DDoS Di CentOS

Pada artikel ini, kita akan mempelajari cara menginstal dan mengkonfigurasi mod_evasive untuk mencegah serangan DoS dan DDoS pada CentOS.

Untuk demonstrasi ini, kami telah menggunakan server khusus CentOS 7 64 bit.

Mari kita mulai.

Modul Apache mod_evasive. Ini membantu mempertahankan Serangan Distributed Denial of Service (DoS & DDoS) dan serangan brute force pada server web Apache. Mod_evasive beroperasi dengan memantau permintaan yang masuk dan melaporkan penyalahgunaan melalui fasilitas email dan syslog. Ini dimaksudkan untuk menjadi alat deteksi dan manajemen jaringan dan dikonfigurasi dengan cepat untuk berkomunikasi dengan ipchains, firewall, router, dan banyak lagi.

Mod_evasive mengawasi permintaan yang mencurigakan dan menolak satu alamat IP dari salah satu dari berikut ini:

  • Meminta halaman yang sama lebih dari beberapa kali per detik
  • Membuat lebih dari 50 permintaan bersamaan pada anak yang sama per detik
  • Membuat permintaan apa pun saat masuk daftar hitam sementara

Prasyarat

  • CentOS 7 64-bit dedicated server atau cloud server (Ini juga bekerja dengan CentOS 6)
  • Apache Webserver LAMP (Linux, Apache, MySQL, PHP) diinstal dan dikonfigurasi
  • Server Surat

1. Tetap perbarui server:

# yum update -y

2. Instal EPEL (Paket Ekstra untuk Enterprise Linux):

# yum install epel-release -y

3. Instal prasyarat mod_evasive:

# yum install httpd-devel

4. Instal mod_evasive:

# yum install mod_evasive -y

Sekarang, mod_evasive diinstal

5. Untuk menambahkan konfigurasi mod_evasive ke file konfigurasi Apache Anda:

Secara default, baris LoadModule akan ditambahkan di file konfigurasi mod_evasive.conf. Buka file dan tambahkan baris berikut jika belum ada.

# vi /etc/httpd/conf.d/mod_evasive.conf

LoadModule evasive20_module modules/mod_evasive24.so

Buka file konfigurasi mod_evasive.conf dan periksa entri berikut.

DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify

Anda dapat mengonfigurasi entri di atas sesuai kebutuhan Anda. Ubah DOSEmailNotify ke id email Anda.

Untuk memasukkan alamat IP ke daftar putih, tambahkan baris berikut dalam file konfigurasi:

DOSWhitelist 127.0.0.1

DOSWhitelist 127.0.0.*

Anda juga dapat menambahkan beberapa alamat IP.

Satu entri lagi perlu mengubah DOSLogDir. Secara default, ini mengacu pada /tmp untuk mekanisme penguncian.

Buat direktori baru di /var/log/ :

# mkdir /var/log/mod_evasive

Setel kepemilikan ke pengguna Apache:

# chown -R apache:apache /var/log/mod_evasive

Sekarang, edit baris berikut dalam konfigurasi mod_evasive dan ubah jalur direktori:

DOSLogDir  /var/log/mod_evasive

Simpan dan keluar dari file konfigurasi mod_evasive.

Selanjutnya, restart Apache:

# systemctl restart httpd.service

Itu saja, mod_evasive diinstal dan dikonfigurasi.

Pelajari lebih lanjut tentang opsi konfigurasi mod_evasive
Deskripsi opsi konfigurasi ini diambil langsung dari file README.

DOSHashTableUkuran

Ukuran tabel hash menentukan jumlah node tingkat atas untuk setiap tabel hash anak. Meningkatkan jumlah ini akan memberikan kinerja yang lebih cepat dengan mengurangi jumlah iterasi yang diperlukan untuk mendapatkan catatan, tetapi mengkonsumsi lebih banyak memori untuk ruang tabel. Anda harus meningkatkan ini jika Anda memiliki server web yang sibuk. Nilai yang Anda tentukan akan secara otomatis berjenjang ke bilangan prima berikutnya dalam daftar bilangan prima (lihat mod_evasive.c untuk daftar primer yang digunakan).

DOSPageCount

Ini adalah ambang batas untuk jumlah permintaan untuk halaman yang sama (atau URI) per interval halaman. Setelah ambang batas untuk interval tersebut terlampaui, alamat IP klien akan ditambahkan ke daftar pemblokiran.

DOSSiteCount

Ini adalah ambang batas untuk jumlah total permintaan untuk objek apa pun oleh klien yang sama pada pendengar yang sama per interval situs. Setelah ambang batas untuk interval tersebut terlampaui, alamat IP klien akan ditambahkan ke daftar pemblokiran.

DOSPageInterval

Interval untuk ambang jumlah halaman; default ke interval 1 detik.

DOSSitusInterval

Interval untuk ambang jumlah situs; default ke interval 1 detik.

DOSBlockingPeriode

Periode pemblokiran adalah jumlah waktu (dalam detik) di mana klien akan diblokir jika ditambahkan ke daftar pemblokiran. Selama waktu ini, semua permintaan berikutnya dari klien akan menghasilkan 403 (Terlarang) dan pengatur waktu diatur ulang (misalnya 10 detik lagi). Karena pengatur waktu diatur ulang untuk setiap permintaan berikutnya, tidak perlu memiliki periode pemblokiran yang lama; jika terjadi serangan DoS, timer ini akan terus disetel ulang.

DOSEmailNotify

Jika nilai ini disetel, email akan dikirim ke alamat yang ditentukan setiap kali alamat IP masuk daftar hitam. Mekanisme penguncian menggunakan /tmp mencegah email terus menerus dikirim.

Catatan:

Pastikan MAILER diatur dengan benar di mod_evasive.c (atau mod_evasive20.c). Standarnya adalah “/bin/mail -t %s” di mana %s digunakan untuk menunjukkan alamat email tujuan yang diatur dalam konfigurasi. Jika Anda menggunakan linux atau sistem operasi lain dengan jenis mailer yang berbeda, Anda harus mengubahnya.

DOSSystemCommand

Jika nilai ini disetel, perintah sistem yang ditentukan akan dijalankan setiap kali alamat IP masuk daftar hitam. Ini dirancang untuk mengaktifkan panggilan sistem ke filter ip atau alat lainnya. Mekanisme penguncian menggunakan /tmp mencegah panggilan sistem terus menerus. Gunakan %s untuk menunjukkan alamat IP dari IP yang masuk daftar hitam.

DOSLogDir

Pilih direktori temp alternatif
Secara default "/ tmp" akan digunakan untuk mekanisme penguncian, yang membuka beberapa masalah keamanan jika sistem Anda terbuka untuk pengguna shell. Jika Anda memiliki pengguna shell yang tidak memiliki hak istimewa, Anda akan ingin membuat direktori yang hanya dapat ditulisi oleh pengguna yang menjalankan Apache sebagai (biasanya root), lalu atur ini di httpd.conf Anda.

Dalam artikel ini, kami telah membahas bagaimana teknisi dukungan kami menginstal dan mengonfigurasi mod_evasive untuk mencegah serangan DoS dan DDoS pada CentOS.


Cara Mengaktifkan tag pendek PHP

Cara Mengaktifkan tag pendek PHP

Pada artikel ini, kami telah membahas cara mengaktifkan tag pendek PHP. PHP mem-parsing file menggunakan tag pembuka dan penutup, yang terlihat seperti . Untuk mengaktifkan tag pendek PHP

Konfigurasi mod_evasive Untuk Mencegah Serangan DoS dan DDoS Di CentOS

Konfigurasi mod_evasive Untuk Mencegah Serangan DoS dan DDoS Di CentOS

Pada artikel ini, kita akan mempelajari cara menginstal dan mengkonfigurasi mod_evasive untuk mencegah serangan DoS dan DDoS pada CentOS. Modul Apache mod_evasive.

Cara Menginstal PHP dengan PHP-FPM Untuk NGINX di CentOS

Cara Menginstal PHP dengan PHP-FPM Untuk NGINX di CentOS

cara menginstal PHP dengan PHP-FPM untuk NGINX di CentOS. Konfigurasi dasar server web NGINX untuk memproses aplikasi PHP dan server pada port 80.

Cara Mengamankan Server Web Nginx Dengan Lets Encrypt di CentOS

Cara Mengamankan Server Web Nginx Dengan Lets Encrypt di CentOS

Pada artikel ini, kita akan mempelajari cara mengamankan server web Nginx dengan Lets Encrypt di CentOS.

Cara Mengamankan Server Web Nginx dengan Lets Encrypt Di Ubuntu 18.04

Cara Mengamankan Server Web Nginx dengan Lets Encrypt Di Ubuntu 18.04

kita akan belajar cara mengamankan server Web Nginx dengan Lets Encrypt di Ubuntu. Lets Encrypt adalah Otoritas Sertifikat. Pelajari cara menginstal SSL di Ubuntu 18.04

Cara Mengaktifkan Kompresi Brotli di Nginx CWP

Cara Mengaktifkan Kompresi Brotli di Nginx CWP

Pada artikel ini, kita akan mempelajari cara mengaktifkan kompresi Brotli di Nginx CWP. CentOS Web Panel Brotli adalah algoritme kompresi lossless tujuan umum yang mengompresi data.

Cara Menghapus Ekstensi html Di Nginx

Cara Menghapus Ekstensi html Di Nginx

Jika Anda ingin tahu cara menghapus ekstensi html di Nginx, tutorial ini akan membantu Anda. Untuk menghapus ekstensi .html, edit file conf Nginx dan tambahkan baris berikut:

Cara Menginstal Modul mod_pagespeed Apache Di CWP

Cara Menginstal Modul mod_pagespeed Apache Di CWP

kita akan menginstal modul Apache mod_pagespeed di CWP. mod_pagespeed adalah modul Apache sumber terbuka yang dibuat oleh Google. Cache kecepatan halaman di Panel Web CentOS.

Cara Menginstal Apache Maven di Ubuntu 20.04

Cara Menginstal Apache Maven di Ubuntu 20.04

Bagaimana cara menginstal Apache Maven di Ubuntu 20.04. Kami akan menginstal Apache Maven 3.6.3. Apache Maven adalah perangkat lunak manajemen proyek dan alat pemahaman.

Cara Install Lets Encrypt di Nginx CentOS 8

Cara Install Lets Encrypt di Nginx CentOS 8

Nah pelajari cara menginstal Lets Encrypt di Nginx CentOS 8 menggunakan certbot. Lets Encrypt adalah Otoritas Sertifikat (CA) yang menyediakan enkripsi SSL/TLS