Если вы применяете WNAM как средство корпоративной авторизации, и хотите использовать динамической профилирование устройств, вам понадобится установить и включить агенты профилирования. Это дополнительные сервисы, запускаемые совместно с основной службой WNAM, позволяющие взаимодействовать с внешними источниками данных, таких как:

  • DHCP релеи и DHCP клиенты для профилирования на основе фингерпринтов (информации об удаленном устройстве) DHCP-запросов;
  • устройства, опрашиваемые по протоколу SNMP для профилирования на основе информации о CDP и LLDP статусе Ethernet портов;
  • устройства, опрашиваемые по протоколу SNMP для профилирования на основе информации о производителе и свойствах самого устройства;
  • сканеры TCP/IP портов, работающие на основе утилиты NMAP.

Настройка агента DHCP-профилирования

От имени пользователя с правами root необходимо выполнить следующие команды:

cd /home/wnam
mkdir -p dhcp-profiler/logs
cd dhcp-profiler
mv /root/wnam-dhcp-profiler-agent . # укажите верный путь до файла, который вам передали
chown -R wnam:wnam *
chmod +x wnam-dhcp-profiler-agent
cat << 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=wnam
StandardOutput=append:/home/wnam/dhcp-profiler/logs/console.log
StandardError=append:/home/wnam/dhcp-profiler/logs/console.log
AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
[Install]
WantedBy=multi-user.target
EOF

Затем необходимо отредактировать любым редактором файл /etc/systemd/system/dhcp-profiler.service, указав имя интерфейса, на котором требуется собирать DHCP-запросы, вместо "eth0":

systemctl enable dhcp-profiler.service

Также возможно запустить агента на другом сервере (не на том, на котором работает WNAM). В этом случае следует указать IP-адрес сервера WNAM в параметре "-s". Коммуникация будет проходить по порту udp:20001. Теперь вы можете запустить сервис, и начать просмотр его лога:

systemctl start dhcp-profiler.service
systemctl status dhcp-profiler.service
tail -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:36955
17:31:28.125 INFO [ProfilingService.java:385] - DhcpMessagePacket from: DA:5F:B1:E0:C4:CB
17:31:28.125 INFO [ProfilingService.java:408] - ** DHO_DHCP_PARAMETER_REQUEST_LIST: 1, 121, 3, 6, 15, 114, 119, 252
17: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)


  • No labels