ฉันมีปัญหาต่อไปนี้ (แก้ไขแล้ว) กับ fail2ban และวางไว้ผิดที่ใน stack overflow ดังนั้นฉันจึงวางไว้ที่นี่ตอนนี้
ดังนั้นฉันจึงอ่านปัญหามาหลายวันแล้วและดูเหมือนจะไม่พบวิธีแก้ปัญหาใด ๆ
ฉันกำลังทำการทดสอบในห้องปฏิบัติการเว็บเซิร์ฟเวอร์ ฉันได้ตั้งค่าเซิร์ฟเวอร์และไคลเอนต์ VM (Ubuntu 20.04) สองเครื่อง
บนเซิร์ฟเวอร์ ฉันมีแอปเข้าสู่ระบบ PHP ที่กำหนดค่าเพื่อให้บันทึกนี้แก่ฉันเมื่อใดก็ตามที่มีคนเข้าสู่ระบบไม่สำเร็จ
root@local:/var/log/apache2# tail -f error.log
[18 มิ.ย. 10:13:37.657446 2021] [php7:notice] [pid 2465] [client 192.168.1.11:44750] [error] เข้าสู่ระบบล้มเหลว ผู้อ้างอิง: http://192.168.1.10/index.php
[18 มิ.ย. 10:13:41.434454 2021] [php7:notice] [pid 2465] [client 192.168.1.11:44750] [error] เข้าสู่ระบบล้มเหลว ผู้อ้างอิง: http://192.168.1.10/index.php
[18 มิ.ย. 10:13:46.236750 2021] [php7:notice] [pid 2465] [client 192.168.1.11:44750] [error] เข้าสู่ระบบล้มเหลว ผู้อ้างอิง: http://192.168.1.10/index.php
และ Fail2Ban v0.10.2 ได้รับการกำหนดค่าให้ตรวจจับได้
/etc/fail2ban/jail.local:
[เข้าสู่ระบบห้าม]
เปิดใช้งาน = จริง
พอร์ต = http,https
ตัวกรอง = เข้าสู่ระบบแบน
logpath = /var/log/apache2/error.log
สูงสุด = 3
หาเวลา = 180
แบนไทม์ = 60
/etc/fail2ban/filter.d/login-ban.conf:
[คำนิยาม]
failregex = ^\[.*\]\s\[.*]\s\[.*].*\[client.*<HOST>\].*\[ข้อผิดพลาด\].*
ละเว้นregex =
ตอนนี้ regex ทำงานได้อย่างสมบูรณ์ ถ้าฉันตรวจสอบกับ fail2ban-regex:
fail2ban-regex /var/log/apache2/error.log /etc/fail2ban/filter.d/login-ban.conf --print-all-matched
ฉันเข้าใจ
|- เส้นที่ตรงกัน:
| [18 มิ.ย. 10:36:07.312503 2021] [php7:notice] [pid 780] [client 192.168.1.11:44754] [error] เข้าสู่ระบบล้มเหลว ผู้อ้างอิง: http://192.168.1.10/index.php
| [18 มิ.ย. 10:36:14.417955 2021] [php7:notice] [pid 784] [client 192.168.1.11:44756] [error] เข้าสู่ระบบล้มเหลว ผู้อ้างอิง: http://192.168.1.10/index.php
แต่ fail2ban ไม่ได้ห้าม IP และ fail2ban.log ส่งคำเตือน DNS ให้ฉัน:
2021-06-18 10:50:22,083 fail2ban.ipdns [2154]: คำเตือน IP ที่กำหนดโดยใช้การค้นหา DNS: 8 = {'0.0.0.8'}
2021-06-18 10:50:22,085 fail2ban.filter [2154]: INFO [การแบนการเข้าสู่ระบบ] พบ 0.0.0.8 - 2021-06-18 10:50:22
ฉันได้ลองตั้งค่าพารามิเตอร์ usedns เป็น 'no' และ 'raw' สิ่งเดียวที่ทำได้คือกำจัดบันทึกคำเตือน dns แต่ก็ยังไม่มีการห้ามและไม่บันทึกโฮสต์ที่พยายามเข้าสู่ระบบ
ฉันหวังว่านี่จะเป็นข้อมูลที่เพียงพอ และนี่จะช่วยคนที่นั่นมากเท่ากับฉัน