ติดตั้ง mod_qos ลดอาการเจ็บเวลาโดน DDOS บน Server DirectAdmin

By | 15/01/2013
Policy

Policy

mod_qos จะเป็นตัวช่วยทำให้ Apache ทำงานตามเงื่อนไขของเราได้มากขึ้น เนื่องจาก Apache ไม่สามารถ config เกี่ยวกับ Policy ได้มากเท่าไรเช่น SrvMaxConnPerIP คือ การจำกัดจำนวนการเชื่อมต่อมาที่ Http server เช่น 1 ไอพี สามารถเชื่อมต่อกับ Apache ได้ 5 Connections ซึ่งโดยปกติ Apache อย่างเดียวไม่สามารถทำได้ จึงจำเป็นต้องติดตั้ง Mod เพิ่มเติมให้กับ Apache เพื่อให้เราสามารถกำหนด Rule หรือ Policy ให้กับ Apache ได้มากขึ้นครับ

และวิธีติดตั้งวันนี้ผมก็ได้เลือกใช้ mod_qos ตัวล่าสุด ที่ตอบโจทย์ที่ต้องการ จาก http://opensource.adnovum.ch/mod_qos/ เข้าไปชมกันได้ครับ

มาดูวิธีการติดตั้ง mod_qos กันครับ
ดาวน์โหลด mod_qos

cd /usr/local/directadmin/custombuild
wget http://iweb.dl.sourceforge.net/project/mod-qos/mod_qos-10.13.tar.gz

ทำการแยกไฟล์และเข้าไปยังห้องเก็บ config ต่างๆ เพื่อ compile สำหรับ apache 2 บน DirectAdmin ปกติจะได้ Apache 2 มาอยู่แล้ว

tar -zxvf mod_qos-10.13.tar.gz
cd mod_qos-10.13/apache2

เริ่มต้น compile โดยสั่งตามนี้ครับ

apxs -cia mod_qos.c

ถ้าไม่เจออะไรผิดพลาดจะเจอข้อความล่าสุดประมาณนี้

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/lib/apache/mod_qos.so
[activating module `qos' in /etc/httpd/conf/httpd.conf]

หลังจาก compile script เสร็จ ระบบจะทำการเพิ่ม Module ให้ทันทีที่ /etc/httpd/conf/httpd.conf เข้า

ไปเช็คกันด้วยครับ
ถ้าไม่เจอให้เอา

LoadModule qos_module         /usr/lib/apache/mod_qos.so

ไปไว้ได้บรรทัดที่มีคำว่า Listens ครับ

ต่อไปคือ config mod_qos ครับ ในที่นี้ขอไม่อธิบายวิธี config ให้ครับคือจะมีให้อยู่แล้วแนะนำให้ศึกษาเองที่เว็บผู้พัฒนาครับ

## QoS Configure

    # handles connections from up to 50000 different IPs
    QS_ClientEntries 50000
    # will allow only 8 connections per IP
    QS_SrvMaxConnPerIP 8
    # maximum number of active TCP connections is limited to 256
    MaxClients              100
    # disables keep-alive when 70% of the TCP connections are occupied:
    QS_SrvMaxConnClose      50
    # minimum request/response speed (deny slow clients blocking the server, ie. slowloris keeping connections open without requesting anything):
    QS_SrvMinDataRate       10 600
    # and limit request header and body (carefull, that limits uploads and post requests too):
    # LimitRequestFields      30
    # QS_LimitRequestBody     102400

เอามาจาก howtoforge.com อีกทีขอให้ปรับแต่งตามความต้องการของแต่ละคนนะครับ

ให้นำเอา config ของแต่ละท่านไปไว้บรรทัดสุดท้ายของไฟล์ /etc/httpd/conf/extra/httpd-includes.conf
หลังจากนั้นสั่ง restart service

service httpd restart

เป็นอันเสร็จครับ
จากนั้นให้ดูผลการติดตั้งที่ server status reports ของ apache ซึ่งต้องใช้ mod_status
ปกติจะติด ตั้งมาแล้วแต่ยังไม่เปิดใช้งาน ยังไงก็หาวิธีเปิดเองก่อนนะครับเพราะยังไม่ได้เขียนวิธีลงไว้

2 thoughts on “ติดตั้ง mod_qos ลดอาการเจ็บเวลาโดน DDOS บน Server DirectAdmin

ใส่ความเห็น