กฎในไฟร์วอลล์ netfilter (iptables) จะถูกตรวจสอบตามลำดับและชะตากรรมของแพ็กเก็ต (ACCEPT, DROP, REJECT และอื่น ๆ ) จะพิจารณาตามการจับคู่ครั้งแรก
โดยการทำให้สถานะไฟร์วอลล์เต็มและกฎข้อแรกทำให้-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
การรับส่งข้อมูลส่วนใหญ่ที่ถูกต้องไปยังเซิร์ฟเวอร์ของคุณเป็นที่ยอมรับหลังจากผ่านกฎข้อเดียวนั้น ทราฟฟิกนั้นไม่จำเป็นต้องข้ามกฎอื่น ๆ
ขึ้นอยู่กับขนาดของกฎพื้นฐานที่อาจหมายถึงความแตกต่างอย่างมีนัยสำคัญในประสิทธิภาพของไฟร์วอลล์ของคุณ
ทราฟฟิกเดียวที่ไฟร์วอลล์ต้องใช้ในการตรวจสอบความถูกต้องคือการเชื่อมต่อใหม่อย่างชัดเจน
เช่นเปรียบเทียบไฟร์วอลล์สำหรับเว็บเซิร์ฟเวอร์สาธารณะที่มีการเข้าถึงเว็บมาสเตอร์จำนวนหนึ่งจากเวิร์กสเตชัน:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -m iprange --src-range 10.9.8.7-10.9.8.10 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
ประมาณ 99% ของแพ็คเก็ตที่ถูกกฎหมายจะเป็นของการเชื่อมต่อที่สร้างไว้แล้วกดเฉพาะกฎข้อแรก จากแพ็กเก็ตที่ไม่ตรงกับกฎนั้นส่วนใหญ่จะเป็นการเชื่อมต่อใหม่ไปยังเว็บไซต์ของคุณโมดูลหลายพอร์ตสามารถให้สิทธิ์การเข้าถึง HTTP หรือ HTTPS ในกฎเดียว เว็บมาสเตอร์ลงชื่อเข้าใช้จากเวิร์กสเตชันจำนวนหนึ่งซึ่งมีที่อยู่คงที่โดยใช้ ssh และ sftp และทุกอย่างถูกปฏิเสธ
ไฟร์วอลล์ที่กฎถูกจัดลำดับอย่างมีเหตุผลโดยพอร์ต TCP:
-A INPUT -p tcp -m tcp --dport 22 --source 10.9.8.7 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 --source 10.9.8.8 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 --source 10.9.8.9 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 --source 10.9.8.10 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
ที่นี่แต่ละคนและทุกแพ็คเก็ตที่คุณ HTTP เว็บเซิร์ฟเวอร์จะต้องมีการตรวจสอบกับ 5 กฎก่อนที่จะได้รับการเข้าถึง และด้วยบริการอื่น ๆ ที่ทำงานบนเซิร์ฟเวอร์ที่สามารถกลายเป็นกฎได้ 50 กฎหรือมากกว่านั้นเมื่อคุณเช่นจะใช้ fail2ban หรือผลิตภัณฑ์ที่คล้ายกัน