Блокировка IP-адреса атакующего при помощи null route
Источник - http://www.ashep.org/2010/blokirovka-ip-adresa-atakuyushhego-pri-pomoshhi-null-route/
После того, как вы определили IP-адрес источника вашей головной боли (поздравляю, если он всего один), следующим логичным действием будет блокировка запросов с этого адреса, а также ответного трафика с вашего сервера. Сделать это можно, добавив соответствующее правило в брэндмауэр, а можно использовать для этой цели таблицу маршрутизации и т. н. null route. В сегодняшней короткой заметке рассказ о том, как это делается в Linux.
Null route или, как его ещё называют, blackhole route — это запись в таблице маршрутизации, которая направляет трафик «в никуда». Таким образом, достигается эффект, подобный при использовании брэндмауэра — соответствующие правилу пакеты фактически не достигают пункта назначения.
Допустим, IP-адрес, обмен трафиком с которым вы хотите запретить — 193.19.153.3. Добавление нулевого маршрута в таблицу маршрутизации будет выглядеть так:
# ip route add blackhole 193.19.153.3
Вышеприведённым правилом весь трафик, направленный в ответ к атакующему хосту, будет блокирован, что не даст ему возможности установить соединение. Если после добавления указанного маршрута попробовать
$ ping 193.19.153.3
или
$ ip route get 192.19.153.3
получим
RTNETLINK answers: Network is unreachable
чего и требовалось получить. Чтобы удалить добавленный маршрут, достаточно простой команды:
# ip route del blackhole 193.19.153.3
Я далёк от того, чтобы советовать этот способ в качестве альтернативы нормально-настроенному брэндмауэру. Боже упаси. Однако, когда нужно временно блокировать обмен трафиком с определённым хостом/сетью, этот способ мне более симпатичен, поскольку лишний раз лезть в правила настроенного брэндмауэра — занятие сомнительной полезности. Хотя, как всегда, решать вам.
Обсуждение