การรันทั้ง fail2ban และ ufw จะทำให้เกิดปัญหาหรือไม่ ฉันสังเกตเห็นว่า fail2ban ปรับเปลี่ยนกฎ iptables แต่ ufw มีกฎ iptables ที่กำหนดไว้แล้วมากมาย ... ดังนั้นฉันไม่แน่ใจว่า fail2ban จะทำสิ่งเหล่านี้ผิดหรือไม่
การรันทั้ง fail2ban และ ufw จะทำให้เกิดปัญหาหรือไม่ ฉันสังเกตเห็นว่า fail2ban ปรับเปลี่ยนกฎ iptables แต่ ufw มีกฎ iptables ที่กำหนดไว้แล้วมากมาย ... ดังนั้นฉันไม่แน่ใจว่า fail2ban จะทำสิ่งเหล่านี้ผิดหรือไม่
คำตอบ:
คุณสามารถใช้ ufw และ fail2b ร่วมกัน แต่ตามที่ระบุไว้ก่อนหน้านี้ลำดับของกฎ (ufw) คือสิ่งที่สำคัญ
fail2ban ใช้ iptables และกฎการแทรกก่อนออกจากกล่อง INPUT chain สิ่งนี้จะไม่ทำอันตรายหรือขัดแย้งกับ ufw
หากคุณต้องการรวม fail2ban ทั้งหมดเพื่อใช้ ufw (แทน iptables) คุณจะต้องแก้ไขไฟล์จำนวนมากรวมถึง
/etc/fail2ban/jail.local
jail.local เป็นที่ที่คุณกำหนดบริการของคุณรวมถึงพอร์ตที่พวกเขากำลังฟังอยู่ (คิดว่าเปลี่ยน ssh เป็นพอร์ตที่ไม่ใช่ค่าเริ่มต้น) และสิ่งที่ต้องดำเนินการ
** โปรดทราบ *: ไม่เคยแก้ไขjail.confการเปลี่ยนแปลงของคุณควรทำjail.local
! ไฟล์นั้นเริ่มต้นด้วยสิ่งนี้:
# Changes: in most of the cases you should not modify this
# file, but provide customizations in jail.local file,
# or separate .conf files under jail.d/ directory
ใช้ ssh เป็นตัวอย่างสังเกตคำนิยามของพอร์ตที่ไม่ใช่ค่าเริ่มต้นเช่นกัน =)
[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
จากนั้นคุณกำหนดค่า fail2ban เพื่อใช้ ufw ใน (หนึ่งไฟล์. config สำหรับแต่ละบริการ)
/etc/fail2ban/action.d/ufw-ssh.conf
ไวยากรณ์คือ
[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH
หมายเหตุ: คุณกำหนดค่า fail2ban เพื่อใช้ ufw และเพื่อแทรกกฎใหม่ครั้งแรกโดยใช้ไวยากรณ์ "insert 1" การลบจะค้นหากฎโดยไม่คำนึงถึงลำดับ
มีโพสต์บล็อกที่ดีที่จะลงรายละเอียดเพิ่มเติมที่นี่
http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/
[แก้ไข] สำหรับ Ubuntu 16.04+
โดยค่าเริ่มต้นแล้ว " defaults-debian.conf
" /etc/fail2ban/jail.d
ด้วยเนื้อหา
[sshd]
enabled = true
จะเปิดใช้งานการป้องกัน ssh ของ fail2ban
คุณต้องใส่มันผิด
จากนั้นสร้างคุกในท้องถิ่นเช่นเดียวกับที่คุณทำโดยทั่วไปของฉันจะเป็นเช่นนี้:
[ssh-with-ufw]
enabled = true
port = 22
filter = sshd
action = ufw[application="OpenSSH", blocktype=reject]
logpath = /var/log/auth.log
maxretry = 3
มี ufw.conf อยู่แล้วในการติดตั้งเริ่มต้น fail2ban ดังนั้นไม่จำเป็นต้องสร้างขึ้นมาใหม่
การเปลี่ยนแปลงเฉพาะอย่างเดียวสำหรับคุณ jail.local จะเป็นที่บรรทัดคำสั่งที่คุณต้องใส่แอปพลิเคชันที่เกี่ยวข้องกับการป้องกันและสิ่งที่คุณต้องการให้ได้ผลลัพธ์
ufw มีแนวโน้มที่จะตรวจพบแอปจำนวนหนึ่งที่ทำงานโดยอัตโนมัติโดยใช้เครือข่าย sudo ufw app list
จะมีรายการประเภทเพียง มันเป็นกรณี ๆ ไป
โหลด fail2ban อีกครั้งและคุณจะไม่เห็นเครือข่าย fail2ban อีกต่อไปและหาก IP ใด ๆ ได้รับบล็อกคุณจะเห็นมัน sudo ufw status
ufw status
คุณต้องมีการรวมเข้าด้วยกัน นอกจากจะมีบล็อกปรากฏขึ้นufw status
แล้วจะไม่มีประโยชน์อื่นอีกไหม? โดยเฉพาะอย่างยิ่งเพราะผู้เขียนบล็อกระบุว่าสิ่งต่อไปนี้: ไม่ทำงาน Fail2ban ทำงานได้กับกฎ iptables แต่สิ่งเหล่านี้เล่นได้ไม่ดีกับคำสั่ง UFW ที่ง่ายกว่าของเรา (... )
ฉันใช้ fail2ban และ ufw มาหลายปีกับคอมพิวเตอร์หลายเครื่องและไม่เคยมีปัญหาใด ๆ เลย ในการตั้งค่า fail2ban:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano jail.local
ตอนนี้แก้ไขไฟล์ตามที่คุณต้องการตัวอย่างเช่นถ้าคุณต้องการที่จะป้องกันไม่ให้ ssh หาบรรทัด:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
หากตั้งค่า "enable" เป็น "false" ให้เปลี่ยนเป็น "true" ดังที่ระบุไว้ที่นี่ หลังจากที่คุณตั้งค่ากฎคุณต้องเริ่มต้นกระบวนการ fail2ban อีกครั้ง:
sudo /etc/init.d/fail2ban restart
หากคุณเปิดพอร์ต 22 บนไฟร์วอลล์ ufw ของคุณ fail2ban จะห้ามไคลเอนต์ที่พยายามเชื่อมต่อมากกว่า 6 ครั้งโดยไม่ประสบความสำเร็จมันจะไม่ทำลายไฟร์วอลล์ของคุณ
การติดตั้ง 0.9.5 จาก fail2ban รวมถึงการufw
กระทำที่ฉันต้องตั้งค่าสำหรับbanaction