Blog chia sẻ kiến thức

Blog chia sẻ kiến thức
Hiển thị các bài đăng có nhãn FIREWALL. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn FIREWALL. Hiển thị tất cả bài đăng

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







0

4/10/16

Chống DDOS cho website bằng CSF

chong ddos cho website
Firewall giúp ngăn chặn tấn công DDOS

ConfigServer Security & Firewall (hay CSF) là một firewall rất phổ biến và hiệu quả được sử dụng trên các server Linux hiện nay. Bên cạnh những tính năng cơ bản như một firewall, CSF còn có những chức năng bảo mật nâng cao khác như ngăn chặn flood login, port scans, SYN floods…
Chi tiết các tính năng của CSF các bạn có thể xem ở đây.

Hướng dẫn cài đặt CSF

1. Cài đặt các module cần thiết cho CSF

Cài đặt module Perl cho CSF script
yum install perl-libwww-perl

2. Tải CSF

cd /tmp
wget https://download.configserver.com/csf.tgz

3. Cài đặt CSF

Tiến hành giải nén và cài đặt CSF
tar -xzf csf.tgz
cd csf
sh install.sh

4. Cấu hình CSF

Mặc định thì script trên sẽ cài đặt và chạy CSF ở chế độ “Testing”, có nghĩa là server lúc này chưa được bảo vệ toàn diện. Để tắt chế độ “Testing” bạn cần cấu hình các lựa chọn TCP_IN, TCP_OUT, UDP_IN và UDP_OUT cho phù hợp với nhu cầu .
Mở file cấu hình CSF
nano /etc/csf/csf.conf
Chỉnh sửa các thông số cho phù hợp
# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443"

# Allow incoming UDP ports
UDP_IN = "20,21,53"

# Allow outgoing UDP ports
# To allow outgoing traceroute add 33434:33523 to this list
UDP_OUT = "20,21,53,113,123"
Khi đã cấu hình xong, tắt chế độ Testing bằng cách chuyển TESTING = “1” thành TESTING = “0”
TESTING = "0"
Cuối cùng lưu lại file cấu hình CSF

5. Khởi động CSF

Chạy CSF và cho phép tự kích hoạt mỗi khi boot VPS
chkconfig --level 235 csf on
service csf restart

6. Những file cấu hình CSF

Toàn bộ thông tin cấu hình và quản lý CSF được lưu ở các file trong folder /etc/csf. Nếu bạn chỉnh sửa các file này thì cần khởi động lại CSF để thay đổi có hiệu lực.
  • csf.conf : File cấu hình chính để quản lý CSF.
  • csf.allow : Danh sách địa chỉ IP cho phép qua firewall.
  • csf.deny : Danh sách địa chỉ IP từ chối qua firewall.
  • csf.ignore : Danh sách địa chỉ IP cho phép qua firewall và không bị block nếu có vấn đề.
  • csf.*ignore : Danh sách user, IP được ignore.

7. Một số lệnh thường dùng

Một số câu lệnh sử dụng để add (-a) hoặc deny (-d) một địa chỉ IP.
csf -d IPADDRESS //Block địa chỉ IP
csf -dr IPADDRESS //Xóa địa chỉ IP đã bị block
csf -a IPADDRESS //Allow địa chỉ IP
csf -ar IPADDRESS //Xóa địa chỉ IP đã được allow
csf -g IPADDRESS //Kiểm tra địa chỉ IP có bị block không
csf -r //Khởi động lại CSF
csf -x //Tắt CSF
csf -e //Mở CSF
Trong trường hợp bạn quên những lệnh trên, hãy sử dụng csf sẽ liệt kê toàn bộ danh sách các option.

8. Xóa CSF

Nếu bạn muốn xóa hoàn toàn CSF, chỉ cần sử dụng script sau:
/etc/csf/uninstall.sh
Việc này sẽ xóa toàn bộ CSF nên bạn cần cân nhắc khi dùng. Nếu muốn tạm thời tắt CSF thì có thể chuyển chế độ TESTING sang 1.
Trên đây là hướng dẫn căn bản cài đặt ConfigServer Security & Firewall (CSF), xem thêm bài viết hướng dẫn cài đặt nâng cao bảo mật hơn cho VPS/server.
0