Score:0

จะกำหนดค่า fail2ban สำหรับทั้งพอร์ต TCP และ UDP ได้อย่างไร

ธง cn

ฉันต้องการแบนคำขอ DNS ที่มาถึงฉัน ชื่อ เซิร์ฟเวอร์ โดยปกติเซิร์ฟเวอร์จะรับฟังทั้งพอร์ต TCP และ UDP 53 และบันทึกคำขอไปยัง /var/log/named/query.log ไฟล์. ดังนั้นฉันจึงเพิ่มรายการต่อไปนี้ต่อท้ายของ /etc/fail2ban/jail.local:

[ชื่อ-xyz]
เปิดใช้งาน = จริง
พอร์ต = โดเมน
ตัวกรอง = xyz
logpath = /var/log/named/query.log
แบนไทม์ = 1d
การกระทำ = %(การกระทำ_)วินาที

อย่างไรก็ตาม สิ่งนี้จะห้ามพอร์ต TCP เท่านั้น (โดยค่าเริ่มต้น) หากต้องการแบนพอร์ต UDP ฉันต้องเพิ่มอีกรายการ:

[ชื่อ-xyz-udp]
เปิดใช้งาน = จริง
พอร์ต = โดเมน
โปรโตคอล = udp
ตัวกรอง = xyz
logpath = /var/log/named/query.log
แบนไทม์ = 1d
การกระทำ = %(การกระทำ_)วินาที

การมีรายการที่คล้ายกันอาจดูไม่มากเกินไป แต่ก็มีข้อเสียของการบันทึกรายการสองครั้งสำหรับ a คำขอเดียว "ไม่ดี" ไปที่ Failed2ban.log ไฟล์เช่นนี้:

fail2ban.filter [11619]: ข้อมูล [named-xyz-udp] พบ a.b.c.d
fail2ban.filter [11619]: ข้อมูล [ชื่อ xyz] พบ a.b.c.d

ฉันจะแบนทั้ง UDP/53 และ TCP/53 พร้อมกันได้อย่างไร กฎข้อเดียว ใน คุก.local? ก โปรโตคอล = ทั้งหมด ไลน์ใช้งานไม่ได้ในกรณีของฉัน

ล้มเหลว 2 แบน รุ่นคือ v0.11.1.

Score:0
ธง co

โปรโตคอล = ทั้งหมด ไลน์ใช้งานไม่ได้ในกรณีของฉัน

ขึ้นอยู่กับการกระทำการแบนที่คุณใช้ คุณหมายถึงอะไรว่า "ไม่ทำงาน"?

สำหรับการกระทำ (เช่น iptables-allports การยอมรับ ทั้งหมด) อาจเพียงพอแล้วที่จะตั้งค่าแบบนี้สำหรับการดำเนินการอื่นๆ (ซึ่งยอมรับหลายโปรโตคอล เช่น nftable) ก็สามารถตั้งค่าได้ด้วย โปรโตคอล = tcp,udp (หรือตัวคั่นที่ต้องการแทนเครื่องหมายจุลภาค)
สำหรับการดำเนินการที่ไม่ยอมรับหลายโปรโตคอล (เช่น iptables-หลายพอร์ต) จำเป็นต้องระบุ 2 การกระทำ นี่คือตัวอย่างการทำงานสำหรับรุ่น fail2ban ล่าสุด - https://github.com/fail2ban/fail2ban/blob/10cd81552538fa950cefc32787b9f82b5ee1b998/config/jail.conf#L748-L749

สำหรับรุ่น fail2ban รุ่นเก่าซึ่งไม่ยอมรับการแก้ไขของ %(default/action_)s หรือหลายพารามิเตอร์ [...][...] คุณต้องตั้งค่าดังนี้:

การกระทำ = %(action_)s[ชื่อ=%(__name__)s-tcp, protocol="tcp"]
         %(action_)s[ชื่อ=%(__name__)s-udp, protocol="udp"]

(หรือโดย fail2ban 0.9.x แม้กระทั่งแทนที่ %(การกระทำ_)วินาที ด้วย คำจำกัดความทั้งหมด จากส่วนเริ่มต้น):

action = %(banaction)s[name=%(__name__)s-tcp, actionname=%(__name__)s-tcp, protocol="tcp", port="%(port)s", chain="%(เชน )s"]
         %(banaction)s[ชื่อ=%(__name__)s-udp, actionname=%(__name__)s-udp, protocol="udp", port="%(port)s", chain="%(chain)s "]
FedKad avatar
cn flag
ฉันขอโทษ ฉันทำตามคำตอบของคุณไม่ได้ เนื่องจากฉันไม่เชี่ยวชาญเรื่อง fail2ban คุณมีคำแนะนำอย่างไรในการแก้ไขรายการแรก (ในคำถามของฉัน) การใส่ `action =` สองบรรทัดตามที่คุณแนะนำทำให้เกิดข้อผิดพลาด: `option 'action' ในส่วน 'named-xyz' มีอยู่แล้ว `
sebres avatar
co flag
คุณต้องใส่ 2 การกระทำด้วย `action` พารามิเตอร์เดียว ดูตัวอย่างของฉัน - ดังนั้น 2 บรรทัด แต่บรรทัดที่สองไม่มี `action =` เพียงแค่มีช่องว่างเล็กน้อย และตรวจสอบให้แน่ใจว่าคุณไม่ได้ระบุ `action` ในส่วนสำหรับคุก `named-xyz`

โพสต์คำตอบ

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