Điểm:1

Fail2ban regex hoạt động nhưng không cấm. Thay vào đó cảnh báo DNS

lá cờ in

Tôi đã gặp sự cố sau (đã được giải quyết) với fail2ban và đặt nhầm chỗ khi tràn ngăn xếp nên tôi sẽ đặt nó ở đây ngay bây giờ.

Vì vậy, tôi đã đọc các vấn đề trong một số ngày và dường như không tìm thấy giải pháp nào ở bất kỳ đâu. Tôi đang thực hiện một số thử nghiệm trên phòng thí nghiệm máy chủ web, tôi đã thiết lập hai máy chủ và máy khách VM (Ubuntu 20.04). Trên máy chủ, tôi có một ứng dụng đăng nhập PHP được định cấu hình để cung cấp cho tôi nhật ký này bất cứ khi nào ai đó không đăng nhập được.

root@local:/var/log/apache2# đuôi -f error.log
[Thứ Sáu ngày 18 tháng 6 10:13:37.657446 năm 2021] [php7:notice] [pid 2465] [client 192.168.1.11:44750] [lỗi] đăng nhập không thành công, người giới thiệu: http://192.168.1.10/index.php
[Thứ Sáu ngày 18 tháng 6 10:13:41.434454 năm 2021] [php7:notice] [pid 2465] [client 192.168.1.11:44750] [lỗi] đăng nhập không thành công, người giới thiệu: http://192.168.1.10/index.php
[Thứ Sáu ngày 18 tháng 6 10:13:46.236750 năm 2021] [php7:notice] [pid 2465] [client 192.168.1.11:44750] [lỗi] đăng nhập không thành công, người giới thiệu: http://192.168.1.10/index.php

Và Fail2Ban v0.10.2 đã cấu hình để bắt nó. /etc/fail2ban/jail.local:

[đăng nhập-cấm]
đã bật = đúng
cổng = http, https
bộ lọc = cấm đăng nhập
logpath = /var/log/Apache2/error.log
thử lại tối đa = 3
thời gian tìm thấy = 180
bantime = 60

/etc/fail2ban/filter.d/login-ban.conf:

[Sự định nghĩa]
failregex = ^\[.*\]\s\[.*]\s\[.*].*\[client.*<HOST>\].*\[error\].*
bỏ quaregex =

Bây giờ, regex hoạt động hoàn hảo, nếu tôi kiểm tra với fail2ban-regex:

fail2ban-regex /var/log/apache2/error.log /etc/fail2ban/filter.d/login-ban.conf --print-all-matched

tôi có

|- (Các) dòng phù hợp:
| [Thứ Sáu ngày 18 tháng 6 10:36:07.312503 2021] [php7:notice] [pid 780] [client 192.168.1.11:44754] [lỗi] đăng nhập không thành công, người giới thiệu: http://192.168.1.10/index.php
| [Thứ Sáu ngày 18 tháng 6 10:36:14.417955 năm 2021] [php7:notice] [pid 784] [client 192.168.1.11:44756] [lỗi] đăng nhập không thành công, người giới thiệu: http://192.168.1.10/index.php

Nhưng fail2ban không cấm IP và fail2ban.log gửi cho tôi một cảnh báo DNS:

18-06-2021 10:50:22,083 fail2ban.ipdns [2154]: CẢNH BÁO Đã xác định IP bằng cách sử dụng Tra cứu DNS: 8 = {'0.0.0.8'}
18-06-2021 10:50:22,085 fail2ban.filter [2154]: THÔNG TIN [cấm đăng nhập] Đã tìm thấy 0.0.0.8 - 2021-06-18 10:50:22

Tôi đã thử đặt tham số usedns thành 'no' và 'raw', điều duy nhất hoàn thành là loại bỏ nhật ký cảnh báo dns, vẫn không cấm và không ghi lại máy chủ đang cố đăng nhập.

Tôi hy vọng đây là đủ thông tin và điều này sẽ giúp được ai đó ngoài kia nhiều như tôi.

Điểm:2
lá cờ in

GIẢI PHÁP

Người dùng @sebres đã trả lời tôi:

chỉ dừng lại để sử dụng bắt tất cả (.* v.v.), e. g. một sự điều chỉnh để làm cho nó hoạt động có thể là

- ... \[khách hàng.*<HOST>\] ...
+ ... \[máy khách <HOST>:\d+\] ...

RE .* là tham lam, vì vậy nó khớp với càng nhiều ký tự càng tốt và <HOST> có thể khớp với bất kỳ thứ gì (tên máy chủ), không chỉ địa chỉ và thay vào đó, hãy sử dụng <ADDR> tốt hơn nếu phiên bản fail2ban của bạn >= 0.10.

Và toàn bộ biểu thức của bạn là "dễ bị tổn thương" do một số lỗi bắt được (vì vậy mỏ neo không thực sự được sử dụng).

*** Vì vậy, tôi đã thực hiện thay đổi mà anh ấy đề xuất, kết quả là như thế này:

^\[.*\[máy khách <ADDR>:\d+\].*\[error\].*

bây giờ mọi thứ đang hoạt động như bình thường. Hy vọng nó giúp!

djdomi avatar
lá cờ za
hãy nhắc nhở để chấp nhận câu trả lời của bạn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.