Отравление ARP обнаружено на наших ноутбуках linux и клиентах vmware

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


Редактировать, больше информации:

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


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

1 ответ

Решение

Если эти устройства имеют несколько сетевых интерфейсов, которые имеют 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

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

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

Другие вопросы по тегам