IP-spoofing

Материал из Xgu.ru

Перейти к: навигация, поиск

IP-spoofing — атака, заключающаяся в использовании в IP-пакетах, отправляемых жертве, в качестве обратного адреса IP-адрес хоста, которому она доверяет; легко осуществима в UDP, в некоторых случаях возможна в TCP-соединениях.

На сетевом уровне атака частично предотвращается с помощью фильтра пакетов. Он должен быть настроен таким образом, чтобы не пропускать пакеты пришедшие через те сетевые интерфейсы, откуда они прийти не могли.

Грубо говоря, если у нас на одном (внутреннем) интерфейсе стоят адреса 192.168.x.x, а на втором (внешнем) какой-то другой адрес. Вдруг через внешний интерфейс приходит пакет с обратным адресом 192.168.x.x (адресом внутренней сети). Это подозрительно, и фильтр может отбросить такой пакет.

В Linux фильтрация трафика на интерфейсе осуществляется автоматически, и регулируется с помощью переменной ядра rp_filter:

echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter 

Вместо all могут указываться имена интерфейсов, на которых осуществляется фильтрация. В переменную могут записываться Значения 0, 1 или 2.

  • 0 — не выполнять проверку вообще;
  • 1 — проверять непосредственно подключённые сети;
  • 2 — проверять сети по таблице маршрутизации.

Пример настройки в ipfw, фильтре пакетов FreeBSD:

ipfw add 100 allow ip antispoof
ipfw add 1000 deny all

Пакеты, прошедшие проверку правилом antispoof, пропускаются, а остальные — отбрасываются (правило antispoof проверяет на соответствие только непосредственно подключёным сетям; для проверки по таблице маршрутизации используется verrevpath).

Пример настройки для маршрутизаторов Cisco:

ip verify unicast reverse-path
Источник — «http://xgu.ru/wiki/IP-spoofing»