Создайте статическую ARP-таблицу

Как мы только что видели, если кто-либо исказит ARP-таблицу машин вашей сети, то он сможет натворить много бед. Мы узнали, как распознать вторжение, но как предотвратить его?
Одним из способов предотвратить появление неприятных последствий вторжения в сеть является создание статических записей ARP-таблиц для всех устройств локального сегмента сети. После этого ядро будет игнорировать ARP-ответы с любого IP-адреса и будет использовать только указанные МАС-адреса.
Для этого можно воспользоваться командой агр, позволяющей непосредственно манипулировать записями ARP-таблиц ядра. Одна статическая запись добавляется командой
аrр -s ip-адрес mас-адрес
Если известно, что IP-адресу 192.168.0.65 соответствует МАС-адрес 00:50:ВА85: 85:СА, то команда должна выглядеть следующим образом:
# аrр -s 192.168.0.65 00:50:Ьа:85:85:са
Процесс выполнения множества записей может занять много времени. Для большей эффективности необходимо добавить запись для каждого устройства сети на каждый узел, позволяющий создавать ARP-таблицы.
К счастью, большинство версий команды аrр в качестве входных параметров для создания статических записей могут использовать файл. В Linux это реализуется с помощью ключа -f Необходимо лишь сгенерировать файл, содержащий пары MAC- и IP-адресов, который потом можно скопировать на все узлы сети.
Для упрощения этой операции можно использовать черновой сценарий на языке Perl:
#! /usr/bin/perl #
# gen_ethers. pi <1тогц ip> <to ip>

Этот сценарий поочередно «прозванивает» (ping) IP-адреса из определенного диапазона. В результате в ARP-таблице машины будет представлен каждый активный IP-адрес. После «прозвонки» IP-адресов сценарий просматривает ARP-таблицу и распечатывает пары MAC/IP-адресов в формате, удобном для помещения их в файл. Этот сценарий написан для Linux, но будет работать и в других Unix-подобных ОС. Например, если необходимо сгенерировать файл для всех IP-адресов от 192.168.1.1 до 192.168.1.255 и сохранить результаты в /etc/ethers, то необходимо выполнить следующий сценарий:
# ./gen_ethers 192.168.1.1 192.168.1.255 > /etc/ethers
При использовании агрс ключом -f для создания статических записей автоматически используется файл /etc/ethers, однако можно указать и любой другой. Например, для сохранения записей в /root/arp_entries команда будет выглядеть так:
# arp -f /root/arp_entries

Этот сценарий не является идеальным, но он может сэкономить много времени. После того как создан файл с парами MAC/IP-адресов, его можно скопировать на другие узлы и добавить команду агр в сценарий загрузки системы для его автоматического выполнения при загрузке. Основной недостаток этого метода заключается в том, что на момент исполнения сценария все устройства сети уже должны быть включены, в противном случае они не будут внесены в список. Кроме того, при частой смене машин в сети придется переделывать и заново распространять файл, что может занять больше времени, чем позволяет выиграть сам метод. Но этот способ надежно защищает от атак с искажением ARP серверы и устройства, которые не меняют свои IP- и МАС-адреса.

Метки:

Статьи по теме