HƯỚNG DẪN Bảo vệ Apache với Mod_QOS để ngăn chặn tấn công DDOS (Slowloris)

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 20/12/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    Apache là web server rất dễ bị một loạt các tấn công từ chối dịch vụ. Một hình thức phổ biến của tấn công là HTTP flooding (ví dụ Slowloris) khai thác kiến trúc của Apache.

    Có nhiều cách để khắc phục kiểu tấn công này, mỗi cách đều có ưu điểm riêng:
    • Không dùng Apache nữa! Nếu dùng Apache sau reserve proxy , thì chỉ cho nghe trên cổng 127.0.0.1 hoặc các IP cục bộ.
    • Giảm Timeout cho Apache. Tuy nhiên cách này không mấy hiệu quả, tin tặc chỉ phải gửi thêm nhiều gói tin mà thôi.
    • Giới hạn số kết nối đến Apache cho mỗi IP. Có thể dùng mod_qos chẳng hạn để làm việc này.
    • Giải quyết ở lớp dưới: cấu hình firewall để giới hạn số kết nối đến cổng 80 trên mỗi IP.
    Hôm này tôi sẽ hướng dẫn cài đặt và cấu hình mod_qos.
    Cài đặt và thiết lập Mod_QOS
    Trước hết chúng ta sẽ tải về Mod_QOS:
    Mã:
    cd /tmp
    wget http://kent.dl.sourceforge.net/project/mod-qos/mod_qos-9.57.tar.gz
    apt-get install apache2-threaded-dev gcc 
    Giải nén tập tin tải về:
    Mã:
    tar -xvf mod_qos-9.57.tar.gz
    cd mod_qos-9.57/apache2 
    Sau đó cài đặt plugin:
    Mã:
     apxs2 -i -c mod_qos.c 
    Cấu hình:
    Mã:
    cd /etc/apache2/mods-available/
    nano qos.load 
    Thêm đoạn mã sau vào tập tin qos.load
    Mã:
     LoadModule qos_module /usr/lib/apache2/modules/mod_qos.so 
    Thêm đoạn mã sau vào tập tin qos.conf. Nếu không có bạn tự tạo ra cũng được:
    Mã:
    touch qos.conf 
    nano qos.conf
    
    Mã:
    PHP Code:
    # handles connections from up to 100000 different IPs
    QS_ClientEntries 100000
    # will allow only 50 connections per IP
    QS_SrvMaxConnPerIP 50
    # maximum number of active TCP connections is limited to 256
    MaxClients 256
    # disables keep-alive when 70% of the TCP connections are occupied:
    QS_SrvMaxConnClose 180
    # minimum request/response speed (deny slow clients blocking the server, ie. slowloris keeping connections open without requesting anything):
    QS_SrvMinDataRate 150 1200
    # and limit request header and body (carefull, that limits uploads and post requests too):
    # LimitRequestFields 30
    # QS_LimitRequestBody 102400
    
    Và cuối cùng là kích hoạt các plugin:
    Mã:
     a2enmod qos 
    Sau đó khởi đông lại apache:
    Mã:
     /etc/init.d/apache2 restart 
     

Chia sẻ trang này

Đang tải...