betaВсеукраинский портал разработчиков и пользователей свободного программного обеспечения. |
||
| Поиск | ||
Рассылка |
Static ARP защита от подмены IP и MAC28.02.10 /Всё ниже описаное происходило на FreeBSD 8.0 Release. static arp позволяет вручную задавать записи соответствия IP и MAC. В обычном режиме работает так называемый "динамический" arp, записи о котором обновляются каждые 20 минут. Это значение можно посмотреть так: #sysctl net.link.ether.inet.max_age а изменить вот так: # sysctl net.link.ether.inet.max_age=10 Теперь вернёмся к static arp. Мы будем настраивать так, что бы только избранные пары IP-MAC могли общаться с нашим сервером. static arp включается на каждой сетевой карте отдельно. Что бы его включить делаем так: #ifconfig le0 staticarp Что бы посмотреть, действительно ли у нас всё применилось, выполним команду: # ifconfig le0 Наличие слова STATICARP в угловых скобках говорит о том, что мы сделали всё верно. Теперь можно переходить к составлению пар IP-MAC. Создаём файл /usr/local/etc/arp.list такого содержания (допускаются комментарии через '#'): 10.10.10.10 00:0c:32:8e:d5:50 pub то есть сопоставляем IP - MAC. После этого нужно очистить текущую таблицу arp и загрузить новую, из файла. Если вы находитесь непосредственно у сервера, на консоле, то волноваться нечего, ибо в случае чего можно вернуть всё обратно. Но если же вы далеко и подключены через ssh, будьте осторожны и внимательны, не забудьте добавить все нужные IP и MAC. Теперь переходим собственно к команде очистки и наполнения arp-таблицы: #((arp -a -d && arp -f /usr/local/etc/arp.list ) || ifconfig le0 -staticarp) & Я на всякий случай добавил отключение staticarp, если что-то пойдёт не так. Запускать нужно именно в фоне, ибо в момент запуска очищается таблица и вас выбрасывает из сессии. Поэтому рекомендую работать в "скринах", что бы потом просто подключиться к сессии. После этого смотрим arp-таблицу: $arp -a Как видим, у нас только те адреса, которые указаны в файле. Что бы после ребута у нас ничего не слетало, сделаем следующее. В /etc/rc.conf в строку, где определяется адрес интерфейса добавим параметр staticarp: ifconfig_le0="10.10.10.10/24 staticarp" ну и создадим стартовый скрипт для очистки и наполнения arp-таблицы: $ cat /usr/local/etc/rc.d/static_arp.sh Сделаем его исполняемым и поместим в папку /usr/local/etc/rc.d. После этого можно полноценно работать. При добавлении нового адреса нет надобности использовать данный скрипт, ибо он обрывает все соединения. Лучше всего добавлять вручную (естественно, что не забываем добавлять его и в файл!). Делается это так : #arp -s 10.10.10.33 00:01:52:8d:f9:54 pub Вот и всё. По материалам: Комментарии |
|
|
© 2004-2009 Журнал "Root UA" - свидетельство СМИ: КВ №14786-3757Р
Газета "FOSS News" - свидетельство СМИ: ОД №1355-236-Р При использовании материалов портала ссылка на Root.UA обязательна, для интернет-изданий – гиперссылка, не закрытая для индексации поисковыми системами. sitenews |
||
Добавить комментарий