понедельник, 18 мая 2020 г.

[Fast] Splunk. Контроль авторизации пользователей OpenVPN

Приветствую, уважаемый читатель!

Открываю новую рубрику - 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).

Результат:



Всем удачи :)






Комментариев нет:

Отправить комментарий