В этой статье описывается, как я узнаю IP-адрес отказа в обслуживании (DoS) и null route , чтобы решить проблему высокой нагрузки на моем сервере.
1. Высокая нагрузка
В последнее время на сервере произошла аномально высокая нагрузка, загрузка ЦП в среднем составляет 15-20%.
#top load average: 15.08, 18.30, 20.63
2. Кто связан?
Не уверен, что это атака DOS или только один IP-адрес нарушает соединение?
Введите следующую команду для ссылки://linux/list-all-ip-address-connected-to-your-server/[вывести список всех IP-адресов, подключенных к моему серверу].
#netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head 215 122.163.226.243 189 114.198.236.100 156 120.63.179.245 38 141.0.9.20 37 49.248.0.2 37 153.100.131.12 31 223.62.169.73 30 65.248.100.253 29 203.112.82.128 29 182.19.66.187
Ниже 3 IP-адресов принимают 150 соединений, что действительно ненормально, что они пытаются сделать?
215 122.163.226.243 189 114.198.236.100 156 120.63.179.245
P.S Google выше IP-адресов, 2 из Индии, 1 из Пакистана .
3. нулевой маршрут
Я полагал, что выше 3 IP-адресов являются основной причиной проблемы высокой нагрузки, пусть нулевые маршрутизируют эти IP-адреса, так что все входящие соединения с этих 3-х IP-адресов будут отброшены или проигнорированы.
null route command
route add 122.163.226.243 gw 127.0.0.1 lo route add 114.198.236.100 gw 127.0.0.1 lo route add 120.63.179.245 gw 127.0.0.1 lo
Альтернативная команда + Вы также можете использовать следующую команду, чтобы обнулить IP-адреса, оба делают одно и то же.
route add -host 122.163.226.243 reject route add -host 114.198.236.100 reject route add -host 120.63.179.245 reject
Использует
netstat -nr
для отображения всех маршрутов, чтобы убедиться, что он добавлен в таблицу маршрутов.
# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 114.198.236.100 127.0.0.1 255.255.255.255 UGH 0 0 0 lo 120.63.179.245 127.0.0.1 255.255.255.255 UGH 0 0 0 lo 122.163.226.243 127.0.0.1 255.255.255.255 UGH 0 0 0 lo
Готово, подождите несколько секунд и снова проверьте загрузку сервера, теперь он вернулся в нормальное состояние.
#top load average: 1.08, 5.30, 30.63
Проверьте все подключенные IP-адреса еще раз, IP-адреса этих атакующих исчезли:
#netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head 40 141.0.9.20 37 49.248.0.2 36 153.100.131.12 31 223.62.169.73 25 65.248.100.253 29 203.112.82.128 29 182.19.66.187 38 142.0.9.20 28 141.121.9.20 38 141.0.9.201
Готово.
4. Удалить нулевой маршрут
Чтобы удалить существующие IP-адреса с нулевым маршрутом, используется
route delete
.
route delete 122.163.226.243 route delete 114.198.236.100 route delete 120.63.179.245
Рекомендации
, ссылка://linux/list-all-ip-адреса-подключены к вашему серверу/[список всех
IP-адреса, подключенные к серверу], https://www.liquidweb.com/kb/basic-dosddos-mitigation-with-the-csf-firewall/ [Basic
Снижение DoS/DDoS с помощью CSF Firewall]
ссылка://тег/DOS/[DoS]ссылка://тег/IP-адрес/[IP-адрес]ссылка://тег/нулевой маршрут/[нулевой маршрут]