You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

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

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

Источников, которые администратор 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 и добавьте путь до него в файле /home/wnam/wnam.conf:

export JAVA_OPTS="-Xms512m -Xmx4g -Djava.net.preferIPv4Stack=true -Dlogging.config=/home/wnam/logback.xml"

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