====== Могут ли использовать чужой IP адрес в сети, как это обнаружить и предотвратить ====== ===== Реклама ===== * Казалось бы, что ответ очевидный, кто-то видел сообщения о конфликте IP адресов, кто-то даже знает про стандарт RFC 5227 (Address Conflict Detection) но, он НЕ верный. Даже ИИ (LLM на весну 2026 года) не верит, что это возможно. Тем важнее будет убедиться, что "защита по IP" это иллюзия и не нужно использовать такие решения ===== Техническое задание ===== * Развернуть авторизованный доступ в интернет с использованием технологии Captive portal * Убедиться, что есть способ обойти авторизацию и научиться фиксировать этот факт * Настроить авторизованный доступ с использованием технологии EAP 802.1x ===== Запись вебинара ===== * Ютуб: * Тэги: ACD, IP, MAC, ARP, RFC5227, Captive portal, PPPoE, 802.1x, EAP ===== Шаг 1. Что у нас есть, для начала ===== * [[Сети Cisco и Linux у Вас дома]] (cisco router, cisco switch, [[https://val.bmstu.ru/unix/img/My%20Documents/ubuntu_26.04_01.ova|Ubuntu 26]] server, win10 clientN + [[Chrome]]) ===== Шаг 2. Подготовка к новому сценарию ===== * Убираем маршрут в LAN на gate.isp.un или можно его выключить и подключить cisco router через "мост" с ip адресом через домашний dhcp/static адрес * Добавляем NAT на Cisco Router ===== Шаг 3. Настраиваем авторизованный доступ в Интернет через Captive Portal ===== * Добавляем "злоумышленника" - [[https://val.bmstu.ru/unix/img/My%20Documents/lin%20client1%20deb13.ova|lin client1 deb13.ova]], подключаемся к его [[Оборудование уровня 3 Cisco Router#Настройка DHCP сервиса|ip]], устанавливаем [[Настройка сети в Linux#Команды для диагностики|arp-scan]], ??? может когда подменим адрес? добавляем [[Настройка сети в Linux#Использование NetworkManager]] (понадобится после "перевоспитания" для настроек PPPoE и EAP подключений) * [[Сервис FreeRADIUS]] на server * Заменяем Cisco Router на [[Сервис Captive Portal#pfSense]] c Captive Portal, [[Пакет OpenSSL#Создание самоподписанного сертификата]] wild сертификата, импортируем на windows (на linux не обязательно он будет "подделывать" адрес), открываем доступ в инет для server * Подключемся к Internet через win win clientN * Разворачиваем [[Сервис arpwatch]] на server * На client1, используя [[Настройка сети в Linux#Команды для диагностики]], выясняем IP/MAC clientN * С помощью [[Настройка сети в Linux#Настройка параметров с использованием утилиты ip]] подменяем IP (dhcpcd остановится автоматически, можно не отключать [[Настройка сети в Linux#Динамическая настройка ip параметров]]) * Смотрим журналы [[Сервис arpwatch]] и [[Сервис Captive Portal#pfSense]] * С помощью [[Настройка сети в Linux#Настройка параметров с использованием утилиты ip]] подменяем MAC (добавляем dns в resolv.conf) * Наблюдаем прекращение появления сообщений в журналах [[Сервис arpwatch]] и [[Сервис Captive Portal#pfSense]] но видим изменения [[Оборудование уровня 2 Cisco Catalyst#Просмотр таблицы mac адресов]] Cisco Catalyst (записать вебинар про анализ журналов в zabbix) Apr 29 08:17:54 192.168.32.91 118: Apr 29 08:17:53: %SW_MATM-4-MACFLAP_NOTIF: Host 00e0.fc09.bcf9 in vlan 456 is flapping between port Gi1/0/4 and port Gi1/0/3 * "Ужасаемся", скачивая [[Утилита Wireshark]] на win clientN (может прерываться, см [[Утилиты для тестирования сети#tcpdump]] tcpflags rst) и, "серфя" интернет или добавляя [[Настройка сети в Linux#Использование NetworkManager]] (пока не настраиваем) на lin client1 * Хорошая новость для сетей WiFi, заменяем switch на hub, подмена IP/MAC работает значительно хуже, причина - [[Утилиты для тестирования сети#tcpdump]] tcpflags rst "долетают" гораздо чаще. Плохая новость - Windows10 "видит" чужой трафик, но, в отличии от linux, не отправляет rst пакеты, что позволяет продолжать использовать ее IP/MAC, а так же параллельно работать с одним MAC/IP нескольким windows компьютерам, можно проверить, добавить win client2, у клона будет тот же MAC, получит тот же IP ===== Шаг 3. Настраиваем авторизованный доступ в Интернет через PPPoE ===== * выключаем pfSense и все client * Возвращаем "проводную сеть" (удалаем hub, включаем cisco switch) * Заменяем pfSense на linux gate ([[https://val.bmstu.ru/unix/img/My%20Documents/debian_13.1_64_02.ova|Debian 13]]) с dhcp и [[Сервис NAT]] для server * [[Сервис PPPoE]] * Пробуем подделать IP на lin client1, можно попробовать взять адрес из сети 192.168.100+X/24 * Нстраисаем PPPoE подключение lin client1 ===== Шаг 4. Настраиваем авторизованный доступ в LAN через 802.1х ===== * Выключаем gate и все client * Возвращаем "wifi", [[Оборудование уровня 3 Cisco Router]] с NAT * добавляем switch в DNS * Добавляем switch в клиенты [[Сервис FreeRADIUS]], * Настраиваем [[Оборудование уровня 2 Cisco Catalyst]] и [[AAA]], тестируем через telnet root@server:~# scp wild.crt student@192.168.15.1NN: * Настраиваем поддержку [[Сервис FreeRADIUS#EAP]] в FreeRADIUS * [[Оборудование уровня 2 Cisco Catalyst#Настройка 802.1x]] на switch портах клиентов * Показать необходимость импорта сертификата на win client2 (заодно, можно добавить пользователя student в radius) ===== Вопросы? ===== ===== Возврат к началу вебинара ===== * Восстановить снимки ??? root@server:~# sh conf/dns.sh 15 ??? root@server:~# vim /etc/bind/named.conf * Удалить конфигурацию switch * Удалить lincilent1, winclient2, pfSense, gate из VBox и GNS ===== Черновик ===== * не попало в сценарий DHCP [[Сервис DHCP#Сообщение от клиента, что кто-то уже занял IP]] ===== Шаблоны конфигураций ===== ==== Router ==== hostname router interface FastEthernet1/0 description connection to LAN ip address 192.168.15.1 255.255.255.0 no shutdown ! interface FastEthernet1/1 description connection to ISP ip address 172.16.1.15 255.255.255.0 no shutdown ip route 0.0.0.0 0.0.0.0 172.16.1.254 ip dhcp excluded-address 192.168.15.1 192.168.15.100 ip dhcp excluded-address 192.168.15.110 192.168.15.254 ip dhcp pool LAN network 192.168.15.0 255.255.255.0 default-router 192.168.15.1 dns-server 192.168.15.10 domain-name corp15.un lease 0 10 0 ip access-list standard ACL_NAT permit 192.168.15.0 0.0.0.255 deny any ip nat inside source list ACL_NAT interface FastEthernet1/1 overload interface FastEthernet1/0 ip nat inside interface FastEthernet1/1 ip nat outside ==== Switch ==== hostname switch interface VLAN1 ip address 192.168.15.3 255.255.255.0 no ip domain lookup ip host server 192.168.15.10 aaa new-model aaa authentication login CONSOLE none aaa authorization exec CONSOLE none enable secret cisco aaa authorization console line con 0 login authentication CONSOLE authorization exec CONSOLE privilege level 15 radius-server host server auth-port 1812 acct-port 1813 radius-server key testing123 aaa authentication login default group radius enable !--- aaa authentication dot1x default group radius * [[Оборудование уровня 2 Cisco Catalyst#Настройка 802.1x]]