Если вы применяете WNAM как средство корпоративной авторизации, и хотите использовать динамической профилирование устройств, вам понадобится установить и включить агенты профилирования. Это дополнительные сервисы, запускаемые совместно с основной службой WNAM, позволяющие взаимодействовать с внешними источниками данных, таких как:
- DHCP релеи и DHCP клиенты для профилирования на основе фингерпринтов (информации об удаленном устройстве) DHCP-запросов;
- устройства, опрашиваемые по протоколу SNMP для профилирования на основе информации о CDP и LLDP статусе Ethernet портов;
- устройства, опрашиваемые по протоколу SNMP для профилирования на основе информации о производителе и свойствах самого устройства;
- сканеры TCP/IP портов, работающие на основе утилиты NMAP.
Настройка агента DHCP-профилирования
От имени пользователя с правами root необходимо выполнить следующие команды:
cd /home/wnammkdir -p dhcp-profiler/logscd dhcp-profilermv /root/wnam-dhcp-profiler-agent . # укажите верный путь до файла, который вам передалиchown -R wnam:wnam *chmod +x wnam-dhcp-profiler-agentcat << EOF > /etc/systemd/system/dhcp-profiler.service[Unit]
Description=WNAM Profiler DHCP Probe Agent[Service]
WorkingDirectory=/home/wnam/dhcp-profiler
ExecStart=/home/wnam/dhcp-profiler/wnam-dhcp-profiler-agent -i eth0 -s 127.0.0.1
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
User=wnam
Group=wnamStandardOutput=append:/home/wnam/dhcp-profiler/logs/console.log
StandardError=append:/home/wnam/dhcp-profiler/logs/console.logAmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN[Install]
WantedBy=multi-user.targetEOF
Затем необходимо отредактировать любым редактором файл /etc/systemd/system/dhcp-profiler.service, указав имя интерфейса, на котором требуется собирать DHCP-запросы, вместо "eth0":
systemctl enable dhcp-profiler.service
Также возможно запустить агента на другом сервере (не на том, на котором работает WNAM). В этом случае следует указать IP-адрес сервера WNAM в параметре "-s". Коммуникация будет проходить по порту udp:20001. Теперь вы можете запустить сервис, и начать просмотр его лога:
systemctl start dhcp-profiler.servicesystemctl status dhcp-profiler.servicetail -f /home/wnam/dhcp-profiler/logs/console.log
Проведите попытку получения DHCP-данных. В лог-файле должны отобразиться строки, соответствующие времени запроса, МАС-адресу и источнику:
2023:05:11 17:26:11: source address: DA:5F:B1:E0:C4:CB, relay address: 0.0.0.0
2023:05:11 17:26:11: source address: DA:5F:B1:E0:C4:CB, relay address: 172.16.130.38
В это же время в файле wnam.log должна отобразиться информация о парсинге сервисом профилирования пакетов от DHCP-агента:
17:31:28.124 DEBUG [ProfilingService.java:379] - DhcpMessagePacket from /172.16.130.13:3695517:31:28.125 INFO [ProfilingService.java:385] - DhcpMessagePacket from: DA:5F:B1:E0:C4:CB17:31:28.125 INFO [ProfilingService.java:408] - ** DHO_DHCP_PARAMETER_REQUEST_LIST: 1, 121, 3, 6, 15, 114, 119, 25217:31:28.126 INFO [ProfilingService.java:415] - ** matched dhcp-param-list check: Check(super=ProfilerObject(id=83, name=Apple-DeviceRule3check1), description=Apple-DeviceRule3check1, attributeName=dhcp-parameter-request-list, attributeValue=1, 121, 3, 6, 15, 114, 119, 252, operator=EQUALS, type=DHCP)17:31:28.127 INFO [ProfilingService.java:430] - ** matched oui check: Check(super=ProfilerObject(id=85, name=Apple-DeviceRule1Check1), description=Apple-DeviceRule1Check1, attributeName=OUI, attributeValue=Apple, operator=CONTAINS, type=MAC)17:31:28.128 INFO [ProfilingService.java:430] - ** matched oui check: Check(super=ProfilerObject(id=805, name=FreeBSD-Workstation-Rule2-Check2), description=Condition for FreeBSD-Workstation, based on MAC:OUI, attributeName=OUI, attributeValue=Apple, Inc., operator=NOTEQUALS, type=MAC)17:31:28.128 INFO [ProfilingService.java:430] - ** matched oui check: Check(super=ProfilerObject(id=108, name=Applera-Check), description=Check for Applera Holding B.V. Singapore Operations, attributeName=OUI, attributeValue=Applera Holding B.V. Singapore Operations, operator=EQUALS, type=MAC)