Ændr sysctl-parameteren $ sudo sysctl -a | grep IPv4 | grep syn
Outputtet ligner følgende:
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 er, om man skal slå SYN COOKIES-funktionen til, "1" er tændt, "2" er slået fra. net.ipv4.tcp_max_syn_backlog er længden af SYN-køen, og en forøgelse af kølængden kan rumme flere netværksforbindelser, der venter på at blive forbundet. net.ipv4.tcp_synack_retries og net.ipv4.tcp_syn_retries definerer antallet af SYN-gentagelser.
Tilføj følgende til /etc/sysctl.conf, og udfør derefter "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
Forbedr TCP-forbindelsen
net.ipv4.tcp_rmem = 32768 net.ipv4.tcp_wmem = 32768 net.ipv4.sack=0 #我的Centos 5.4 hint har ikke dette nøgleord
Brug iptables Kommando:
# netstat -an | grep ":80" | GREB ETABLERET
Lad os se, hvilke IP-adresser der er mistænkelige~ For eksempel: 221.238.196.83 har mange forbindelser til denne IP og er meget mistænkelig, og jeg vil ikke have, at den skal være forbundet til 221.238.196.81 igen. Tilgængelige kommandoer:
iptables -A INPUT -s 221.238.196.81 -p tcp -d 221.238.196.83 --dport 25 --syn -j ACCEPT
Det er forkert
Jeg synes, det burde skrives sådan her
iptables -A INPUT -s 221.238.196.83 -p tcp -j DROP
Kasser pakker fra 221.238.196.83.
For SYN FLOOD-angreb, der forfalsker den oprindelige IP-adresse. Denne metode er ineffektiv
Andre referencer
Forebyg Sync Flood
# iptables -A FORWARD -p tcp --syn -m grænse --grænse 1/s -j ACCEPTER
Der er også folk, der skriver
# iptables -A INPUT -p tcp --syn -m grænse --grænse 1/s -j ACCEPTER
--limit 1/s begrænser antallet af syn-samtidighed til 1 per sekund, hvilket kan ændres efter dine egne behov for at forhindre forskellige portscanninger
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m grænse --limit 1/s -j ACCEPTER
Dødens Ping
# iptables -A FORWARD -p icmp --icmp-type echo-request -m grænse --grænse 1/s -j ACCEPTER
BSD
Drift:
sysctl net.inet.tcp.msl=7500
For at genstarten kan fungere, kan du tilføje følgende linje til /etc/sysctl.conf:
net.inet.tcp.msl=7500
|