Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Защита от arp-спуфинга

Рубрика: Безопасность -> Топология сети
Метки: | |
Понедельник, 2 февраля 2009 г.
Просмотров: 9651

Известно, что у каждого компьютера есть динамическая таблица соответствия IP-адресов МАС-адресам сетевых устройств. ARP-спуффинг опасен тем, что с помощью поддельных ARP-ответов крекер может заполнить эту таблицу неправильными данными, в результате чего нужный ему трафик будет перехвачен на его компьютере. Бороться с ARP-спуффингом можно с помощью статических записей в ARP-таблице. Статические записи хранятся в файле и загружаются из него во время загрузки операционной системы. Они не могут быть перезаписаны ARP-ответами из сети.


     Для управления ARP-таблицей в Linux служит команда агр. Выполняя ее без аргументов, можно увидеть содержимое ARP-таблицы:

# /sbin/arp

Address      HWtype HWaddress      Flags Mask   Iface

172.16.3.19  ether  00:1B:FC:CB:0F:AA C         eth0

172.16.3.48  ether  00:11:2F:9B:64:FD C         eth0

172.16.3.102 ether  00:18:F3:3A:F0:C1 C         eth0

172.16.3.140 ether  00:0B:CD:EE:71:14 C         eth0

172.16.3.35  ether  00:20:ED:7B:C2:BD C         eth0

172.16.3.254 ether  00:10:22:FF:70:81 C         eth0

172.16.3.67  ether  00:04:79:67:6F:93 C         eth0

172.16.3.87  ether  00:1B:FC:86:58:05 C         eth0

172.16.3.55  ether  00:80:48:B7:4E:87 C         eth0

172.16.3.30  ether  00:14:85:48:C1:10 C         eth0

172.16.3.22  ether  00:14:85:15:1B:F2 C         eth0

     С помощью опции -f можно загрузить из внешнего файла статические записи. По умолчанию (если вы дальше опции -f не указали название файла) используется файл /etc/ethers . Его формат чрезвычайно прост: каждая строка - это одна статическая запись, запись состоит из IP-адреса и МАС-адреса, разделенных пробелом:

172.16.3.19  00:1B:FC:CB:0F:AA

172.16.3.48  00:11:2F:9B:64:FD

# arp -f /etc/ethers

# arp

Address     HWtype HWaddress      Flags Mask   Iface

172.16.3.19 ether  00:1B:FC:CB:0F:AA C         eth0

172.16.3.48 ether  00:11:2F:9B:64:FD CM        eth0

     Флаг С означает, что запись завершена, а М - указывает на статическую запись.

     Недостаток этого метода - в его преимуществе: IP-адреса жестко привязаны к МАС-адресам. Из-за того, что файл /etc/ethers создается на каждом компьютере сети, нужно будет редактировать данный файл на каждом компьютере, при любой замене адаптера или IP-адреса компьютера.

     Если у вас есть NIS, это облегчает задачу. Можно настроить NIS-сервер на автоматическое копирование файла /etc/ethers на все машины сети. У сервера NIS тоже есть уязвимости. Если вы хотите использовать статические ARP-записи, то их нужно использовать для каждого компьютера сети, иначе все равно остается возможность ARP-спуффинга. То есть или все, или ни одного - если хотя бы один компьютер не используют статические записи, остается возможность взлома всей сети.

     Когда вы выходите в Интернет с помощью обычного модема, вы должны подумать о защите модемного соединения. Данные, которые передаются по модему, одинаково передаются по сети Ethernet (как в сети без коммутаторов). Модемное соединение используется многими компьютерами, а не только вашим.

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

     Производители модемов потратили немало усилий, чтобы никто не мог вмешаться в работу модема. Все же имеются много способов обойти эту защиту: модем можно перевести в разнородный режим. Эти способы зависят от прошивки микропрограммного обеспечения, следовательно они действительны только для определенной модели модема, поэтому он не получил широкого распространения. Информацию об этом можно найти в любом поисковике, например Google.

     Сети, основанные на кабельных модемах, работают так же, как и Ethernet-сети, они могут получать широковещательный трафик от других компьютеров (отдельные протоколы, к примеру NetBIOS и TCP, могут отправлять широковещательные пакеты). Данный трафик рекомендуется отфильтровывать на вашем шлюзе, поскольку он может отрицательно отразиться на клиентах и серверах вашей сети.