Приветствую, уважаемый читатель!
Запрос на SPL:
Результат:
Всем удачи :)
Открываю новую рубрику - Fast. Никакой лишней лирики, а только решение конкретных задач с минимальным описанием. Все дополнительные вопросы можно задавать в комментариях. Первая задача - связана с контролем авторизации пользователей через OpenVPN. Поехали :)
Задача: Определить кто из пользователей и с какого IP-адреса успешно авторизовался через OpenVPN.
Решение: Необходимо связать между собой 2 типа событий из журнала OpenVPN: первое указывает кто подключился и с какого IP (второй скриншот), а второе указывает успешно пользователь подключился или нет (первый скриншот). Связать запросы необходимо по 2-м полям, а именно: время возникновения события и пользователь, который его инициировал.
Запрос на SPL:
source=pfsense "peer connection Initiated"
| fillnull value="-" OVPN_UserName
| where (OVPN_UserName != "-")
| iplocation OVPN_UserIP
| eval h_time=substr(PFS_time,-8)
| join type=inner OVPN_UserName,h_time
[search source="pfsense" "authenticate*"
| rex field=_raw "(?<header>.{1,60}).openvpn\:.user.\'(?<OVPN_UserName>.{2,20})\'.(?<Result>.{1,45})"
| eval h_time=substr(header,-8)
| table h_time,OVPN_UserName,Result]
| where Result="authenticated"
| where Country like "%"
| table PFS_time,OVPN_UserName,OVPN_UserIP,Country,Result
Конечно, чтобы работало предварительно достаньте из событий для source=pfsense "peer connection Initiated" нужные Fields (имя пользователя - OVPN_UserName, IP-пользователя - OVPN_UserIP, время события - PFS_time).
Результат:
Всем удачи :)
Комментариев нет:
Отправить комментарий