Tôi mới dùng fail2ban và gặp khó khăn trong việc tìm ra các cân nhắc về hiệu suất cho các cấu hình khác nhau mà tôi đang nghĩ về việc thiết lập. Điều này đang chạy trên một bảng mâm xôi pi, do đó, hiệu suất là một mối quan tâm.xem xét hiệu suất fail2ban liên quan đến kích thước nhật ký, độ phức tạp và cài đặt finditme
Tối ưu hóa rõ ràng mà tôi có thể nghĩ là sử dụng biểu thức chính quy hiệu quả và chỉ cần số lượng tối thiểu các thư cần thiết. Tôi đoán các câu hỏi cụ thể của tôi là:
- Mức sử dụng tài nguyên tăng như thế nào so với giá trị giờ tìm kiếm? Tôi đoán các giá trị rất nhỏ và rất lớn có thể tác động đến máy chủ theo nhiều cách khác nhau liên quan đến RAM so với CPU.
- Tương tự, kích thước tệp nhật ký và số lượng tệp nhật ký khác nhau được giám sát bởi fail2ban tác động đến việc sử dụng tài nguyên tổng thể như thế nào?
Ví dụ, nhà tù này sẽ cho phép ai đó thử 3.600 mật khẩu đăng nhập SSH mỗi ngày nếu họ tìm ra cấu hình fail2ban và điều chỉnh thời gian tập lệnh của họ để phù hợp.
[ssh]
enabled = true
action = iptables-allports[name=ssh]
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
findtime = 120
Nếu chúng tôi thay đổi thời gian tới cực khác 86400 (1 ngày), nó sẽ chỉ cho phép 5 lần mỗi ngày, nhưng giờ nó giám sát phần lớn tệp nhật ký. Điều này ảnh hưởng đến việc sử dụng tài nguyên như thế nào?
Một ví dụ khác, một tù vì tấn công lũ POST:
[apache-post-flood]
enabled = true
action = iptables-allports[name=apache-post-flood]
filter = apache-post-flood
logpath = /var/log/apache2/*access.log
maxretry = 10
findtime = 10
Ở đây, chúng tôi có điều ngược lại, nơi findtime truy cập được đặt lại mỗi 10 giây. Nó cũng giám sát tất cả các bản ghi truy cập * (tôi đoán, một lần nữa, tôi mới làm quen với điều này). Điều đó có nghĩa là nó đang giám sát access.log, other_vhosts_access.log và có lẽ https_access.log cho https phần của trang web. Điều gì xảy ra nếu nó là một ngày bận rộn và những tập tin này là tất cả 10-20mb mỗi?
Hy vọng điều này sẽ giúp giải thích suy nghĩ của tôi. Cảm ơn trước sự giúp đỡ của bạn.