Задать вопрос

Как отследить, спарсить, визуально мониторить подключившихся пользователей по OpenVPN?

Добрый день!

Для подключения удаленных сотрудников в компании был поднят OpenVPN.
Необходимо мониторить кто и когда подключался из удаленных сотрудников к серверу OpenVPN.
Где на сервере лежит лог файл?
Как и чем парсить этот лог файл и визуально отображать для руководства(отдела кадров)?
  • Вопрос задан
  • 2169 просмотров
Подписаться 2 Средний Комментировать
Решение пользователя Dmytro Yunh К ответам на вопрос (3)
hugeous
@hugeous
Системный администратор
Привет хабровчане.
Использую у себя такой скрипт на проде:
#!/bin/sh

export INDEXTXT=/etc/openvpn/easyrsa3/easyrsa3/pki/index.txt
export LOGFILE=/var/log/openvpn.log
echo -e "\nOpenVPN users last connection mac/ip list tool\n"
validusers=$(grep -E "V{символ табуляции}" $INDEXTXT|cut -d'=' -f2)
#echo Users last mac/ip addresses:
echo LastLogin Timestamp        /       User    /       mac     /       ip
for usr in ${validusers}
    do
    if [ $(grep -E "MULTI: Learn:" $LOGFILE|grep "$usr"|tail -1|wc -l) -gt 0 ]
        then
        echo $(grep -E "MULTI: Learn:" $LOGFILE|grep "$usr"|tail -1|cut -c 1-24)    /       $usr    /       $(grep -E "MULTI: Learn:" $LOGFILE|grep "$usr"|tail -1|cut -d':' -f6-11|cut -c 2-18)    /       $(grep -E "MULTI: Learn:" $LOGFILE|grep "$usr"|tail -1|cut -d'/' -f3|cut -d':' -f1)
    fi
done

Стоит обратить внимание на символ табуляции в команде выборки валидных пользователей.
5ecfab7c94f53371987570.jpeg
Принцип работы:
Парсинг файла БД сертификатов openssl - index.txt, выборка валидных пользователей.
Цикл с проходом по списку валидных пользователей, и парсинга лог-файла openvpn.log
Выхлоп скрипта примерно следующий:
5ecfacd8224ea870716817.jpeg
Ответ написан