Cách cài đặt và sử dụng SSHGuard trên Ubuntu 20.04

Tác giả Network Engineer, T.Ba 15, 2022, 09:53:41 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt và sử dụng SSHGuard trên Ubuntu 20.04


SSHGuard là một daemon mã nguồn mở được sử dụng để tăng cường bảo mật cho SSH cũng như các giao thức mạng khác. Hơn nữa, nó được sử dụng để ngăn chặn các cuộc tấn công vũ phu (brute force). Nó sẽ liên tục theo dõi và lưu giữ hồ sơ theo dõi của nhật ký hệ thống, giúp theo dõi các nỗ lực đăng nhập liên tục hoặc hoạt động độc hại. Khi nó phát hiện ra hoạt động như vậy thì nó sẽ ngay lập tức chặn địa chỉ IP bằng cách sử dụng các phần mềm phụ trợ tường lửa như PF, iptables và ipfw. Sau đó, nó sẽ bỏ chặn địa chỉ IP sau một khoảng thời gian nhất định. Một số định dạng nhật ký như tập tin nhật ký thô, Syslog-ng và Syslog được SSHGuard hỗ trợ cũng như cung cấp bảo vệ lớp bổ sung cho một số dịch vụ postfix, Sendmail, vsftpd, v.v. bao gồm ssh.

Trong hướng dẫn này, bạn sẽ học cách cài đặt SSHGuard và cấu hình hệ thống để ngăn chặn các cuộc tấn công brute force trong Ubuntu 20.04. Hãy bắt đầu với việc cài đặt.

1. Cài đặt SSHGuard

Bạn có thể cài đặt SSHGuard từ trình quản lý gói apt; bạn chỉ cần thực hiện lệnh cài đặt sau trong cửa sổ dòng lệnh Terminal của mình. Đầu tiên, mình luôn cần cập nhật thông tin gói trước khi cài đặt gói bằng apt.

Mã nguồn [Chọn]
$ sudo apt update
Mã nguồn [Chọn]
$ sudo apt install sshguard
Sau khi cài đặt SSHGuard thành công, bạn có thể kiểm tra trạng thái của SSHGuard bằng cách sử dụng daemon systemctl. Bạn sẽ thấy kết quả tương tự như ví dụ sau.

Mã nguồn [Chọn]
$ sudo systemctl status sshguard

2. Cấu hình SSHGuard trên Ubuntu

Khoảng thời gian cấm máy chủ từ xa mặc định là 120 giây và mỗi lần đăng nhập không thành công liên tiếp sẽ tăng thời gian cấm lên 1,5. Bạn có thể định cấu hình tập tin SSHGuard sshguard.conf mà bạn có thể tìm thấy trong đường dẫn sau.

Mã nguồn [Chọn]
$ sudo vim /etc/sshguard/sshguard.conf

Như bạn có thể thấy trong ví dụ trên, có nhiều chỉ thị với giá trị mặc định của nó. Hãy làm nổi bật một số chỉ thị và nó thực sự dùng để làm gì.

  • Chỉ thị có tên BACKEND chứa đường dẫn của chương trình phụ trợ tường lửa hệ thống.
  • Lệnh có tên THRESHOLD cho biết số lần thử mà sau đó người dùng sẽ bị chặn.
  • Lệnh BLOCKE_TIME xác định khoảng thời gian mà kẻ tấn công sẽ vẫn bị cấm sau những lần đăng nhập sai liên tiếp.
  • Lệnh DETECTION_TIME xác định thời gian mà kẻ tấn công được phát hiện / ghi lại.
  • Chỉ thị WHITELIST_FILE chứa đường dẫn đến tập tin chứa danh sách các máy chủ đã biết.

Sau đó, hãy làm việc với tường lửa hệ thống. Để chặn cuộc tấn công brute force, bạn cần cấu hình tường lửa theo cách sau.

Mã nguồn [Chọn]
$ sudo vim /etc/ufw/before.rules
Sau đó, thêm dòng mã sau vào tập tin đang mở giống như ví dụ dưới đây.

Mã nguồn [Chọn]
:sshguard - [0:0]
-A ufw-before-input -p tcp --dport 22 -j sshguard


Bây giờ, hãy ghi và thoát khỏi tập tin và khởi động lại tường lửa.

Mã nguồn [Chọn]
$ sudo systemctl restart ufw
Sau khi mọi thứ được thiết lập, hệ thống của bạn đã sẵn sàng để tiếp tục các cuộc tấn công bạo lực.

3. Lập danh sách trắng các máy chủ bị chặn

Danh sách trắng sẽ cho phép các máy chủ bị chặn đăng nhập lại vào hệ thống mà không có bất kỳ hạn chế nào. Để đưa vào danh sách trắng, máy chủ lưu trữ cụ thể sau đó chỉ định IP của máy chủ lưu trữ trong tập tin nằm ở đích sau.

Mã nguồn [Chọn]
$ sudo vim /etc/sshguard/whitelist

Bây giờ, khi bạn đã thêm IP vào tập tin danh sách trắng, hãy khởi động lại trình nền SSHGuard và chương trình phụ trợ tường lửa để áp dụng các thay đổi.

Trong hướng dẫn này, mình đã chỉ cho bạn cách cài đặt SSHGuard và cách cấu hình phần mềm bảo mật để làm cho hệ thống có khả năng chống lại cuộc tấn công vũ phu và thêm một lớp bảo mật bổ sung.