Spremenite parameter sysctl $ sudo sysctl -a | grep IPv4 | grep syn
Izhod je podoben naslednjemu:
net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_synack_retries = 5 net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_syncookies je, ali vklopiti funkcijo SYN COOKIES, "1" je vklopljena, "2" izklopljena. net.ipv4.tcp_max_syn_backlog je dolžina SYN vrste, povečanje te dolžine pa omogoča več omrežnih povezav, ki čakajo na povezavo. net.ipv4.tcp_synack_retries in net.ipv4.tcp_syn_retries določata število ponovitev SYN.
Dodajte naslednje na /etc/sysctl.conf in nato izvedite "sysctl -p"!
net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2
Izboljšajte TCP povezljivost
net.ipv4.tcp_rmem = 32768 net.ipv4.tcp_wmem = 32768 net.ipv4.sack=0 #我的Centos 5.4 Hint nima te ključne besede
Uporaba iptables Ukaz:
# netstat -an | grep ":80" | grep USTANOVLJEN
Poglejmo, kateri IP-ji so sumljivi~ Na primer: 221.238.196.83 ima veliko povezav s tem IP-jem in je zelo sumljiv, zato nočem, da bi bil ponovno povezan z 221.238.196.81. Na voljo ukazi:
iptables -A INPUT -s 221.238.196.81 -p tcp -d 221.238.196.83 --dport 25 --syn -j ACCEPT
To je narobe
Mislim, da bi moralo biti napisano takole
iptables -A INPUT -s 221.238.196.83 -p tcp -j DROP
Zavrzi pakete iz 221.238.196.83.
Za SYN FLOOD napade, ki ponaredijo izvorni IP naslov. Ta metoda ni učinkovita
Druge reference
Preprečite sinhronizacijo poplave
# iptables -A NAPREJ -p tcp --syn -m limit --limit 1/s -j ACCEPT
Obstajajo tudi ljudje, ki pišejo
# iptables -A VHOD -p tcp --syn -m limit --limit 1/s -j ACCEPT
--omejiti 1/s omejitev števila sinhronizacije na 1 na sekundo, kar lahko prilagodiš glede na svoje potrebe, da preprečiš različno skeniranje vrat
# iptables -A NAPREJ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j SPREJMI
Ping smrti
# iptables -A NAPREJ -p icmp --icmp-tip echo-request -m limit --limit 1/s -j ACCEPT
BSD
Delovanje:
sysctl net.inet.tcp.msl=7500
Da bi ponovni zagon deloval, lahko v /etc/sysctl.conf dodate naslednjo vrstico:
net.inet.tcp.msl=7500
|