Что такое перенаправления ICMP и должны ли они быть заблокированы?

22

После включения UFW и аудитора безопасности Tiger, я вижу предупреждения, говорящие:

The system accepts ICMP redirection messages

Что такое сообщения перенаправления ICMP? Должны ли они быть отключены в целях безопасности? Если да, то как правильно сделать это с помощью брандмауэра UFW?

jrdioko
источник

Ответы:

28

Согласно этой статье

В некоторых случаях ICMP-пакеты могут использоваться для атаки на сеть. Хотя такого рода проблемы сегодня не распространены, бывают ситуации, когда такие проблемы случаются. Это имеет место с перенаправлением ICMP или пакетом ICMP типа 5. Перенаправления ICMP используются маршрутизаторами для определения лучших маршрутов маршрутизации из одной сети в зависимости от выбора хоста, поэтому в основном это влияет на способ маршрутизации пакетов и места назначения.

Через перенаправления ICMP хост может выяснить, к каким сетям можно получить доступ из локальной сети, и какие маршрутизаторы следует использовать для каждой такой сети. Проблема безопасности связана с тем фактом, что пакеты ICMP, включая перенаправление ICMP, чрезвычайно легко подделать, и злоумышленнику было бы довольно легко подделать пакеты перенаправления ICMP.

Атакер может затем в основном изменить таблицы маршрутизации вашего хоста и перенаправить трафик на внешние хосты по выбранному им пути; новый путь поддерживается маршрутизатором в течение 10 минут. Из-за этого факта и рисков безопасности, связанных с таким сценарием, все еще рекомендуется отключать сообщения перенаправления ICMP (игнорировать их) со всех общедоступных интерфейсов.

Вам нужно отредактировать файл /etc/sysctl.conf

и изменить

###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0

К

###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
net.ipv4.conf.all.send_redirects = 0

Затем примените вышеуказанные модификации параметров ядра с помощью:

$ sudo sysctl -p
Маниш Синха
источник
Спасибо. Возможно, вам тоже нужно раскомментировать эти строки, нет? :)
jrdioko
О да. Моя ошибка. Обновил это.
Маниш Синха
4
Вы должны сделать это, чтобы принять изменения: sudo sysctl -p
Я не думаю, что установка net.ipv4.conf.all.accept_redirects = 0 делает что-либо; обратите внимание на or_ в файле. Если я правильно читаю secure_redirects [ frozentux.net/ipsysctl-tutorial/chunkyhtml/… ], это переопределяет net.ipv4.conf.all.accept_redirects = 0
gerardw
3

Имейте в виду, что если переадресация отключена (мы не маршрутизатор), то значение net.ipvX.conf.all.accept_redirects будет равно значению интерфейса ORed, например, net.ipvX.conf.eth0.accept_redirects. send_redirects всегда ORed.

Полное исправление будет тогда:

net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0

Для использования настроек по умолчанию сетевые интерфейсы должны быть настроены заново.

Marek
источник