ก่อนหน้า 0.11 ไม่มีคุณสมบัติเริ่มต้นหรือการตั้งค่าภายใน fail2banเพื่อให้บรรลุสิ่งนี้ แต่เริ่มต้นด้วยการเปิดตัว 0.11 ที่จะเกิดขึ้นแบนไทม์จะถูกคำนวณโดยอัตโนมัติและเพิ่มทวีคูณกับการกระทำผิดกฎหมายใหม่ซึ่งในระยะยาวจะหมายถึงบล็อกถาวรมากหรือน้อย
จนแล้ววิธีที่ดีที่สุดของคุณอาจตั้งค่าfail2ban ในการตรวจสอบแฟ้มบันทึกของตัวเอง มันเป็นกระบวนการสองขั้นตอน ...
ขั้นตอนที่ 1
เราอาจต้องสร้างตัวกรองเพื่อตรวจสอบการแบนในไฟล์บันทึก (ล็อกไฟล์ของ fail2ban)
ขั้นตอนที่ 2
เราจำเป็นต้องกำหนดคุกคล้ายกับต่อไปนี้ ...
[fail2ban]
เปิดใช้งาน = จริง
ตัวกรอง = fail2ban
การกระทำ = iptables-allports [name = fail2ban]
logpath = /path/to/fail2ban.log
# findtime: 1 วัน
findtime = 86400
# bantime: 1 ปี
bantime = 31536000
ในทางเทคนิคมันไม่ได้เป็นบล็อกถาวรแต่บล็อกเพียงหนึ่งปี (ที่เราสามารถเพิ่มได้เช่นกัน)
อย่างไรก็ตามสำหรับคำถามของคุณ (สามารถทำได้โดย fail2ban คนเดียวหรือฉันต้องเขียนสคริปต์ของตัวเองเพื่อทำอย่างนั้น?) ... การเขียนสคริปต์ของตัวเองอาจทำงานได้ดี การตั้งค่าสคริปต์เพื่อแยกIP ที่ถูกแบนบ่อย ๆจากนั้นนำไปไว้ใน/etc/hosts.deny
ที่ที่ฉันแนะนำ