Score:1

Fail2ban regex ทำงานแต่ไม่ถูกแบน คำเตือน DNS แทน

ธง in

ฉันมีปัญหาต่อไปนี้ (แก้ไขแล้ว) กับ 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 แต่ก็ยังไม่มีการห้ามและไม่บันทึกโฮสต์ที่พยายามเข้าสู่ระบบ

ฉันหวังว่านี่จะเป็นข้อมูลที่เพียงพอ และนี่จะช่วยคนที่นั่นมากเท่ากับฉัน

Score:2
ธง in

สารละลาย

ผู้ใช้ @sebres ตอบฉัน:

เพียงหยุดใช้ catch-alls (.* etc), e. กรัม การแก้ไขอย่างหนึ่งเพื่อให้ใช้งานได้

- ... \[ไคลเอนต์*<โฮสต์>\] ...
+ ... \[ลูกค้า <โฮสต์>:\d+\] ...

RE .* นั้นโลภ ดังนั้นมันจึงจับคู่ตัวอักษรได้มากที่สุดเท่าที่จะเป็นไปได้ และ <HOST> สามารถจับคู่อะไรก็ได้ (ชื่อโฮสต์) ไม่ใช่เฉพาะที่อยู่เท่านั้น และควรใช้ <ADDR> แทน หากรุ่น Failed2ban ของคุณ >= 0.10

และการแสดงออกทั้งหมดของคุณนั้น "เสี่ยง" เนื่องจากมี catch-all หลายอย่าง (ดังนั้นสมอจึงไม่ได้เอามาจริงๆ)

*** ก็เลยทำการแก้ไขตามที่เขาแนะนำ ได้ผลดังนี้

^\[.*\[ไคลเอนต์ <ADDR>:\d+\].*\[ข้อผิดพลาด\].*

ตอนนี้ทุกอย่างทำงานได้ตามปกติ หวังว่าจะช่วยได้!

djdomi avatar
za flag
โปรดเตือนให้ยอมรับคำตอบของคุณ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา