В процессе обработки запросов система WNAM формирует различную диагностическую информацию, которая служит для определения причин возникновения ошибок того или иного типа подключения, диагностики клиентских настроек, настроек на оборудовании, а также правил аутентификации и авторизации.

Для того, чтобы эффективно решать проблемы работы WNAM, рекомендуется ознакомиться со словарем терминов, а также специализированной литературой по протоколам RADIUS, 802.1x, TLS.

Источников, которые администратор системы WNAM может использовать для траблшутинга, четыре.

1. Основной лог-файл системы (/home/wnam/logs/wnam.log)

В этом файле собирается общая диагностическая информация о системе, в том числе отработка подключений к гостевому порталу. Каждая строка имеет следующую структуру:

18:45:55.944 - время события

TRACE - уровень глубины отладки: TRACE, DEBUG, WARN, INFO, ERROR

[c.netams.wnam.documents.aaa.ASession:132] - ссылка на модуль и название исходного файла с указанием строки, выполнившей отладочный вывод

log [74] authorization - add tag 'EAP/AD сотрудники' to customer categories, MAC=58:91:CF:97:4D:7A - само информационное сообщение

Практически всегда в описании события присутствует какой-то идентификатор источника, например, IP-адрес контроллера беспроводной локальной вычислительной сети (БЛВС) или МАС-адрес абонентского устройства. Используя идентификаторы, можно проводить поиск и фильтрование (grep). Также можно исправить стандартные настройки протоколирования (добавить дату, изменить уровни отладки для компонентов или частоту ротации лога), создав и поправив файл /home/wnam/logback.xml. Загрузить файл логгинга со включенной трассировкой можно отсюда: logback.xml и положить в директорию: /home/wnam:

cd /home/wnam
wget -O logback.xml 'http://docs.netams.com/download/attachments/49677573/logback.xml?version=2&modificationDate=1659021808000&api=v2'

Необходимо добавьте путь до него в файле /home/wnam/wnam.conf:

export JAVA_OPTS="-Xms512m -Xmx4g -Djava.net.preferIPv4Stack=true \
   -Dlogging.config=/home/wnam/logback.xml \
   -Djavax.net.debug=all \
   -Djava.security.debug=access:stack:trustmanager"

Аналогично правкой файла logback.xml можно изменить частоту ротирования лог-файлов не по размеру (100М до сжатия), а по датам. Для этого необходимо исправить логгер WnamFileAppender на следующий код для того, чтобы логи ротировались по дням:

 <!-- see https://logback.qos.ch/manual/appenders.html -->
<appender name="WnamFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/wnam.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/wnam-%d{yyyy-MM-dd}.log.zip</fileNamePattern>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level [%file{36}:%line] - %msg%n</pattern>
</encoder>
</appender>

2. Консольный лог-файл системы (/home/wnam/logs/console.log)

Этот файл аналогичен файлу wnam.log, но в него попадает вывод с консоли (stdout) приложения WNAM. В данном лог-файле можно найти трейс стэка Java-приложения, который также может помочь (разработчикам WNAM) в траблшутинге:

18:44:44.975 WARN [o.a.t.util.scan.StandardJarScanner:175] - Failed to scan [file://home/.m2/oracle/database/jdbc/ojdbc8/21.5.0.0/oraclepki.jar] from classloader hierarchy
java.io.FileNotFoundException: /home\.m2\repository\com\oracle\database\jdbc\ojdbc8\21.5.0.0\oraclepki.jar (Не удается найти указанный файл)
            at java.util.zip.ZipFile.open(Native Method)

3. Лог-файлы RADIUS-сервера (/home/wnam/radiuslog)

В указанном каталоге расположены лог-файлы RADIUS-сервера WNAM, причем они расположены по папкам, соответствующим IP-адресам RADIUS-клиентов. В каждой папке находится набор файлов с именем вида ГГГГ-ММ-ДД.log.

Авто-удаление данных лог-файлов не производится.

Каждый лог-файл содержит набор RADIUS-атрибутов запросов к серверу WNAM, а также возвращаемые ответы. Все события (AUTH, ACCT, CoA) подлежат регистрации:

22:54:43.774 AUTH REQ : User-Name - wifitest
22:54:43.774 AUTH REQ : Service-Type - Framed-User
22:54:43.774 AUTH REQ : VSA: Cisco-AVPair: service-type=Framed
22:54:43.774 AUTH REQ : Cisco-AVPair-service-type - Framed
22:54:43.774 AUTH REQ : Framed-MTU - 1500
22:54:43.774 AUTH REQ : Called-Station-Id - 18-9C-5D-93-47-81
22:54:43.774 AUTH REQ : Calling-Station-Id - 28-D2-44-95-A7-A4
22:54:43.774 AUTH REQ : EAP-Message - 0x020b002b19001703010020223c217a29d375c84c41bd07fd131d3814478d12dfe8cccd7a30b0f90deddc63
22:54:43.774 AUTH REQ : Message-Authenticator - 0x885cb6ae2270c5513a86ee4ba59a4619
22:54:43.774 AUTH REQ : VSA: Cisco-AVPair: audit-session-id=AC108226000000F26219599A
22:54:43.774 AUTH REQ : Cisco-AVPair-audit-session-id - AC108226000000F26219599A
22:54:43.774 AUTH REQ : NAS-Port-Type - Ethernet
22:54:43.774 AUTH REQ : VSA: Unknown-Sub-Attribute-2: 0x4661737445746865726e6574302f31
22:54:43.774 AUTH REQ : NAS-Port - 50001
22:54:43.774 AUTH REQ : NAS-Port-Id - FastEthernet0/1
22:54:43.774 AUTH REQ : State - 0x7d2855622d623e6f393964386c5c4f3c
22:54:43.774 AUTH REQ : NAS-IP-Address - 172.16.130.38
22:54:43.801 AUTH RSP : Access-Accept, ID 164
22:54:43.802 AUTH RSP : AVP: MS-MPPE-Recv-Key = 0x72238fab10a003d396e3489fde9f2a641cd40e9770b86acf5ab3b98b5a9c1cb5
22:54:43.802 AUTH RSP : AVP: MS-MPPE-Send-Key = 0x79b589448fd5cdbaba11e8064861949b486142a3accc89f5b25f0b213788c94f
22:54:43.802 AUTH RSP : AVP: EAP-Message = 0x030b0004
22:54:43.802 AUTH RSP : AVP: User-Name = wifitest
22:54:43.802 AUTH RSP : AVP: Message-Authenticator = 0x851808893f141063d347dbba615c9a9a
22:54:43.802 AUTH RSP : AVP_LEN=5

Формат хранимых записей напоминает дамп RADIUS-атрибутов, которые вы можете получить при помощи анализатора трафика Wireshark.

4. Лог сессий корпоративных подключений

Дополнительно к обычному логгингу модуль корпоративных подключений регистрирует все попытки подключения с использованием 802.1х и пишет их в базу данных в коллекцию a12sessions (объекты типа ASession) для их дальнейшего отображения в веб-интерфейсе системы WNAM. Визуализация этого лога доступна через меню "Диагностика" → "Корпоративные подключения". Вначале отображается отсортированная по дате (по убыванию) таблица-сводка, при этом имеется возможность фильтрации по некоторым критериям, а также быстрый поиск.

При нажатии левой кнопкой мыши в любую строку открывается окно с детальной информацией по сессии подключения.

При нажатии кнопки "Скопировать лог в буфер" весь объект логгинга (ASession из БД wnam_db) будет скопирован в буфер (clipboard) в JSON-формате:

Подключение начато 24.04.2022, 18:45:55
{
"id": "626570b3df3ee423a0f91053",
"mac": "58:91:CF:97:4D:7A",
"identity": "wifitest",
"name": "Тестовый Вайфай 2",
"nameCN": null,
"nameSAN": null,
"portType": "Wireless",
"method": "EAP_PEAP",
"ip": "10.241.144.117",
"eapSessionId": "0x6e407d4f6932663e2f6b464469793644",
"acctSessionId": "A806B45D000009AA5C401C54",
"ssid": "Corporate Wi-Fi",
"wlanId": "2",
"accessServerId": "5f6dd26a8005e1b8e0338059",
"accessServerName": "FNM LAB IOS XE",
"accessServerPort": "capwap_90000005",
"accessServerVendor": null,
"accessServerEnabled": true,
"siteId": "2",
"siteName": "FNM B CWA",
"siteEnabled": false,
"bclientId": null,
"blientName": null,
"startTime": 1650815155163,
"endTime": 1650815155959,
"frames": 12,
"a1ProfileId": "623599750a64e63ba40a6d43",
"a1ProfileName": "EAP/AD сотрудники",
"a1Tag": "fnm_wifi",
"a1Properties": null,
"a1Result": "Allow",
"a2ProfileId": "6259633803e250364c4a7113",
"a2ProfileName": "FNM Wi-Fi",
"a2Tag": null,
"a2Properties": null,
"a2Result": "Accept",
"log": "",
"matchedA1P": [],
"matchedA2P": [],
"password": null
}
1: findOrCreate - a1profiles candidates: 4, a2profiles candidates: 8
2: filterForA1Identity - a1profiles candidates: 3 for source access server / bclient
3: filterForWLAN - a1profiles candidates: 3 for wlan 'Corporate Wi-Fi' (ID=2)
4: newRadiusFrame - Frame type: EAP_IDENTITY, Frame ID: 2, RADIUS EAP State: null
5: filterForA1Identity - a1profiles candidates: 3 for identity wifitest
6: radius - send RADIUS CHALLENGE with 3 attributes
...

В данном лог-файле регистрируются события, связанные с установлением TLS-соединения между сервером WNAM и суппликантом клиентского устройства. Таким образом, отображается процесс мачтинга правил аутентификации авторизации. В конце лог-файле можно увидеть примененные финальные правила, а также назначенные RADIUS-атрибуты.

В процессе траблшутинга модуля корпоративной авторизации WNAM необходимо иметь в виду следующие аспекты.

1. Сначала-открытая сеть

Никогда не следует настраивать корпоративную авторизацию до того, как провели проверку сетевого доступа (Wi-Fi, ЛВС) без авторизации. Необходимо убедиться, что всё остальное (что не имеет отношение к 802.1x) настроено корректно: радио-часть, взаимодействие точек доступа с контроллером, службы DHCP, DNS, NAT, маршрутизация, правила межсетевого экранирования и т.п.

2. Сертификат сервера

Вся корпоративная авторизация построена вокруг протокола ЕАР. Его работа требует наличия сертификата сервера - в данном случае, сертификата RADIUS-сервера. Он должен быть установлен в вашу систему WNAM, иначе все попытки подключения будут завершаться ошибкой. Сертификат можно получить любым из трех методов:

  • инициализировать встроенный в WNAM центр сертификации;
  • импортировать в WNAM внешний корневой сертификат (импортировать подписанный им сертификат RADIUS-сервера с приватным ключом);
  • импортировать в WNAM внешний корневой сертификат (выполнить запрос на сертификат, выпустить его внешним PKI, импортировать полученный сертификат).

 Когда подходящий сертификат присутствует в системе, в лог-файле wnam.log появится запись подобного вида:

18:45:55.316 TRACE [c.n.wnam.services.WnamRadiusService:711] - WnamRadiusService init SSL subsystem for EAP
18:45:55.316 TRACE [c.n.wnam.services.WnamRadiusService:713] - WnamRadiusService accepted client cert issuer: CN=WNAM Lab Root CA, O=Netams. LLC, OU=Development, L=Moscow, EMAILADDRESS=support@netams.com
18:45:55.316 TRACE [c.n.wnam.services.WnamRadiusService:713] - WnamRadiusService accepted client cert issuer: CN=Registry Server, O=Netams. LLC, OU=Development, L=Moscow, EMAILADDRESS=support@netams.com
18:45:55.317 TRACE [c.n.wnam.services.WnamRadiusService:715] - WnamRadiusService TLS server: CN=Auth Server, O=Netams. LLC, OU=Development, L=Moscow, EMAILADDRESS=support@netams.com

3. Цепочка доверия

При попытке подключения клиента, у которого не установлен сертификат сервера WNAM и/или сертификат выпустившего его корневого удостоверяющего центра, может возникнуть следующее предупреждающее окно.

Абоненту необходимо будет согласиться с доверием такому сертификату сервера. Больше вопросов по этому сертификату возникать не будет. Чтобы избежать появления предупреждения, следует импортировать на клиентское устройство сертификат сервера и поместить его в "Доверенные". ОС Windows по умолчанию отвергает взаимодействие с сервером, сертификат которого отсутствует в локальном хранилище.

4. Применимость назначенного

Политики авторизации, связанные с назначением подключающемуся абоненту неких параметров (VLAN, ACL, фильтр, ограничение скорости и т.п.), фактически просто передают атрибут на оборудование. Система WNAM не имеет информации об атрибутах (поддерживается ли эти атрибуты, применились ли они). Например, если передать ACL в контроллер, а на нём такой не задан или задан с немного другим именем, у абонента будет происходить сбой подключения. Если назначить VLAN 100 проводному порту, а в транке подключающего коммутатора он не прописан, абонент не получит IP-адрес. Необходимо внимательно относиться к настройке параметров.



  • No labels