Nỗ lực số 1
trực tiếp nhìn thấy nó đã không thực sự, nhưng ...
Mặc dù các phiên bản mới nhất của fail2ban-regex hỗ trợ các tham số đầu ra, vì vậy bạn có thể thực hiện như sau:
fail2ban-client set "$jail" banip $(
fail2ban-regex -o 'ip' /var/log/path/some.log some-filter | sắp xếp --unique | tr'\n' ' '
)
nó sẽ chỉ phù hợp nếu bạn tìm thấy bất kỳ IP nào bị lỗi bất kể số lượng / thời gian. Trong trường hợp của bạn, ít nhất nó sẽ vô nghĩa nếu không có thêm một số tiền xử lý.
Nỗ lực #2 Tôi nghĩ việc lặp lại nhật ký lịch sử vào nhật ký mà fail2ban hiện đang xem sẽ khiến chúng bị phân tích cú pháp.
Nó sẽ không hoạt động vì fail2ban sẽ không thực sự xem xét thời gian của thông báo một cách chính xác: nó sẽ quá cũ (nếu được ghi lại chưa sửa đổi) hoặc nó sẽ không chính xác (nếu bây giờ được ghi là thời điểm thất bại, vì bạn cần xem xét thử nghiệm tối đa
và thời gian tìm kiếm
trên thực tế sử dụng).
Lưu ý đề cập rằng fail2ban sẽ tìm cách bây giờ - thời gian tìm thấy
khi bắt đầu (vì các tin nhắn khác không thú vị với nó, vì quá lỗi thời), hãy xem https://github.com/fail2ban/fail2ban/issues/2909#issuecomment-758036512.
Dù sao thì tại thời điểm này, khó có thể thực hiện được với các công cụ fail2bans có sẵn (ít nhất là trừ khi cơ sở "quét lại" này từ RFE ở trên được triển khai và phát hành).
Nhưng kể từ fail2ban (cũng như fail2ban-regex
) là một mô-đun trong python, có thể có một bộ lọc từ lệnh cấm viết python vào một số nhật ký hoặc gửi chúng trực tiếp đến phiên bản fail2ban chính, xem https://github.com/fail2ban/fail2ban/issues/2909#issuecomment-1039267423 cho ví dụ kịch bản như vậy.
Cũng lưu ý rằng bộ lọc của bạn cực kỳ dễ bị tổn thương và chậm, tốt hơn là viết lại nó chính xác nhất có thể, bằng cách nào đó như ở đây:
failregex = ^"<ADDR>" \S+ \S+ [^"]*"[A-Z]+ /(?:\S+/)*[^\.]*(?:\.(?!ico|jpg|png |gif|js|css|woff|mp4)\w+)? [^"]+"
Và cuối cùng nhưng không kém phần quan trọng, tại sao bạn lại cần điều đó? Nếu nhà tù có bộ lọc như vậy đang hoạt động và những trình thu thập thông tin như vậy quay trở lại, chúng sẽ bị cấm ngay khi chúng thực hiện thử nghiệm tối đa
thất bại trong thời gian thời gian tìm kiếm
, được định cấu hình cho nhà tù. Việc cấm phòng ngừa là không thực sự cần thiết và sẽ chỉ làm phiền hệ thống con bộ lọc mạng của bạn với rất nhiều IP (chúng có thể sẽ không bao giờ quay lại nữa).