Blog chia sẻ kiến thức

Blog chia sẻ kiến thức

6/10/16

Tự động thêm danh sách IP bị block bởi CSF vào CloudFlare

Để chống DDOS hiệu quả, bạn có thể sử dụng CloudFlare làm lá chắn cho server. CloudFlare có tiện ích mod_cloudflare cài đặt trên linux cùng với apache sẽ tự động thực hiện điều này.

Thật không may là nếu như mod_cloudflare cài đặt trên máy chủ web backend, sẽ không nhận diện chuẩn được IP thực của client và việc bảo vệ sẽ không hiệu quả.


Để khắc phục điều này, Bạn có thể sử dụng CSF (Config Server Firewall) cài đặt trên máy chủ FrontEnd tự động chạy script để thực hiện điều này.
Nếu chưa biết cài đặt CSF, hãy tham khảo ngay bài viết: Chống DDOS cho server bằng CSF

Cách thực hiện:

Đơn giản nhất là mỗi khi IP được đưa vào Firewall qua LFD (Login Failure Daemon), CSF sẽ chạy script và gửi nó đến CloudFlare thông qua API của CloudFlare.

Đưới đây là Script viết bằng shell trên linux để thực hiện việc này. Lưu nó dưới tên: block_report.sh

#!/bin/bash
ip=$(printf "%q" $1)
no=$(printf "%q" $6)
curl -X POST "https://api.cloudflare.com/client/v4/user/firewall/access_rules/rules"  -H "X-Auth-Email: YOU@YOUREMAIL.COM" -H "X-Auth-Key: YOURCLOUDFLAREAUTHCODE" -H "Content-Type: application/json" --data '{"mode":"block","configuration":{"target":"ip","value":"'$ip'"},"notes":"fromcsflfd"}'
chmod +x /my-script-path/block_report.sh
Thay YOU@YOUREMAIL.COM bằng email của bạn trên CloudFlare. Thay YOURCLOUDFLAREAUTHCODE bằng Auth Code của bạn trên CloudFlare->Account->Setting

Tiêp theo mở file CSF config:

/etc/csf/csf.conf
Tìm đến phần BLOCK REPORT và đặt script:

# Block Reporting. lfd can run an external script when it performs and IP
# address block following for example a login failure. The following setting
# is to the full path of the external script which must be executable. See
# readme.txt for format details
#
# Leave this setting blank to disable
BLOCK_REPORT = "/my-script-path/block_report.sh"
Tiếp theo cần khởi động lại CSF và LFD để các thay đổi được áp dụng.

Xem thêm: Hướng dẫn cài đặt Wordpress trên Centos 7







Không có nhận xét nào:

Đăng nhận xét