Защита от arp-спуфинга
Метки: arp | arp-table | modem
Понедельник, 2 февраля 2009 г.
Просмотров: 3260
Известно, что у каждого компьютера есть динамическая таблица соответствия 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, могут отправлять широковещательные пакеты). Данный трафик рекомендуется отфильтровывать на вашем шлюзе, поскольку он может отрицательно отразиться на клиентах и серверах вашей сети.