Ada contoh aturan iptables di archlinux wiki:
# Generated by iptables-save v1.4.18 on Sun Mar 17 14:21:12 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Sun Mar 17 14:21:12 2013
Beberapa hari yang lalu teman saya bertanya mengapa ada REJECT
tiga aturan terakhir. Dia mengatakan kepada saya bahwa harus ada DROP
sebaliknya, dan dia menyebutkan sesuatu tentang keamanan yang lebih baik jika terjadi DROP
.
Jadi, saya punya dua pertanyaan:
Apa yang dilakukan ketiga aturan itu?
Apakah ada bedanya ketika saya menempatkannya
DROP
di sanaREJECT --reject-with
? Jika ya, apa bedanya?
Jawaban:
Ketiga aturan itu tampaknya cukup jelas:
Jika Anda mencari lebih detail (tentang paket UDP / TCP, ICMP), Anda perlu menggali dokumen jaringan, dan mungkin
man iptables
juga itu.Itu membuat perbedaan. Dan bertentangan dengan kepercayaan populer,
DROP
tidak memberikan keamanan yang lebih baik daripadaREJECT
. Ini merepotkan pengguna yang sah, dan secara efektif tidak ada perlindungan dari yang jahat. Posting ini menjelaskan alasannya secara rinci:http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject
sumber