ฉันได้เขียนคุกที่กำหนดเองและกรองใน fail2ban เพื่อเข้าสู่บริการของฉัน ไฟล์บันทึกอยู่ใน /var/log/motion/motion.log
และการเข้าสู่ระบบที่ล้มเหลวจะสร้างบรรทัดดังนี้:
[0:ml1] [ALR] [STR] [Nov 02 11:42:59] handle_basic_auth: motion-stream - ล้มเหลวในการพยายามตรวจสอบสิทธิ์จาก <ip>
คุกของฉันใน /etc/fail2ban/jail.local
มีลักษณะดังนี้:
[การเคลื่อนไหวรับรองความถูกต้อง]
เปิดใช้งาน = จริง
พอร์ต = 8008
ตัวกรอง = motion-auth.conf
logpath = /var/log/motion/motion.log
banaction = %(banaction_allports)s
สูงสุด = 3
หาเวลา = 10800
ค่าอาหาร = 259200
และตัวกรองของฉันใน /etc/fail2ban/filter.d
ชื่อ motion-auth.conf
มีลักษณะดังนี้:
[คำนิยาม]
failregex = \[0:ml1\] \[ALR\] \[STR\] \[.*\] handle_basic_auth: motion-stream - การตรวจสอบสิทธิ์ล้มเหลวจาก <HOST>
เมื่อฉันวิ่ง fail2ban-regex /var/log/motion/motion.log /etc/fail2ban/filter.d/motion-auth.conf
ฉันได้รับการยืนยันว่าตัวกรองของฉันทำงานไม่ถูกต้องตามที่ต้องการ:
การทดสอบการทำงาน
=============
ใช้ไฟล์ตัวกรอง failregex : motion-auth, basedir: /etc/fail2ban
ใช้ไฟล์บันทึก: /var/log/motion/motion.log
ใช้การเข้ารหัส : UTF-8
ผล
=======
Failregex: ทั้งหมด 186 รายการ
|- #) [# ของการเข้าชม] นิพจน์ทั่วไป
| 1) [186] \[0:ml1\] \[ALR\] \[STR\] \[.*\] handle_basic_auth: motion-stream - ความพยายามตรวจสอบสิทธิ์ล้มเหลวจาก <HOST>
`-
Ignoreregex: 0 ทั้งหมด
เทมเพลตวันที่เข้าชม:
|- [# ของการเข้าชม] รูปแบบวันที่
| [2640] (?:DAY )?MON Day %k:นาที:วินาที(?:\.Microseconds)?(?: อดีตปี)?
`-
บรรทัด: 2929 บรรทัด 0 ละเว้น 186 ตรงกัน 2743 พลาด
[ประมวลผลใน 1.06 วินาที]
แต่เมื่อฉันพยายามโหลดใหม่ / รีสตาร์ท fail2ban เพื่อเพิ่มตัวกรองใหม่ ฉันได้รับข้อความดังนี้:
ไม่พบไฟล์กำหนดค่าที่สามารถเข้าถึงได้สำหรับ 'filter.d/motion-auth.conf' ภายใต้ /etc/fail2ban
ไม่สามารถอ่านตัวกรอง 'motion-auth.conf'
ข้อผิดพลาดในคุก 'motion-auth' กำลังข้าม...
ตกลง
ไม่มีใครรู้ว่าฉันทำอะไรผิด?