ติดตั้ง 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

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *