iptables การเชื่อมต่อใหม่กับ --syn


13

ความแตกต่างระหว่าง:

iptables ... -m state --state NEW

และ

iptables ... --syn

คนแรกควรเลือกการเชื่อมต่อใหม่ แต่การเชื่อมต่อใหม่ AFAIK จะทำโดยการส่งการตั้งค่าสถานะ TCP syn อีกอันหนึ่งมีความหมายว่า - แพ็คเก็ตที่มีธง syn

คุณสามารถให้ตัวอย่างการปฏิบัติใด ๆ เมื่อคำสั่งดังกล่าวส่งกลับผลลัพธ์ที่แตกต่างกันอย่างไร

คำตอบ:


8

--synธงเป็นประโยชน์ในการตรวจสอบการจราจร TCP แต่NEWรัฐสามารถนำมาใช้สำหรับโปรโตคอลอื่น ๆ (รวมTCP) เหมือนและUDP ICMPฉันสามารถพูดได้ว่าNEWเป็นเรื่องทั่วไปมากกว่า--synตัวเลือก TCP

จากคู่มือ iptables คุณสามารถอ่าน:

NEW    meaning that the packet has started a new connection,
       or otherwise associated with a connection which has not seen packets in both directions

ตัวอย่างคำขอ DNS จะตรงกับNEWสถานะ แต่จะไม่ตรงกับกฎที่มี--synตัวเลือก เพียงแค่เป็น UDP datagram

นอกจากนี้ยัง--synสามารถใช้ตัวเลือกเพื่อตรวจสอบแพ็กเก็ต TCP ที่มีการรวมแฟล็กที่ไม่ดีเพื่อวาง

นอกจากนี้คุณสามารถใช้ทั้งสองตัวเลือกเหล่านี้ร่วมกันเพื่อตรวจสอบNEWกระแส TCP โดยไม่ต้อง--synเป็นแพ็กเก็ตแรกและวางพวกเขาเช่น:

$ sudo iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"

ที่นี่เรากำลังเพิ่มประเภทของแพ็คเก็ตนี้ในห่วงโซ่ที่ผู้ใช้กำหนดที่เรียกว่าbad_tcp_packetsจะลดลง / เข้าสู่ระบบ ฯลฯ ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.