mod_evasive คือ module ส่วนเสริม ของ apache ซึ่งทำหน้าที่ ตรวจจับ การ request ผ่าน apache web server มีขั้นตอนการทำงาน คือหากมี IP ใด ทำการ request เข้ามายัง web server มากกว่าปรกติ mod_evasive จะทำการ ban IP ดังกล่าว กระบวนการนี้จะช่วยป้องกันการ DDoS attack ผ่าน apache ได้
การติดตั้งให้ login ssh ด้วยสิทธิ์ root แล้วสั่งดังนี้ (ค่อยๆ พิมพ์ทีละบรรทัดนะครับใจเย็นๆ)
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
tar xzf mod_evasive_1.10.1.tar.gz
cd mod_evasive
apxs -cia mod_evasive20.c
แก้ไขไฟล์ apache config ใส่ code ไว้ล่างๆ ได้เลย
vi /etc/httpd/conf/httpd.conf
เพิ่ม code ดังนี้
DOSHashTableSize 3097
DOSPageCount 10
DOSSiteCount 280
DOSPageInterval 1
DOSSiteInterval 1
DOSWhitelist 127.0.0.1
DOSBlockingPeriod 1200
DOSEmailNotify admin@yourserver.com
เรียบร้อยแล้วให้ทำการ restart apache เป็นอันจบกระบวนการ
service httpd restart
วิธีดูว่า mod_evasive ทำการ block ip ไหนไปบ้างแล้วให้ พิมพ์
grep Blacklisting /var/log/messages
ดูจาก log เอานะครับ เพราะถ้าเขียนให้มันส่งอีเมลมาให้ มันจะส่งมาบ่อยมากจนรำคาญเลยครับ เพราะวันๆ จะมี ip ที่ถูก block เป็นจำนวนมากครับ