Score:0

Failed2ban ไม่ได้แบน แต่ตรงกับบันทึก

ธง ng

ฉันพยายามสร้างการป้องกันกำลังเดรัจฉานด้วย 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 บรรทัด
Score:0
ธง il

ฉันพยายามสร้างการป้องกันกำลังเดรัจฉานด้วยfail2ban
ความล้มเหลว = ... 200 ...

การดำเนินการนี้ไม่จำเป็นต้องใช้กำลังดุร้าย เพราะ 200 เป็นการตอบกลับปกติ หมายความว่า ตกลง... โดยปกติแล้ว รหัสอย่างเช่น 401 หรือ 403 จะส่งสัญญาณถึงความพยายามที่ไม่ได้รับอนุญาต หรือหากบริการตอบกลับด้วย 200 ก็จะเขียนรายการบันทึกเพิ่มเติมใน ไฟล์บันทึกหรือสมุดรายวันบางรายการ (ไม่จำเป็นต้องอยู่ในไฟล์ access.log). แต่ยังมีอีกสิ่งหนึ่งที่น่าสงสัยมากที่นี่ นับประสาอะไรกับในทางทฤษฎี คนๆ หนึ่งสามารถใช้กำลังดุร้ายโดยใช้วิธีการอื่นได้ เช่น โพสต์.

แต่ด้วยการทดสอบของฉันที่ดุร้ายบังคับให้ไซต์ที่มีการเข้าสู่ระบบที่ล้มเหลว 7+ ...
บรรทัด: 106 บรรทัด 0 ละเว้น 3 ตรงกัน 103 พลาด

คุณไม่ได้ให้ข้อความที่ตัดตอนมาจากบันทึกทั้งหมดที่เกี่ยวข้องกับความพยายามทั้ง 7 ครั้งนี้ และ Failed2ban-regex ค้นหาเพียง 3 รายการที่เกี่ยวข้องกับคุณ ล้มเหลวregex (ซึ่งไม่ดีเลย เช่น ไม่ยึดและมี catch-all's อย่างไรก็ตาม ไม่เป็นไร - ไม่มีการจับคู่) อาจเป็นไปได้ว่ามันบันทึกอย่างอื่นเป็นบรรทัดบันทึกเดียวจากตัวอย่างของคุณ เพราะโดยพื้นฐานแล้ว RE ของคุณตรงกับสิ่งนั้น ดังนั้นโปรดอัปเดตคำถามของคุณด้วยข้อความที่ตัดตอนมาจากบันทึกทั้งหมดที่สอดคล้องกับความพยายามทั้งหมด 7 ครั้งที่คุณทำ

และสุดท้าย แต่ไม่ท้ายสุด RE ที่ดีกว่ามากอาจมีลักษณะดังนี้:

failregex = ^\s*<ADDR>:\d+ [^"]*"[A-Z]+ /login\b[^"]*" 200\b

อย่างไรก็ตาม ฉันยังไม่แน่ใจว่าคุณจะใช้สิ่งนั้นจริง ๆ (เนื่องจากปัญหาที่ 200 และอื่น ๆ ที่ฉันกล่าวถึงข้างต้น)

หากเป็นเพียงการทดสอบ (โดยมี 3 บรรทัดบันทึก) และคุณเห็นบรรทัดบันทึกทั้ง 7 รายการในบันทึกจริงจริงๆ คุณสามารถตรวจสอบสิ่งนี้ได้ คำถามที่พบบ่อยสำหรับสาเหตุที่เป็นไปได้ว่าทำไม fail2ban ไม่แบน. เช่น มันอาจจะไม่ถูกต้อง แบ็กเอนด์ (ตั้งค่าเป็น อัตโนมัติ สำหรับการมอนิเตอร์เกี่ยวกับไฟล์) หรือการแบนที่ไม่เหมาะสม หรือข้อผิดพลาดบางอย่างในฝั่งของ fail2ban (ตรวจสอบที่ fail2ban.log ด้วย)

โพสต์คำตอบ

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