Làm thế nào để hiểu lý do tại sao gói được coi là HÓA ĐƠN bởi `iptables`?


11

Tôi thiết lập một số iptablesquy tắc để nó ghi nhật ký và loại bỏ các gói là INVALID ( --state INVALID). Đọc nhật ký làm thế nào tôi có thể hiểu tại sao gói được coi là không hợp lệ? Ví dụ: như sau:

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

Câu trả lời:


25

Các gói có thể ở các trạng thái khác nhau khi sử dụng kiểm tra gói trạng thái.

  • Mới : Gói không phải là một phần của bất kỳ luồng hoặc ổ cắm đã biết nào và các cờ TCP có bit SYN.
  • Được thiết lập : Gói phù hợp với luồng hoặc ổ cắm được theo dõi bởi CONNTRACKvà có bất kỳ cờ TCP nào. Sau khi bắt tay TCP ban đầu hoàn tất, bit SYN phải được tắt để một gói ở trạng thái được thiết lập.
  • Liên quan : Gói không khớp với bất kỳ luồng hoặc ổ cắm đã biết nào, nhưng gói được mong đợi vì có một ổ cắm hiện có dự đoán nó (ví dụ về dữ liệu này là dữ liệu trên cổng 20 khi có phiên FTP hiện có trên cổng 21 hoặc dữ liệu UDP cho kết nối SIP hiện có trên cổng TCP 5060). Điều này đòi hỏi một ALG liên quan.
  • Không hợp lệ : Nếu không có trạng thái nào trước đó áp dụng gói ở trạng thái INVALID. Điều này có thể được gây ra bởi các loại đầu dò mạng lén lút khác nhau hoặc có thể có nghĩa là bạn sắp hết các CONNTRACKmục (mà bạn cũng sẽ thấy được nêu trong nhật ký của mình). Hoặc nó có thể chỉ đơn giản là hoàn toàn lành tính.

Trong trường hợp của bạn, gói mà bạn trích dẫn cho thấy các cờ TCP ACKRST, và cổng nguồn là 80. Điều đó có nghĩa là máy chủ web tại 31.13.72.7(tình cờ là Facebook) đã gửi một gói đặt lại cho bạn. Hoàn toàn không thể nói tại sao mà không nhìn thấy các gói đi trước nó (nếu có). Nhưng rất có thể nó đang gửi cho bạn thiết lập lại với cùng lý do máy tính của bạn cho rằng nó không hợp lệ.


Vì vậy, không có cách nào để yêu cầu một hạt nhân (hoặc iptables) nối thêm một loại "chữ ký" vào một gói chứa lý do của nó là không hợp lệ?
mbaitoff

2
Theo định nghĩa, không. Không hợp lệ có nghĩa là nó không khớp với bất kỳ trạng thái đã biết nào. Nói cách khác, đó là hạt nhân có nội dung "Tôi không biết tại sao tôi nhận được gói này".
bahamat

Để gỡ lỗi các gói INVALID cụ thể, nhìn vào chúng trong Wireshark từ một bãi chứa có thể hoạt động ... Tôi đã thấy các gói có trường SACK (thực tế các số thứ tự thông thường được thay đổi bởi tường lửa và các gói trong tùy chọn SACK không, dẫn đến SACK các giá trị không hợp lệ) đã bị phá vỡ do tường lửa bị hủy là không hợp lệ ...
Gert van den Berg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.