Модифицировать параметр sysctl $ sudo sysctl -a | GREP IPv4 | grep syn
Результат похож на следующий:
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 — включать ли функцию SYN COOKIES: «1» включена, «2» выключена. net.ipv4.tcp_max_syn_backlog — длина очереди SYN, и увеличение длины очереди позволяет поддерживать больше сетевых соединений, ожидающих подключения. net.ipv4.tcp_synack_retries и net.ipv4.tcp_syn_retries определяют количество повторений SYN.
Добавьте следующее в /etc/sysctl.conf, а затем выполните "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
Улучшение TCP-связности
net.ipv4.tcp_rmem = 32768 net.ipv4.tcp_wmem = 32768 net.ipv4.sack=0 #我的Centos подсказка 5.4 не содержит этого ключевого слова
Используйте iptables Команда:
# netstat -an | grep «:80» | grep СОЗДАНО
Давайте посмотрим, какие IP-адреса вызывают подозрения~ Например: 221.238.196.83 имеет много подключений к этому IP и очень подозрителен, и я не хочу, чтобы он снова был подключён к 221.238.196.81. Доступные команды:
iptables -A INPUT -s 221.238.196.81 -p tcp -d 221.238.196.83 --dport 25 --syn -j ACCEPT
Это неправильно
Я считаю, что это должно быть написано вот так
iptables -A INPUT -s 221.238.196.83 -p tcp -j DROP
Отбросить пакеты с 221.238.196.83.
Для атак SYN FLOOD, которые подделывают исходный IP-адрес. Этот метод неэффективен
Другие упоминания
Предотвращение синхронизации
# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
Есть и люди, которые пишут
# iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
--limit 1/s ограничите количество syn-параллелизма 1 в секунду, что можно корректировать в соответствии с вашими потребностями, чтобы предотвратить сканирование различных портов
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
Пинг смерти
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
BSD
Эксплуатация:
sysctl net.inet.tcp.msl=7500
Чтобы перезагрузка сработала, вы можете добавить следующую строку в /etc/sysctl.conf:
net.inet.tcp.msl=7500
|