Trong các thỏa thuận với @tilman-schmidt, chỉ vài xu từ phía tôi (liên quan đến fail2ban, v.v.)...
Mọi người dùng OpenSSH liên tục thay đổi hành vi ghi nhật ký, vì vậy nó có thể không được xem xét bởi fail2ban theo mặc định (nó cũng phụ thuộc vào nơi xảy ra ngắt kết nối, ví dụ:vào giai đoạn xác thực trước hoặc sau khi tên người dùng được cung cấp, cũng như phương thức xác thực nào được phép trong sshd của bạn cũng như hành vi của "kẻ xâm nhập").
Ít nhất tôi muốn đặt LogLevel VERBOSE trong sshd_config, như được mô tả trong /etc/fail2ban/filter.d/sshd.conf
Cũng lưu ý câu trả lời này cho câu hỏi tương tự - https://unix.stackexchange.com/questions/662946/fail2ban-regex-help-for-banning-sshd-connection-attempts/663002#663002
không nhanh hơn 24 giờ sau, (những) kẻ tấn công đã chuyển sang xoay vòng qua hàng trăm địa chỉ IP duy nhất
Điều này không liên quan gì đến việc sử dụng fail2ban - máy quét, khi họ tìm thấy trình nghe sshd, đã "xuất bản" nó trong một số danh sách của chúng, vì vậy quá trình quét sâu hơn (ví dụ: với các botnet phân tán) có thể bắt đầu. Đây là số phận đáng tiếc của bất kỳ máy chủ nào có cổng mở ra bên ngoài.
Bạn có thể cố gắng thay đổi cổng ssh sang một thứ khác, nhưng nó chỉ tránh được một nửa số script kiddies (nếu bạn cấm các nỗ lực quét cổng) và về cơ bản không phải là thuốc chữa bách bệnh.
Nhưng bạn có thể giảm đáng kể số lượng kẻ xâm nhập ít nhất trong thời gian ngắn cho đến vài tháng.
Điều chắc chắn có thể hữu ích là kích hoạt bantime.increment
trong fal2ban (đối với nhà tù sshd hoặc theo mặc định).
fail2ban dường như không thừa nhận các lần thử lặp lại dẫn đến Kết nối bị đóng bởi
Điều này không hoàn toàn chính xác.
Bạn phải thiết lập chế độ = tích cực
vì sshd
giam trong tù.local
để cho phép fail2ban xem xét bất kỳ loại "tấn công" nào (không chỉ vấn đề xác thực), cũng xảy ra bởi máy quét cổng và các công cụ tương tự DoS.
Và bạn có thể thấy chính xác những gì fail2ban sẽ tìm thấy với bộ lọc hiện tại của bạn bằng lệnh này (lưu ý phù hợp
trong dòng cuối cùng từ kết quả):
fail2ban-regex /var/log/auth.log 'sshd[mode=aggressive]'