Cách liệt kê các lần đăng nhập SSH không thành công trên Linux

theanh

Administrator
Nhân viên
"Không có trắng hay đen, chỉ có những sắc thái xám. Chúng ta không thể nói là tốt hay xấu."

Và đôi khi chúng ta cần đào sâu vào những sắc thái xám và tìm kiếm các vấn đề trước khi chúng xảy ra. Một trong những kiểm tra này có thể là tìm kiếm các nỗ lực đăng nhập SSH không thành công. May mắn thay, Ubuntu đi kèm một giải pháp đủ đơn giản nhưng đủ mạnh để phát hiện hầu hết các trường hợp mà ai đó để mật khẩu yếu và các cuộc tấn công bằng vũ lực xảy ra.

Mỗi lần cố gắng đăng nhập vào máy chủ SSH đều được ghi lại trong một tệp có tên auth.log nằm tại/var/log/auth.log bởi daemon rsyslog.

Người quản trị có thể xem qua các bản ghi để xem có lưu lượng truy cập lạ nào không. Tệp nhật ký chứa nhiều thông tin ở dạng văn bản thuần túy nhưng không dễ để đọc hết tất cả thông tin đầu ra. Chúng ta cần học cách sử dụng grep để tìm kiếm qua tệp nhật ký và trong ví dụ này, chúng ta sẽ tập trung vào các lần thử không thành công.

Cài đặt OpenSSH​

OpenSSH là dịch vụ cung cấp quyền truy cập từ xa an toàn vào hệ thống dưới dạng giao thức lớp ứng dụng, dịch vụ này cũng bao gồm chương trình dòng lệnh scp. Đăng nhập với tư cách là người dùng root hoặc chuyển sang người dùng có quyền sudo, sau đó sử dụng lệnh bên dưới để cài đặt OpenSSH:
Mã:
sudo apt-get update
Mã:
sudo apt-get install openssh-server -y
Lệnh này sẽ cài đặt OpenSSH và các thành phần phụ thuộc của nó. Bạn sẽ thấy rằng có nhiều gói bổ sung cũng đang được cài đặt vì OpenSSH yêu cầu khá nhiều gói để hoạt động bình thường.



Sau khi cài đặt, bạn có thể bật ssh bằng cách nhập lệnh sau vào cửa sổ terminal:
Mã:
sudo systemctl enable ssh
Bạn sẽ thấy đầu ra tương tự như hình ảnh bên dưới trong cửa sổ terminal nếu lệnh thành công:



Các lệnh sau có thể được sử dụng để dừng SSH trên máy Ubuntu trong trường hợp bạn muốn tắt nó:
Mã:
sudo systemctl stop ssh
Nó có thể được khởi động lại bằng cách chạy:
Mã:
sudo systemctl start ssh
Để kiểm tra xem máy chủ SSH có đang chạy không, bạn có thể sử dụng lệnh sau:
Mã:
sudo systemctl status ssh
Bạn sẽ thấy đầu ra tương tự trong terminal:



Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng máy chủ SSH đã chạy và được bật, có nghĩa là nó sẽ chạy khi khởi động.

Cách tìm tất cả các lần đăng nhập SSH không thành công​

Một lần đăng nhập không thành công có thể do nhiều lý do gây ra chứ không chỉ do lỗi khai thác đăng nhập tự động. Một nỗ lực đăng nhập không thành công có thể xảy ra khi:
  • Người dùng có thể nhập sai mật khẩu của mình.
  • Cố gắng sử dụng mật khẩu không đúng để đăng nhập.
  • Máy chủ đang bị tấn công bằng cách dùng vũ lực và tin tặc đang cố gắng đoán mật khẩu bằng các tập lệnh tự động.
Cách dễ nhất để liệt kê tất cả các nỗ lực đăng nhập SSH không thành công là sử dụng lệnh sau:
Mã:
grep "Failed password" /var/log/auth.log
Bạn sẽ thấy đầu ra tương tự trong thiết bị đầu cuối của mình:



Các lệnh sau có thể được sử dụng để hiển thị các lần đăng nhập SSH không thành công trong CentOS hoặc RHEL trong phiên bản được sửa đổi một chút của lệnh trên:
Mã:
grep "Failed" /var/log/secure
Mã:
grep "authentication failure" /var/log/secure
Ngoài ra, chúng ta có thể xem nhật ký sử dụng daemon Systemd với lệnh journalctl:
Mã:
journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"
Để hiển thị danh sách tất cả các địa chỉ IP chịu trách nhiệm cho các lần đăng nhập SSH không thành công, kèm theo số lần thử bên cạnh, bạn có thể sử dụng lệnh này:
Mã:
grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr
Việc thỉnh thoảng xảy ra một lần đăng nhập không thành công là điều không thể tránh khỏi. Tuy nhiên, việc xác định các lần đăng nhập không thành công vào máy chủ của bạn vẫn rất quan trọng. Điều quan trọng là phải xác định các địa chỉ IP thường xuyên truy cập vào máy chủ SSH của bạn và thực hiện các hành động cần thiết.

Kết luận​

Trong hướng dẫn này, chúng tôi đã đề cập đến cách tìm các lần đăng nhập SSH không thành công trên máy Linux. Chúng tôi cũng đã học được một cách tiếp cận khác liên quan đến việc sử dụng lệnh journalctl. Chúng tôi hy vọng bạn thấy bài viết này hữu ích. Hãy thoải mái cung cấp phản hồi hoặc bất kỳ câu hỏi nào bạn có thể có trong phần bình luận.
 
Back
Bên trên