Không còn nghi ngờ gì nữa, bảo mật là yếu tố quan trọng nhất đối với tất cả người dùng đang hoạt động trên Internet. Một trong những phần mềm tốt nhất để bảo vệ và bảo mật máy chủ Linux trước các cuộc tấn công và đe dọa là Fail2Ban. Bằng cách kích hoạt phần mềm này và đặt các quy tắc cụ thể, bạn có thể chặn các địa chỉ nguồn cố xâm nhập và truy cập thông tin nhạy cảm của mình. Mặc dù cấu hình tường lửa mạnh là một cách hiệu quả để bảo mật máy chủ Linux, nhưng tốt hơn hết bạn nên cài đặt và định cấu hình phần mềm Fail2Ban như một phần bổ sung cho tường lửa để chúng có thể hoàn thiện và cải thiện hiệu suất của nhau. Trong bài viết này, chúng tôi sẽ giới thiệu với bạn về Fail2Ban và hướng dẫn bạn cách cài đặt nó trên máy chủ Linux. Hãy cùng theo dõi!
Làm quen với Fail2Ban
Người dùng thường thích hệ điều hành Linux hơn vì tính bảo mật tuyệt vời mà nó mang lại so với các hệ điều hành khác như Windows, macOS, v.v. Đặc biệt, các tổ chức coi bảo mật là ưu tiên hàng đầu hoặc các doanh nghiệp rất coi trọng bảo mật máy chủ, thường chọn mua VPS Linux để lưu trữ. Nhưng việc mua một VPS Linux không giải quyết được tất cả các vấn đề về bảo mật. Với sự tiến bộ của công nghệ, các cuộc tấn công và các mối đe dọa bảo mật đã gia tăng. Vì vậy bạn cần làm cho VPS Linux của mình an toàn hơn bằng các công cụ và lớp bảo vệ thiết thực.
Thông thường, người dùng Linux kích hoạt SSH để tăng cường bảo mật trước các mối đe dọa bảo mật và hành động này rất hữu ích để bảo vệ máy chủ của bạn khỏi các mối đe dọa. Nhưng nếu bạn xem lịch sử đăng nhập của máy chủ Linux, bạn sẽ ngạc nhiên bởi số lượng lớn IP mà đang cố truy cập vào máy chủ Linux thông qua SSH.
Trong tình huống này, nếu bạn chưa lập trình cơ chế, hệ thống của bạn sẽ dễ bị tấn công brute-force vì rất có thể một tập lệnh sẽ cố xâm nhập vào máy chủ của bạn bằng cách kiểm tra tên người dùng và mật khẩu. Do đó, chỉ kích hoạt SSH là không đủ nếu bạn muốn bảo vệ máy chủ Linux của mình trước bất kỳ hình thức tấn công nào, bao gồm tấn công DoS, DDoS và brute-force,… bạn cần tận dụng các công cụ bảo vệ mạnh mẽ như Fail2Ban ngoài việc bật SSH và định cấu hình tường lửa mạnh.
Chức năng của Fail2Ban
- Fail2Ban là một công cụ phân tích nhật ký mã nguồn mở miễn phí giúp bảo vệ máy chủ Linux của bạn khỏi các nỗ lực đăng nhập trái phép, các cuộc tấn công và các mối đe dọa bảo mật.
- Fail2Ban là một phần mềm giao diện để kiểm tra nhật ký hệ thống bằng cách phát hiện nhiều lần đăng nhập không thành công vào hệ thống Linux của bạn. Nó sẽ tự động thêm các quy tắc tường lửa mới vào bảng IP của bạn và chặn IP của nguồn đang cố đăng nhập (trong khoảng thời gian định trước hoặc không giới hạn).
- Fail2ban kiểm tra các tệp nhật ký và tìm kiếm IP có ý định xâm nhập vào hệ thống và làm xáo trộn bảo mật của máy chủ Linux. Sau khi tìm thấy, nó sẽ tạm thời thêm IP đó vào danh sách đen của tường lửa.
- Mặc dù Fail2Ban hoạt động dựa trên các cài đặt mặc định, nhưng đây là một phần mềm linh hoạt và có thể điều chỉnh cho phép bạn đặt các quy tắc mới theo nhu cầu của mình.
- Cấu hình Fail2Ban giảm các mối đe dọa bảo mật và các cuộc tấn công vào máy chủ Linux, đồng thời thông báo cho quản trị viên máy chủ qua email khi phát hiện thấy một cuộc tấn công.
=>> Cách vô hiệu hóa khả năng đăng nhập của người dùng trong Linux
Cài đặt Fail2Ban trên máy chủ Linux
Do tính phổ biến của nó phần mềm Fail2Ban được sử dụng rộng rãi lại có sẵn trong kho của tất cả các bản phân phối Linux và bạn có thể dễ dàng cài đặt phần mềm này từ kho của các bản phân phối Linux khác nhau.
Điều kiện để cài đặt Fail2Ban
Để cài đặt Fail2Ban trên máy chủ Linux, bạn phải có quyền người dùng root hoặc sudo. Đồng thời kết nối với máy chủ của bạn thông qua ứng dụng khách SSH. Ngoài ra, trước khi bắt đầu cài đặt Fail2Ban, hãy đảm bảo rằng hệ thống được cập nhật và kho lưu trữ EPEL đã được cài đặt.
Cài đặt Fail2Ban trên Ubuntu
Nếu bạn đang sử dụng hệ điều hành Ubuntu trên máy chủ Linux, hãy chạy lệnh sau để cập nhật phần mềm và kho lưu trữ hệ thống Ubuntu:
apt-get update && apt-get upgrade
Nhập lệnh sau để cài đặt gói Fail2Ban trên Ubuntu:
apt-get install fail2ban
Để bật dịch vụ hỗ trợ email cho Fail2Ban, hãy nhập lệnh sau rồi nhấn nút Enter.
apt-get install sendmail
Để kiểm tra trạng thái của dịch vụ Fail2Ban, hãy sử dụng lệnh sau:
sudo systemctl status fail2ban
Cài đặt Fail2Ban trên CentOS
Để có thể hưởng lợi từ phần mềm fail2Ban trên CentOS, hãy thực hiện quy trình sau.
Truy cập và tải xuống Fail2Ban trong kho lưu trữ gói bổ sung cho Enterprise Linux (EPEL), hãy chạy lệnh sau:
sudo yum install epel-release
Để cài đặt Fail2Ban trên CentOS, hãy thực hiện lệnh sau và nhấn Enter.
sudo yum install fail2ban
Để kích hoạt và bắt đầu dịch vụ Fail2Ban, hãy nhập các lệnh sau:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Cài đặt Fail2Ban trên Debian
Thực hiện theo các bước bên dưới để cài đặt Fail2Ban trên Debian.
Đầu tiên, cập nhật kho lưu trữ hệ thống Debian bằng lệnh sau và nhấn Enter sau khi nhập lệnh sau.
apt-get update && apt-get upgrade –y
Nhập lệnh sau để cài đặt Fail2Ban:
apt-get install fail2ban
Để sử dụng dịch vụ hỗ trợ email cho Fail2Ban, bạn cần cài đặt Sendmail thông qua lệnh sau:
apt-get install sendmail-bin sendmail
Để đảm bảo rằng dịch vụ Fail2Ban đã được cài đặt và hoạt động, hãy kiểm tra trạng thái của nó bằng cách nhập lệnh sau:
systemctl status fail2ban
Cài đặt Fail2Ban trên Fedora
Bạn có thể cài đặt Fail2Ban trên hệ thống Fedora của mình bằng cách làm theo hướng dẫn bên dưới.
Bắt đầu quá trình cài đặt bằng cách cập nhật kho lưu trữ hệ thống của bạn:
dnf update
Sau đó nhấn nút Enter.
Cài đặt Fail2Ban trên Fedora bằng cách nhập lệnh sau:
dnf install fail2ban
Chạy và kích hoạt dịch vụ Fail2Ban bằng các lệnh sau:
systemctl start fail2ban
systemctl enable fail2ban
Nếu bạn sử dụng Sendmail trên hệ thống của mình, hãy nhập các lệnh sau để kích hoạt và chạy dịch vụ Sendmail:
systemctl start sendmail
systemctl enable sendmail
=>> Cách cài đặt và định cấu hình Pleroma trên Ubuntu
Cách định cấu hình Fail2Ban
Sau khi bạn cài đặt fail2Ban, đã đến lúc định cấu hình nó, bạn cần sử dụng các tệp fail2ban.local và jail. local.
Fail2Ban có hai tệp cấu hình chính:
- /etc/fail2ban/fail2ban.conf: tệp này đóng vai trò là cấu hình hoạt động của daemon Fail2Ban và nó bao gồm cấp nhật ký, tệp nhật ký, ổ cắm và cài đặt PID.
- /etc/fail2ban/jail.conf: tập tin kiểm soát hành vi của Fail2Ban, cho phép thiết lập những thứ như thời gian cấm mặc định, số lần trước khi cấm một IP, đưa IP vào danh sách trắng, thông tin gửi mail, v.v.
Chỉnh sửa cài đặt mặc định bằng fail2ban.local
Bây giờ bạn đã quen thuộc với các tệp cấu hình Fail2ban chính, hãy nhớ rằng nếu bạn thực hiện các thay đổi đối với tệp, chúng tôi khuyên bạn nên tạo một bản sao của fail2ban.conf với tên .local để ghi đè cấu hình cấu hình mặc định. Lý do sao chép tệp fail2ban.conf là các tệp conf mặc định bị ghi đè trong quá trình cập nhật và có khả năng mất cài đặt.
Thực hiện theo các bước bên dưới để thay đổi tên bản sao và cài đặt của tệp fail2ban.local:
Nhập lệnh sau để đổi tên tệp cấu hình ban đầu thành fail2ban. local:
cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
Lưu ý: Đừng đợi đầu ra sau khi vào lệnh vì nó sẽ không cung cấp đầu ra.
Sau đó chạy lệnh sau và nhấn nút Enter để mở tệp:
sudo nano /etc/fail2ban/fail2ban.local
Nhờ đó, bạn sẽ có thể dễ dàng thực hiện các thay đổi trong nội dung của tệp.
Để sử dụng các tùy chọn và Giá trị, hãy nhập các lệnh sau. Sử dụng lệnh sau để lấy báo cáo:
loglevel = INFO
Báo cáo bạn nhận được có các cấp độ khác nhau, trong đó:
- CRITICAL: Đây là một tình huống khẩn cấp cần được chú ý ngay lập tức.
- ERROR: Hiển thị một vấn đề không quan trọng bằng CRITICAL.
- WARNING: Các điều kiện có thể nguy hiểm.
- NOTICE: Một điều kiện phổ biến nhưng quan trọng.
- INFO: Bạn có thể bỏ qua thông báo INFO.
- DEBUG: Đây là những thông báo cấp gỡ lỗi.
Để nhận đầu ra về các hành động nhắm mục tiêu cụ thể, hãy nhập lệnh sau:
logtarget = STDERR
Trong đó bao gồm những thông tin sau đây:
- FILE: Đầu ra mặc định của nó là tập tin socket.
- SYSLOG: Đầu ra của nó là một tệp báo cáo văn bản.
- STDERR: Đầu ra của nó là lỗi tiêu chuẩn.
- STDOUT: đầu ra tiêu chuẩn.
Để tự động hóa hoặc đặt Syslog socket làm File, hãy thực hiện lệnh sau và đây là với điều kiện bạn đã đặt SYSLOG cho log target.
syslogsocket = auto
Khi coi /var/run/fail2ban/fail2ban.sock là vị trí mặc định, hãy nhập lệnh sau để đặt tệp socket giao tiếp với daemon:
socket = /var/run/fail2ban/fail2ban.sock
Với việc coi /var/run/fail2ban/fail2ban.pid là vị trí mặc định, hãy nhập lệnh sau để đặt tệp PID lưu trữ ID tiến trình máy chủ Fail2Ban:
pidfile = /var/run/fail2ban/fail2ban.pid
Chỉnh sửa cài đặt tệp cấu hình chính bằng Jail.local
Như chúng tôi đã đề cập trước đó, tệp jailbreak.conf là một tệp cấu hình khác cho Fail2Ban. Hãy cẩn thận không thay đổi trực tiếp cài đặt của tệp này vì nó bao gồm các quy tắc cơ bản của phần mềm. Chúng tôi khuyên bạn không nên sử dụng lệnh less để đọc tệp này vì nó có thể khiến bạn khó hiểu. Lệnh conf cung cấp một báo cáo chi tiết và cụ thể hơn.
Tốt hơn là tạo một tệp cục bộ có tên là jailbreak.local chứa một bản sao của tệp gốc được sử dụng để đặt và tùy chỉnh các hành động cũng như bộ lọc, chẳng hạn như ignoreip, bantime, findtime, maxretry. Tệp Jail.conf cung cấp một nhóm các dịch vụ có phần [Default] được cung cấp cho tất cả các dịch vụ, sau đó hiển thị các dịch vụ khác nhau với cài đặt tương ứng của chúng. Vì vậy, bạn có thể thấy các phần như [sshd], [apache-auth], [squid], v.v.
[DEFAULT]
ignorecommand =
bantime = 10m
findtime = 10m
maxretry = 5
backend = auto
usedns = warn
logencoding = auto
enabled = false
mode = normal
filter = %(name)s[mode=%(mode)s]
destemail = root@localhost
sender = root@
mta = sendmail
protocol = tcp
chain =
port = 0:65535
fail2ban_agent = Fail2Ban/%(fail2ban_version)s
banaction = iptables-multiport
banaction_allports = iptables-allports
action_abuseipdb = abuseipdb
action = %(action_)s
Lưu ý: bên trong mỗi dấu ngoặc đơn chỉ định dịch vụ.
Trong bài viết này, chúng tôi đã hướng dẫn cách cài đặt và định cấu hình Fail2Ban trên các hệ điều hành Ubuntu, Debian, Fedora và CentOS. Chúng tôi đã giải thích cách chỉnh sửa cài đặt của hai tệp cấu hình chính, fail2ban.local và Jail.local. Hy vọng rằng bằng cách sử dụng hướng dẫn của ZingServer, bạn có thể trang bị cho máy chủ Linux của mình công cụ Fail2Ban mạnh mẽ và sử dụng các tính năng của nó để cải thiện tính bảo mật cho máy chủ Linux. Cảm ơn đã theo dõi bài viết!