Cách kiểm tra số lần đăng nhập SSH không thành công trong VPS Linux

Tác giả: VPS chính hãng 11 tháng 04, 2023

Cài đặt máy chủ với giao thức SSH là một trong những biện pháp bảo mật của người quản trị máy chủ nhằm mã hóa giao tiếp giữa máy chủ và máy khách trong một mạng không an toàn. Kiểm soát và giám sát các lần đăng nhập SSH không thành công trong Linux là một trong những nhiệm vụ quan trọng nhất của quản trị viên VPS Linux, với mục đích là để bảo vệ máy chủ khỏi sự xâm nhập từ xa bất hợp pháp. 

Tại sao nên biết số lần đăng nhập SSH không thành công trong VPS Linux

Trong Linux, trình nền rsyslog xác định mọi nỗ lực đăng nhập vào hệ thống thông qua SSH và lưu nó vào tệp nhật ký. Các chi tiết về các lần đăng nhập, chẳng hạn như tài khoản người dùng, địa chỉ IP và ngày và giờ của đăng nhập có sẵn cho quản trị viên máy chủ dưới dạng báo cáo. Do đó, quản trị viên có thể cải thiện tính bảo mật của máy chủ trước các cuộc tấn công brute-force và các lần truy cập không mong muốn bằng cách truy cập các báo cáo từ các lần thử thành công và không thành công đối với hệ thống SSH, và liệt kê các tệp nhật ký thông qua phương pháp kết hợp, lọc và hiển thị.

Trong Linux, có nhiều lệnh khác nhau, chẳng hạn như tổ hợp các lệnh cat và grep để lấy danh sách thông tin về các lần đăng nhập SSH không thành công, nhằm tối ưu hóa bảo mật và quản lý VPS Linux của bạn. Cùng theo dõi nội dung tiếp theo để tìm hiểu về các lệnh Linux hữu ích để điều tra các lần đăng nhập SSH không thành công.

=>> Đọc thêm: Cách sử dụng Port Knocking trong Linux để bảo mật máy chủ SSH

Báo cáo đăng nhập SSH không thành công giúp cải thiện bảo mật

Báo cáo đăng nhập SSH không thành công giúp cải thiện bảo mật

Kiểm tra các lần đăng nhập SSH không thành công

Các nỗ lực đăng nhập vào hệ thống không thành công có nhiều lý do khác nhau và thường là do nhập sai mật khẩu, quên hoặc đoán sai mật khẩu hoặc các cuộc tấn công. Chúng tôi sẽ cung cấp các lệnh để lấy thông tin hữu ích về các lần đăng nhập SSH không thành công. Trước khi làm quen với các lệnh, bạn nên xem xét các điều kiện tiên quyết để chạy các lệnh Linux để kiểm tra các lần đăng nhập SSH không thành công.

Điều kiện tiên quyết bao gồm:

  • Tính khả dụng của VPS Linux hoặc hệ thống Linux.
  • Cài đặt Open SSH.
  • Tài khoản người dùng có quyền Root/Sudo.
  • Truy cập vào dòng lệnh Linux (nhấn các nút “CTRL + ALT + T” trên bàn phím để truy cập dòng lệnh).

Các bước để kích hoạt SSH

Điều kiện tiên quyết để thực hiện các lệnh mà chúng tôi sẽ giới thiệu là trường hợp SSH được kích hoạt trên hệ thống Linux với bất kỳ bản phân phối Linux nào. Để kích hoạt SSH trong Linux, bạn phải chắc chắn đã cài đặt Open SSH. Vì mục đích này, chúng tôi hướng dẫn cách cài đặt Open SSH trên Linux. Cách cài đặt SSH mở trong các bản phân phối Linux khác nhau là tương tự nhau. Trong hướng dẫn này, chúng tôi thực hiện trên bản phân phối Ubuntu.

=>> Đọc thêm: Cách cài đặt Dropbox trên Ubuntu (sử dụng Terminal và GUI)

Cài đặt OpenSSH để chạy các lệnh kiểm tra trên Linux 

Cài đặt OpenSSH để chạy các lệnh kiểm tra trên Linux

1. Cài đặt OpenSSH

Để cài đặt Open SSH trên Linux, hãy nhập lệnh sau:

sudo apt install openssh-server

Sau khi chạy lệnh cài đặt Open SSH, bạn cần nhập mật khẩu của tài khoản người dùng có quyền Root. Rồi gõ Y để hoàn tất quá trình cài đặt Open SSH.

2. Kích hoạt SSH

Bây giờ OpenSSH đã được cài đặt trên hệ thống Linux của bạn, bạn có thể kích hoạt nó bằng cách chạy lệnh sau:

sudo systemctl enable ssh

Out Put:

Synchronizing state of ssh.service with SysV service script with /lib/system/system-sysv-install. 

Executing: /lib/systemd/system-sysv-install enable  ssh

3. Khởi chạy SSH

Sau khi hoàn thành các bước trước đó, đến lúc bắt đầu chạy SSH. Chạy lệnh sau để bắt đầu dịch vụ SSH:

sudo systemctl start ssh

4. Kiểm tra dịch vụ SSH

Để đảm bảo dịch vụ SSH đang chạy trên Linux, hãy gõ lệnh sau:

sudo systemctl status ssh

Khi hiển thị Active: active (running) trong đầu ra tức là cho biết rằng dịch vụ SSH đang hoạt động và chạy chính xác trong hệ điều hành Linux mong muốn của bạn.

Truy cập vào các lần đăng nhập SSH không thành công

Cách dễ nhất để truy cập nhật ký các lần đăng nhập SSh không thành công là sử dụng các lệnh grep cat như sau:

egrep "Failed|Failure" /var/log/auth.log

Hiển thị thêm thông tin về các lần đăng nhập SSH không thành công

Bạn cũng có thể sử dụng các lệnh sau để biết thêm thông tin về các lần đăng nhập SSH không thành công:

egrep "Failed|Failure" /var/log/auth.log

Lưu ý: Vì trong các dẫn xuất của CentOS và RHEL, tệp /var/log/secure chứa các lần đăng nhập không thành công, bạn nên sử dụng lệnh sau để xem thông tin về các lần đăng nhập thất bại:

egrep "Failed|Failure" /var/log/secure

Để phát hiện các lần đăng nhập không thành công trên hệ thống Linux với phiên bản CentOS và RHEL, sử dụng lệnh sau:

grep "Failed" /var/log/secure  

grep "authentication failure" /var/log/secure

Chuẩn bị báo cáo đăng nhập thất bại với tính năng lọc IP

Nếu bạn muốn truy cập các IP đã cố đăng nhập vào hệ thống SSH nhưng không thành công, bạn có thể tạo danh sách các địa chỉ IP và số lần tạo báo cáo địa chỉ IP cho lần đăng nhập không thành công bằng cách chạy lệnh sau :

grep "Failed password" /var/log/auth.log | awk '{print $11}' | uniq -c | sort -nr

Báo cáo xác thực không thành công

Để xem thông tin về xác thực không thành công, hãy chạy lệnh sau:

grep "authentication failure" /var/log/auth.log | awk '{ print $13 }' | cut -b7-  | sort | uniq –c

Truy vấn tệp nhật ký thời gian chạy

Để truy cập nhật ký của các lần đăng nhập SSH không thành công bằng daemon Systemd, hãy sử dụng lệnh sau:

journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure" 

journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure"  #In RHEL, CentOS

Kiểm tra cài đặt các lần đăng nhập không thành công

Với các lệnh chúng tôi đã cung cấp, bạn có thể nhận được báo cáo về các lần đăng nhập không thành công vào máy chủ Linux. Một cách khác để kiểm soát và quản lý các lần đăng nhập đáng ngờ là kiểm tra cài đặt các lần đăng nhập thất bại. Với mục đích này, bạn nên kiểm tra tệp /etc/pam.d/common-auth bằng Linux PAM (Mô-đun xác thực có thể cài đặt trong Linux). Do đó, hãy nhập lệnh sau:

cat /etc/pam.d/password-auth

Trong tệp này, bạn có thể áp dụng các cài đặt hữu ích để ngăn chặn sự xâm nhập độc hại vào hệ thống của mình. Bạn có thể áp dụng giới hạn cho các lần thử không thành công. Nếu một tài khoản có nhiều hơn số lần thử không thành công được chỉ định, tài khoản đó sẽ tạm thời bị khóa trong một khoảng thời gian nhất định. Và người đó sẽ không thể đăng nhập vào hệ thống của bạn trong khoảng thời gian này.

Ví dụ: bạn có thể đặt giới hạn như trong ví dụ dưới đây. Nếu tài khoản người dùng có hơn 4 lần thử không thành công, tài khoản của người đó sẽ bị chặn trong 5 phút. Để đặt giới hạn như vậy, bạn phải chạy lệnh sau:

auth required pam_tally2.so deny=4 unlock_time=300

Nhận báo cáo về các lần đăng nhập SSH không thành công với thông tin chi tiết hơn giúp xác định các IP đang cố xâm nhập hệ thống của bạn. Bằng cách này, bạn có thể chặn các IP đáng ngờ và tài khoản người dùng không hợp lệ trong tường lửa của hệ thống. Trong bài viết này, chúng tôi đã cung cấp các lệnh để xem thông tin đầy đủ về các lần đăng nhập Linux không thành công qua SSH. Truy cập vpschinhhang.com để biết thêm nhiều thông tin huữ ích. Cảm ơn đã theo dõi bài viết!