โดยทั่วไป:
กฎไฟร์วอลล์ได้รับการประมวลผลตามลำดับที่ตั้งค่าและปรากฏขึ้น (ในเอาต์พุตของไฟล์ iptables -L -v -n --บรรทัด-ตัวเลข
, iptables -L -v -n -t nat --line-numbers
, iptables-บันทึก
และ/หรือคำสั่งที่คล้ายกัน)
การสร้างกฎใหม่ในเครือข่ายที่ไม่ถูกต้องและ/หรือลำดับที่ไม่ถูกต้องจะส่งผลให้เกิดผลลัพธ์ที่ไม่พึงประสงค์ ทำลายฟังก์ชันการทำงาน ความปลอดภัย และ/หรือล็อกเอาต์ทราฟฟิกที่ถูกต้อง
โปรดทราบว่าการทำงานในระดับต่ำ iptables
คำสั่งในการจัดการไฟร์วอลล์ของคุณอาจไม่ใช่ทางออกที่ดีที่สุดเสมอไป เท่าที่ฉันรู้ใน Ubuntu โดยใช้เครื่องมือ UFW เป็นที่ต้องการและจะทำงานได้อย่างน่าเชื่อถือร่วมกับการล้มเหลว 2 แบน
Fail2ban สร้างเครือข่ายที่กำหนดเองตั้งแต่หนึ่งรายการขึ้นไป (ที่จัดการการยกของหนักส่วนใหญ่สำหรับการบล็อกที่อยู่ IP ที่ทำงานผิดปกติ) เช่น f2b-sshd
โซ่. โดยปกติคุณปล่อยให้ fail2ban จัดการรายการในห่วงโซ่เหล่านั้น
นอกจากนี้ Failed2ban ยังสร้างกฎให้กับเชนที่กำหนดเองซึ่งสร้างขึ้นใน ป้อนข้อมูล
โซ่. โดยปกติกฎเหล่านั้นจะต้องมา ครั้งแรกใน ป้อนข้อมูล
ห่วงโซ่ก่อนกฎอื่น ๆ ที่คุณสร้างขึ้น
ในการกำหนดค่าไฟร์วอลล์ปัจจุบันของคุณ เมื่อคุณใช้ iptables กับไฟล์ -ก
เปลี่ยนไปผนวกกฎใหม่เข้ากับห่วงโซ่ INPUT ทุกอย่างควรทำงาน
การเรียกใช้คำสั่งต่อไปนี้จะเพิ่มกฎปกติเพื่อสร้างไฟร์วอลล์ที่อนุญาต ssh, http และ https และบล็อกทราฟฟิกขาเข้าอื่นๆ ทั้งหมด
iptables -A INPUT -m state --state ที่เกี่ยวข้อง ก่อตั้ง -j ACCEPT
iptables -A INPUT -i lo -j ยอมรับ
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ยอมรับ
iptables -A อินพุต -p tcp -m tcp --dport 80 -j ยอมรับ
iptables -A อินพุต -p tcp -m tcp --dport 443 -j ยอมรับ
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited