Làm cách nào để theo dõi các lần đăng nhập SSH không thành công?


134

Tôi muốn xem liệu ai đó đã cố gắng đăng nhập bằng cách mạnh mẽ vào máy chủ Ubuntu 12.04 của tôi qua SSH. Làm thế nào tôi có thể thấy nếu các hoạt động như vậy đã được diễn ra?

Câu trả lời:


150

Tất cả các nỗ lực đăng nhập được đăng nhập vào /var/log/auth.log.

1. Bộ lọc cho thông tin đăng nhập SSH tương tác mạnh mẽ

Mở một thiết bị đầu cuối, và gõ dưới đây; nếu nó dài hơn 1 trang, bạn sẽ có thể cuộn lên xuống; gõ qđể thoát:

grep sshd.\*Failed /var/log/auth.log | less
  • Đây là một ví dụ thực tế từ một trong các VPS của tôi:

    Ngày 18 tháng 8 11:00:57 izxvps sshd [5657]: Mật khẩu không thành công cho root từ 95.58.255.62 cổng 38980 ssh2
    Ngày 18 tháng 8 23:08:26 izxvps sshd [5768]: Mật khẩu không thành công cho root từ 91.205.189.15 cổng 38156 ssh2
    Ngày 18 tháng 8 23:08:30 izxvps sshd [5770]: Mật khẩu không thành công cho ai từ 91.205.189.15 cổng 38556 ssh2
    Ngày 18 tháng 8 23:08:34 izxvps sshd [5772]: Mật khẩu không thành công cho dấu hoa thị người dùng không hợp lệ từ 91.205.189.15 cổng 38864 ssh2
    Ngày 18 tháng 8 23:08:38 izxvps sshd [5774]: Mật khẩu không thành công cho sjobeck người dùng không hợp lệ từ 91.205.189.15 cổng 39157 ssh2
    Ngày 18 tháng 8 23:08:42 izxvps sshd [5776]: Mật khẩu không thành công cho root từ 91.205.189.15 cổng 39467 ssh2
    

2. Tìm kiếm các kết nối không thành công (nghĩa là không thử đăng nhập, có thể là trình quét cổng, v.v.):

Sử dụng lệnh này:

grep sshd.*Did /var/log/auth.log | less
  • Thí dụ:

    Ngày 5 tháng 8 22:19:10 izxvps sshd [7748]: Không nhận được chuỗi nhận dạng từ 70.91.222.121
    Ngày 10 tháng 8 19:39:49 izxvps sshd [1919]: Không nhận được chuỗi nhận dạng từ 50.57.168.154
    Ngày 13 tháng 8 23:08:04 izxvps sshd [3562]: Không nhận được chuỗi nhận dạng từ 87.216.241.19
    Ngày 17 tháng 8 15:49:07 izxvps sshd [5350]: Không nhận được chuỗi nhận dạng từ 211.22.67.238
    Ngày 19 tháng 8 06:28:43 izxvps sshd [5838]: Không nhận được chuỗi nhận dạng từ 59.151.37.10
    

Làm thế nào để giảm các lần đăng nhập thất bại / brute-force

  • Hãy thử chuyển SSH của bạn sang một cổng không chuẩn từ 22 mặc định
  • Hoặc cài đặt tập lệnh cấm tự động như fail2banCài đặt fail2ban .

4
Bạn nhận được bao nhiêu bảo mật khi chuyển đổi cổng SSH (dù sao họ cũng không thể quét bạn như bạn đã đề cập) và nó có đáng để sử dụng được cho những người dùng hợp pháp không?
Nick T

8
@NickT hóa ra là đủ để giảm đáng kể các nỗ lực đăng nhập. Nơi tôi nhận được hàng ngàn lần thử trong một tuần / ngày, cho đến nay tôi đã không có bất kỳ nỗ lực nào trong tháng trước, chỉ bằng cách chuyển đổi cổng.
AntoineG

2
Tôi nghĩ không cho phép đăng nhập bằng mật khẩu cũng có thể giúp.
Lục M

2
Tôi biết đây là Ubuntu, chỉ muốn đề cập rằng trên một số hệ thống như centos, đường dẫn tệp là/var/log/secure
lfender6445

Một số hệ thống truy cập nhật ký vớisystemctl -eu sshd
alecdwm

72

Tôi cho rằng nhật ký giám sát là một giải pháp yếu đặc biệt là nếu bạn có mật khẩu yếu trên tài khoản. Nỗ lực vũ phu thường thử ít nhất hàng trăm phím mỗi phút. Ngay cả khi bạn có một công việc định kỳ được đặt để gửi email cho bạn về những nỗ lực vũ phu, có thể mất vài giờ trước khi bạn đến máy chủ của mình.

Nếu bạn có một máy chủ SSH đối mặt công khai, bạn cần một giải pháp khởi động  lâu trước khi bạn có thể bị hack.

Tôi rất muốn giới thiệu fail2ban. Wiki của họ nói những gì nó làm tốt hơn tôi có thể.

Fail2ban quét các tệp nhật ký (ví dụ /var/log/apache/error_log) và cấm các IP hiển thị các dấu hiệu độc hại - quá nhiều lỗi mật khẩu, tìm cách khai thác, v.v. Nói chung Fail2Ban được sử dụng để cập nhật các quy tắc tường lửa để từ chối địa chỉ IP trong một khoảng thời gian xác định, mặc dù vậy hành động khác tùy ý (ví dụ gửi email hoặc đẩy khay CD-ROM) cũng có thể được định cấu hình. Fail2Ban đi kèm với các bộ lọc cho các dịch vụ khác nhau (apache, curier, ssh, v.v.).

Nhận được bảo vệ từ nó là đơn giản như sudo apt-get install fail2ban.

Theo mặc định ngay khi ai đó có ba lần thất bại, IP của họ bị cấm năm phút. Kiểu trì hoãn đó về cơ bản sẽ ngăn chặn nỗ lực vũ phu của SSH nhưng sẽ không làm hỏng ngày của bạn nếu bạn quên mật khẩu (nhưng dù sao bạn cũng nên sử dụng khóa!)


6
Tại sao nó được gọi là không cấm?
Pacerier

9
@Pacerier Vâng với một số tương tự, thất bại đăng nhập dẫn đến (2) lệnh cấm.
Sebi

2
Bwahaha bạn đã thực hiện một ngày của tôi @Pacerier Tôi chưa bao giờ nghĩ đó là một "thất bại để cấm" theo nghĩa đen.
adelriosantiago 18/07/2016

1
Tôi nghĩ rằng điều này nên được chỉnh sửa để loại bỏ "đặc biệt" từ câu đầu tiên. Đó chỉ là vấn đề nếu bạn có mật khẩu yếu. Mật khẩu mạnh không thể bị ép buộc trong bất kỳ trường hợp nào và lý do duy nhất để ngăn mọi người cố gắng là giảm tải máy chủ.
Abhi Beckert

Hoàn toàn đồng ý. Dù sao, nó sẽ ổn để ngăn tải máy chủ cao. Tôi đã thấy những nỗ lực theo tỷ lệ miliseconds
Diego Andrés Díaz Espinoza
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.