Назад | Перейти на главную страницу

Отравление ARP обнаружено на наших ноутбуках с Linux и клиентах VMware

У нас есть повторяющаяся проблема в нашей офисной сети, когда брандмауэр сообщает об атаках с отравлением ARP. Источником атак обычно являются наши ноутбуки с Ubuntu 14.04 или виртуальные машины VMware, работающие поверх них.


Изменить, дополнительная информация:

Мы запускаем антивирус ESET и локальный брандмауэр на каждом портативном компьютере, который обычно вызывает предупреждение ARP Poisoning. Все ноутбуки с Windows находятся под контролем домена, а компьютеры с Linux - нет.


Что является хорошей стратегией, чтобы снова привести эти машины в соответствие и предотвратить дальнейшие предупреждения об атаках ARP?

Если эти устройства имеют несколько сетевых интерфейсов с IP-адресом в одной подсети, возможно, вы страдаете от ARP Flux:

Когда Linux-сервер подключен к сегменту сети с несколькими сетевыми картами, может возникнуть потенциальная проблема с отображением адреса канального уровня в IP-адрес. Машина может отвечать на запросы ARP от обоих интерфейсов Ethernet.

На машине, создающей запрос ARP, эти множественные ответы могут вызвать путаницу или, что еще хуже, недетерминированное заполнение кэша ARP. Это явление, известное как поток ARP [13], может привести к, возможно, загадочному эффекту, заключающемуся в том, что IP недетерминированно мигрирует через несколько адресов канального уровня.

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

Если у вас есть система, которая обнаруживает изменение сопоставления IP> MAC-адресов, устройство, которое объявляет два разных MAC-адреса для одного и того же IP-адреса, может вызвать срабатывание этой системы.

В качестве теста вы можете изменить arp_ignore переменная sysctl на интерфейсах и посмотрите, остановит ли это предупреждения. Установка значения этой переменной на 1 (по умолчанию 0) гарантирует, что только интерфейс, который содержит целевой IP-адрес запроса ARP, будет отвечать.

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

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/default/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
...
echo 1 > /proc/sys/net/ipv4/conf/eth6/arp_ignore

Приведенные выше изменения будут отменены при перезагрузке, поэтому, если это решит вашу проблему, вы можете сделать изменение постоянным, добавив новый файл sysctl conf:

user@host: ~$ cat /etc/sysctl.d/90-no-arp-flux.conf 
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.default.arp_ignore=1
net.ipv4.conf.eth0.arp_ignore=1
net.ipv4.conf.eth1.arp_ignore=1

Загрузите новый файл conf с помощью sysctl -p /etc/sysctl.d/90-no-arp-flux.conf