Tôi có một máy chủ Rails (ROR) phía sau Tường lửa (FWL) của mình. ROR phải liên tục gửi thông tin đến Digital Ocean Spaces (DOS). Lưu ý rằng ROR không có trong trung tâm dữ liệu Digital Ocean.
ROR <--> FWL <--> Internet <--> DOS
Tường lửa của tôi có quy tắc sau:
# Chỉ đăng ký các gói FORWARD không hợp lệ
${IPT} -A FORWARD -m conntrack --ctstate INVALID -j LOG --cảnh báo mức log --log-prefix 'DROP FORWARD_INV:'
#${IPT} -A FORWARD -m conntrack --ctstate INVALID -j DROP
Vì vậy, tôi chỉ đăng nhập nó, nhưng tôi đã sẵn sàng để chặn nó.
Sau đó, kết luận của tôi sẽ bắt đầu vào ngày 16 tháng 1:
$ # Lưu ý: 138.68.32.225 là sfo2.digitaloceanspaces.com.
$ sudo grep -E "FORWARD_INV:.*138.68.32.225" /var/log/kern.log | đầu -1
Ngày 16 tháng 1 00:10:47 kernel prd1fwl100: [2660776.069502] DROP FORWARD_INV: IN=ens20 OUT=ens18 MAC=96:c5:9a:8e:13:0d:52:b4:ff:05:19:d7:08: 00 SRC=172.21.20.2 DST=138.68.32.225 LEN=52 TOS=0x00 PREC=0x00 TTL=63 ID=14134 DF PROTO=TCP SPT=39966 DPT=443 WINDOW=601 RES=0x00 ACK RST URGP=0
Và đây là những gì tôi không nhận được!!!
$ sudo grep -E "FORWARD_INV:.*138.68.32.225" /var/log/kern.log | wc -l
2971
$ sudo grep -E "FORWARD_INV:.*138.68.32.225" /var/log/kern.log | awk '{in $25,$26}' | sắp xếp | uniq -c
2957 ACK RST
14 RST URGP=0
Tại sao phần mềm trong máy chủ ROR ngừng giao tiếp với DOS bằng ACK/RST? Thay vào đó, nó không nên sử dụng FIN sao? Tại sao mô-đun Netfilter gắn thẻ ACK/RST này là Không hợp lệ?