Thứ Ba, 8 tháng 11, 2022

CÀI ĐẶT FAIL2BAN ĐỂ PHÂN TÍCH VÀ GIÁM SÁT LOG TRÊN LINUX

Mục lục
  • Cài đặt Fail2ban
  • Cấu hình Fail2ban
  • Giải thích các cấu hình như sau:
  • Whitelist IP
  • Thông báo qua email:
  • Sử dụng lệnh với fail2ban
Fail2ban là một ứng dụng phân tích và giám sát log để nhận ra các cuộc tấn công vào server thông qua các gói tin. Khi một gói tin đi qua vào server sẽ ghi nhận log và giám sát hoạt động của server source. Nếu Fail2ban được chạy các rule để giám sát, thì sẽ ghi nhận lại các thông số cụ thể để áp dụng những action khi vi phạm các rule này. Fail2ban cũng có thể thực hiện các cảnh báo đến email của bạn khi bị tấn công. Ngoài ra có thể tùy chỉnh những cảnh báo khác nhau bằng SMS hoặc cuộc gọi.

Cài đặt Fail2ban

Fail2ban cho phép ngăn chặn các cuộc tấn công vào dịch vụ SSH, tổng đài (VoIP), Web,Databases,…

Dù không đảm bảo là an toàn tuyệt đối nhưng khi bị tấn công và phát hiện sớm thì sẽ phương án ứng phó kịp thời để không ảnh hưởng đến dịch vụ và hệ thống.

Cài đặt Fail2ban

Trên CentOS

  • Đảm bảo hệ thống của bạn được cập nhật
yum update && yum install epel-release
  • Cài đặt Fail2ban
yum install fail2ban
  • Cài đặt sendmail nếu muốn cảnh báo qua Email
yum install sendmail
  • Kích hoạt và start Fail2ban
systemctl start fail2ban

systemctl enable fail2ban

Nếu start gặp lỗi “no directory /var/run/fail2ban to contain the socket file /var/run/fail2ban/fail2ban.sock” thì gõ lệnh sau:

mkdir /var/run/fail2ban

 

Trên Debian

  • Cập nhật server
apt-get update && apt-get upgrade -y
  • Cài đặt Fail2ban
apt-get install fail2ban
  • Cài đặt sendmail nếu cần
apt-get install sendmail-bin sendmail
  • Kích hoạt và start Fail2ban
systemctl start fail2ban

systemctl enable fail2ban

 

Cấu hình Fail2ban

Fail2ban sẽ đọc các cấu hình trong file .conf trước. Sau đó là các cấu hình trong file .local, các cấu hình này sẽ ghi đè những cấu hình có trước nó. Do đó tất cả các cấu hình mới thường được ghi vào file .local để không ảnh hưởng bởi các conf khác.

Thư mục chứa file cấu hình:

/etc/fail2ban/

Cấu hình file fail2ban.local

  1. fail2ban.conf 

Là file chứa cấu hình mặc định. Các thiết lập mặc định sẽ cung cấp cho bạn một thiết lập làm việc hợp lý. Nếu bạn muốn thực hiện bất kỳ thay đổi nào, tốt nhất là thực hiện nó trong một tệp riêng biệt fail2ban.local, nó sẽ ghi đè fail2ban.conf. Copy file fail2ban.conf thành fail2ban.local và bắt đầu cấu hình.

cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
  1. fail2ban.local

Từ đây, bạn có thể chọn chỉnh sửa các định nghĩa fail2ban.local để phù hợp với cấu hình mong muốn của bạn. Các giá trị có thể được thay đổi là:

  • loglevel: Mức độ chi tiết mà nhật ký của Fail2ban cung cấp có thể được đặt thành 1 (error), 2 (warn), 3 (info), or 4 (debug).
  • logtarget: Ghi nhật ký hành động vào một tệp cụ thể. Giá trị mặc định của file log là /var/log/fail2ban.log. Bạn có thể thay đổi giá trị thành:
  • STDOUT: xuất bất kỳ dữ liệu nào
  • STDERR: xuất bất kỳ lỗi nào
  • SYSLOG: ghi nhật ký dựa trên tin nhắn
  • FILE: xuất ra tệp
  • socket: Vị trí của tệp socket.
  • pidfile: Vị trí của tệp PID.

Cấu hình file jail.local

 

  • jail.conf

 

Là file chứa các cấu hình mặc định cho phép bật fail2ban cho dịch vụ SSH trên Debian, Ubuntu không có trên CentOS. Để thay đổi, thêm các cấu hình ta sao chép ra file jail.local để cấu hình

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

 

  • jail.local

 

Nếu bạn đang sử dụng CentOS hoặc Fedora bạn cần chuyển config backend từ auto thành system. Nếu dùng Debian, Ubuntu thì không cần.

vim /etc/fail2ban/jail.local

backend = system

Để bật fail2ban cho SSH thay đổi config

enable = true

Để thêm các cấu hình fail2ban cho các dịch vụ khác ta thực hiện thêm vào file jail.local. Ví dụ dưới đây là cấu hình fail2ban cho freeswitch.

[freeswitch]

enabled  = true

port     = 5060:5091

protocol = all

filter   = freeswitch

logpath  = /usr/local/freeswitch/log/freeswitch.log

action   = iptables-allports[name=freeswitch, protocol=all]

maxretry = 5

findtime = 600

bantime  = 3600

ignoreip =

Giải thích các cấu hình như sau:

  • enabled : bật fail2ban cho dịch vụ này.
  • port: cổng sẽ áp dụng.
  • protocol: giao thức được áp dụng.
  • filter: bộ lọc được áp dụng cho dịch vụ này (được đặt ở /etc/fail2ban/filter.d/).
  • logpath: log dịch vụ được giám sát.
  • action: hành động được áp dụng (được cấu hình ở /etc/fail2ban/action.d/).
  • maxretry: số lần thử sai trong thời gian cho phép
  • findtime: Khoảng thời gian giữa các lần thử đăng nhập trước khi lệnh cấm được đặt. Ví dụ: nếu Fail2ban được đặt để cấm IP sau năm (5) lần đăng nhập không thành công, 5 lần thử đó phải xảy ra trong findtime giới hạn 10 phút đã đặt . Các findtime giá trị phải là một số thiết lập của giây.
  • bantime : Khoảng thời gian tính bằng giây mà IP bị cấm. Nếu được đặt thành số âm, lệnh cấm sẽ là vĩnh viễn. Giá trị mặc định 600 được đặt để cấm IP trong thời gian 10 phút.
  • ignoreip: ip được bỏ qua, không áp dụng hành động. (Whitelist IP)

 

Whitelist IP

Danh sách trắng là các ip được phép truy cập vào server mà không bị giám sát và ngăn chặn khi có các hành động tấn công. Mọi hành động đều bị fail2ban bỏ qua với các IP nằm trong danh sách này.

Có thể cấu hình Whitelist cho tất cả dịch vụ hoặc từng dịch vụ:

vim /etc/fail2ban/jail.local

ignoreip = 127.0.0.1/8 123.45.67.89

Hoặc bạn có thể thêm nhanh vào Whitelist vào một dịch vụ bằng lệnh sau:

fail2ban-client set SSH addignoreip 123.45.67.89

Thông báo qua email:

Để nhận email khi fail2ban được kích hoạt, hãy điều chỉnh cài đặt email:

  • destemail: Địa chỉ email nơi bạn muốn nhận email.
  • sendername: Tên mà theo đó email hiển thị.
  • sender: Địa chỉ email mà Fail2ban sẽ gửi email.

Để kiểm tra xem sendmail đã hoạt động hay chưa ta dùng lệnh sau:

sendmail -t user@email.com

Sử dụng lệnh với fail2ban

Fail2ban cung cấp một lệnh fail2ban-clientcó thể được sử dụng để chạy Fail2ban từ dòng lệnh:

fail2ban-client COMMAND
  • start: Khởi động máy chủ Fail2ban
  • reload: Tải lại tập tin cấu hình của Fail2ban.
  • reload JAIL: Thay thế JAIL bằng tên của rule Fail2ban
  • stop: Dừng fail2ban.
  • status: Sẽ hiển thị trạng thái của máy chủ và kích hoạt
  • status JAIL: Sẽ hiển thị trạng thái của nhà tù, bao gồm mọi IP hiện đang bị cấm.

Ví dụ: để kiểm tra Fail2Ban đang chạy:

fail2ban-client status
Cài đặt Fail2ban

Xem thêm về fail2ban: Wiki fail2ban

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master