จะเข้าใจได้อย่างไรว่าทำไมแพ็กเก็ตถูกพิจารณาว่าเป็น "iptables" ที่ไม่ถูกต้อง


11

ฉันตั้งค่าiptablesกฎบางอย่างเพื่อให้บันทึกและวางแพ็กเก็ตที่ไม่ถูกต้อง ( --state INVALID) การอ่านบันทึกฉันจะเข้าใจได้อย่างไรว่าทำไมแพ็คเก็ตจึงถือว่าไม่ถูกต้อง ตัวอย่างเช่นต่อไปนี้:

Nov 29 22:59:13 htpc-router kernel: [6550193.790402] ::IPT::DROP:: IN=ppp0 OUT= MAC= SRC=31.13.72.7 DST=136.169.151.82 LEN=40 TOS=0x00 PREC=0x00 TTL=242 ID=5104 DF PROTO=TCP SPT=80 DPT=61597 WINDOW=0 RES=0x00 ACK RST URGP=0

คำตอบ:


25

แพ็คเก็ตสามารถอยู่ในสถานะต่าง ๆ เมื่อใช้การตรวจสอบแพ็คเก็ต stateful

  • ใหม่ : แพ็คเก็ตไม่ได้เป็นส่วนหนึ่งของโฟลว์หรือซ็อกเก็ตใด ๆ ที่ทราบและแฟล็ก TCP มีการซิงค์บิต
  • ก่อตั้งขึ้น : แพ็กเก็ตตรงกับโฟลว์หรือซ็อกเก็ตที่ติดตามCONNTRACKและมีแฟล็ก TCP ใด ๆ หลังจากการจับมือ TCP เริ่มต้นเสร็จสมบูรณ์ SYN bit จะต้องปิดเพื่อให้แพ็กเก็ตอยู่ในสถานะที่สร้างขึ้น
  • ที่เกี่ยวข้อง : แพ็คเก็ตไม่ตรงกับโฟลว์หรือซ็อกเก็ตใด ๆ ที่รู้จัก แต่แพ็คเก็ตที่คาดหวังเพราะมีซ็อกเก็ตที่มีอยู่ที่ predicates มัน (ตัวอย่างนี้เป็นข้อมูลในพอร์ต 20 เมื่อมีเซสชัน FTP ที่มีอยู่บนพอร์ต 21 หรือข้อมูล UDP สำหรับการเชื่อมต่อ SIP ที่มีอยู่บนพอร์ต TCP 5060) สิ่งนี้ต้องการ ALG ที่เกี่ยวข้อง
  • ไม่ถูกต้อง : INVALIDถ้าไม่มีของรัฐก่อนหน้านี้ใช้แพ็คเก็ตที่อยู่ในรัฐ ซึ่งอาจเกิดจากโพรบเครือข่ายลักลอบหลากหลายประเภทหรืออาจหมายความว่าคุณไม่มีCONNTRACKรายการ (ซึ่งคุณควรเห็นในบันทึกของคุณด้วย) หรือมันอาจจะไม่เป็นพิษเป็นภัย

ในกรณีของคุณแพ็คเก็ตที่คุณกล่าวถึงการแสดงให้เห็นว่าธงของ TCP ACKและและที่พอร์ตมาเป็นRST 80หมายความว่าเว็บเซิร์ฟเวอร์ที่31.13.72.7(ซึ่งเกิดขึ้นกับ Facebook) ส่งแพ็คเก็ตรีเซ็ตให้คุณ เป็นไปไม่ได้เลยที่จะบอกว่าทำไมไม่เห็นแพ็คเก็ตที่มาก่อน (ถ้ามี) แต่ส่วนใหญ่แล้วมันกำลังส่งการรีเซ็ตให้คุณด้วยเหตุผลเดียวกันกับที่คอมพิวเตอร์ของคุณคิดว่ามันไม่ถูกต้อง


ดังนั้นจึงไม่มีวิธีที่จะขอเคอร์เนล (หรือ iptables) เพื่อผนวก "ลายเซ็น" ลงในแพ็คเก็ตที่จะถือเหตุผลว่ามันไม่ถูกต้องหรือไม่?
mbaitoff

2
ตามคำจำกัดความ ไม่ถูกต้องหมายความว่ามันไม่ตรงกับรัฐที่รู้จักใด ๆ นั่นคือเคอร์เนลที่พูดว่า "ฉันไม่รู้ว่าทำไมฉันถึงได้รับแพ็คเก็ตนี้"
bahamat

สำหรับการดีบักแพ็กเก็ต INVALID ที่เฉพาะเจาะจงการดูที่ Wireshark จากการถ่ายโอนข้อมูลอาจใช้งานได้ ... ฉันเคยเห็นแพ็กเก็ตที่มีฟิลด์ SACK (อันที่จริงแล้วหมายเลขลำดับปกติจะถูกเปลี่ยนโดยไฟร์วอลล์และตัวเลือก SACK นั้นไม่ได้ ค่าไม่ถูกต้อง) ที่ใช้งานไม่ได้เนื่องจากไฟร์วอลล์ถูกทิ้งเนื่องจากไม่ถูกต้อง ...
Gert van den Berg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.