iptables Koneksi BARU vs. --syn

13

Apa perbedaan antara:

iptables ... -m state --state NEW

dan

iptables ... --syn

Yang pertama harus memilih koneksi BARU, tetapi koneksi baru AFAIK dibuat dengan mengirimkan flag TCP syn. Yang lain berarti hanya itu - paket dengan flag syn.

Bisakah Anda memberikan contoh praktis ketika perintah di atas mengembalikan hasil yang berbeda?

wanson
sumber

Jawaban:

8

The --synbendera ini berguna untuk memeriksa lalu lintas TCP, tetapi NEWnegara dapat digunakan untuk protokol lain (termasuk TCP) seperti UDPdan ICMP. Saya dapat mengatakan bahwa NEWini lebih umum daripada --synopsi TCP.

Dari manual iptables, Anda dapat membaca:

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

Contoh, permintaan DNS akan cocok dengan NEWnegara, tetapi tidak akan cocok dengan aturan dengan --synopsi. Sederhananya, ini adalah datagram UDP.

Selain itu, --synopsi ini dapat digunakan untuk memeriksa paket TCP dengan kombinasi flag yang buruk untuk menjatuhkannya.

Anda juga dapat menggunakan kedua opsi ini bersama-sama untuk memeriksa NEWaliran TCP tanpa --synsebagai paket pertama dan menjatuhkannya seperti:

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

Di sini, kami menambahkan jenis paket ini ke rantai yang ditentukan pengguna yang dipanggil bad_tcp_packetsuntuk dihapus / dicatat, dll ...

Khaled
sumber