ฉันพยายามสร้างการป้องกันกำลังเดรัจฉานด้วย fail2banด้วยการทดสอบ fail2ban มันตรงกับบันทึกที่ฉันต้องการจับคู่ แต่การทดสอบของฉันบังคับไซต์ที่มีการเข้าสู่ระบบที่ล้มเหลวมากกว่า 7 ครั้ง มันไม่ได้ห้ามที่อยู่ IP ของฉัน
กรอง:
[คำนิยาม]
failregex = <HOST>:.*"POST /login.*" 200 .*$
ละเว้นregex =
คุก:
[ร้านค้าเดรัจฉานแรง]
เปิดใช้งาน = จริง
ตัวกรอง = ร้านขายของเดรัจฉาน
logpath = /etc/exampleorg/shop/log/access.log
สูงสุด = 7
หาเวลา = 60
ค่าอาหาร = 900
เมินเฉย =
ตัวอย่างบันทึก (ไม่ระบุตัวตนด้วย ..., 88.88.88.88 และ example.org):
2022/04/01 08:09:25.413720 88.88.88.88:10729 - - [01/Apr/2022:08:09:25 +0000] "POST /login?target=%2Fshop%2F HTTP/1.1" 200 2192 " https://example.org/login?target=%2Fshop%2F" "..."
ทดสอบ:
การทดสอบการทำงาน
=============
ใช้ไฟล์ตัวกรอง failregex : shop-brute-force, basedir: /etc/fail2ban
ใช้ไฟล์บันทึก: /home/user/test.log
ใช้การเข้ารหัส : UTF-8
ผล
=======
Failregex: ทั้งหมด 3 รายการ
|- #) [# ของการเข้าชม] นิพจน์ทั่วไป
| 1) [3] <โฮสต์>:.*"POST /login.*" 200 .*$
`-
Ignoreregex: 0 ทั้งหมด
เทมเพลตวันที่เข้าชม:
|- [# ของการเข้าชม] รูปแบบวันที่
| [106] ปี(?P<_sep>[-/.])เดือน(?P=_sep)วัน 24ชั่วโมง:นาที:วินาที(?:,ไมโครวินาที)?
`-
บรรทัด: 106 บรรทัด 0 ละเว้น 3 ตรงกัน 103 พลาด
[ประมวลผลใน 0.02 วินาที]
บรรทัดที่ไม่ได้รับ: พิมพ์มากเกินไป ใช้ --print-all-missed เพื่อพิมพ์ทั้งหมด 103 บรรทัด