Защита от подмены MAC-адреса в домене Xen

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

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


Идея: Andy Smith <andy AT strugglers.net>

Короткий URL: xen/ebtables

На этой странице описано каким образом в домене 0 организовать защиту от MAC-спуфинга (подмены MAC-адресов) выполняющегося изнутри пользовательских доменов Xen. Аналогичный метод может использоваться для защиты от подмены адресов изнутри эмулируемой машины QEMU и от любых хостов (виртуальных или реальных), соединённых через Linux Bridge.


[править] Проблема

Администратор домена U может менять MAC-адрес на сетевых картах своего домена и перехватывать трафик, адресованный другим доменам.

[править] Решение

Icon-caution.gif

Не путайте MAC-spoofing, и ARP-spoofing. Описанный метод позволяет защитится исключительно от MAC-spoofing'а.

Описанное решение фактически является аналогом функции port-security для виртуального моста.

Запретить домену U отправлять трафик с любыми адресами, за исключением своего можно выполнив такую команду:

%# ebtables -t nat -A PREROUTING -i some-vif -s ! aa:00:00:6a:38:0c --log-level debug --log-prefix 'SPOOF:' -j DROP                                                                                                 

В этом примере легальный адрес домена aa:00:00:6a:38:0c.

[править] Проверка

Злоумышленник может изменить адрес внутри домена U.

Для этого, например, подключиться к консоли домена и сменить MAC-адрес:

%# ifdown eth0                                                                                                                                                                                                    
%# ifconfig eth0 hw ether 00:16:4e:14:ae:10                                                                                                                                                                       
%# ifup eth0                                                                                                                                                                                                      
                                                                                                                                                                                                               

Вновь установленный MAC-адрес:

   00:16:4e:14:ae:10

В домене 0 syslog запишет следующие сообщения в журнал:

Nov 25 07:28:03 kwak kernel: SPOOF: IN=some-vif OUT= MAC source = 00:16:4e:14:ae:10 MAC dest = 33:33:00:00:00:16 proto = 0x86dd                                                                                  
Nov 25 07:28:04 kwak kernel: SPOOF: IN=some-vif OUT= MAC source = 00:16:4e:14:ae:10 MAC dest = 33:33:ff:14:ae:10 proto = 0x86dd                                                                                  
                                                                                                                                                                                                               

Если MAC-адрес, установленный в ходе подмены, использовался на другом домене, он не заметит подмены и, у него не будет сообщений о дубликате MAC-адреса, и связь с ним никак не пострадает.

Xen
Xen

Виртуализация и паравиртуализация
Эмуляция | Виртуализация | Паравиртуализация | Рекурсивная виртуализация
Паравиртуальные драйверы | Виртуализация ввода/вывода

Общие вопросы по Xen
Аппаратные требования Xen | Поддержка Xen операционными системами | Поддерживаемые аппаратные архитектуры |
Примеры использования Xen | Сравнение виртуальных машин |
Хостинг на Xen
Альтернативы Xen

свободные: KVM | LXC | OpenVZ | VServer | QEMU | VirtualBox
проприетарные: Hyper-V | VMware ESX Server

Технические вопросы
Инсталляция Xen | Конфигурационный файл домена
ОС в Xen: Linux small icon.png Linux | Solaris small icon.png OpenSolaris | Freebsd small icon.png FreeBSD | Openbsd small icon.png OpenBSD | Netbsd small icon.png NetBSD | Windows xp small icon.png Windows XP | Windows vista small icon.png Windows Vista
Устройства: Блочные | USB | SCSI | Сеть | PV-драйверы для Linux | PV-драйверы для Windows | Консоль

Распределение ресурсов между доменами | Перенос системы внутрь Xen | HVM -> PV

Управление и кластеризация | Enomalism | Xen+DRBD | Ganeti | Convirt 2.0 | SkyCover Infrastructure