ฉันใช้ centos8 +fail2ban +haproxy
ฉันมีคุกพิเศษ "my-haproxy404" ด้วยการตั้งค่านี้:
[my-haproxy404]
เปิดใช้งาน = จริง
พอร์ต = http,https
ตัวกรอง = my-haproxy404
logpath = /var/log/my-haproxy.log
แบ็กเอนด์ = ผู้สำรวจความคิดเห็น
วารสารตรงกัน =
สูงสุด = 3
แบนไทม์ = 86400
หาเวลา = 3600
และตัวกรอง:
[คำนิยาม]
failregex = .*:<HOST>(?::\d+)?\s+.*\d* 404
บรรทัดบันทึกตัวอย่างของฉันคือ:
19 ก.ย. 14:38:21 localhost haproxy[53925]: 77.77.77.77:55763 [19/Sep/2021:14:38:21.483] backend1 line1/test1 0/0/12/88/100 404 687 - - -- -- 1/1/0/0/0 0/0 "รับ /ทดสอบ/สตริง HTTP/1.1"
ดังนั้น ...อาจจะใช้งานได้ แต่ใน fail2ban.log ฉันเห็น IP เช่น:
ข้อมูล [my-haproxy404] พบ 0.0.217.211 - 2021-09-19 14:38:21
นี่ไม่ใช่ IP จริง (IP จริงคือ: 77.77.77.77) ,
fail2ban บล็อก IP นี้ (0.0.217.211) ....แต่ (77.77.77.77) ยังทำงานอยู่
ฉันรู้ว่ามีปัญหากับ regexp
คุณช่วยฉันด้วยกฎ regexp ที่ถูกต้องสำหรับสตริง 404 นี้ได้ไหม
19 กันยายน 14:38:21 localhost haproxy[53925]: 77.77.77.77:55763 [19/Sep/2021:14:38:21.483] backend1 line1/test1 0/0/12/88/100 404
ความนับถือ