tgoop.com/srv_admin/4165
Last Update:
Нашёл на github простой скрипт, который делает одну вещь - следит за конкретным лог файлом или набором файлов на предмет появления там заданных строк. Как только их видит, отправляет уведомление в Telegram.
https://github.com/dobanov/mon_log_and_send_keywords_to_telegram
Я проверил версию на python. Работает очень просто. Копируем репу:# git clone https://github.com/dobanov/mon_log_and_send_keywords_to_telegram
# cd mon_log_and_send_keywords_to_telegram
Устанавливаем необходимые пакеты:# apt install python3-pip python3-watchdog
Запускаем скрипт без параметров:# python3 tg_mon.py
Он ругнётся, что не переданы параметры и нет файла конфигурации. Создаст пустой ~/.config/tg_log.ini
. Заполняем его:filename=/var/log/auth.log
keyword=Accepted password,session opened
n=100
bot_id=5731668668:AAFxcwvp8XjvepZzDMIAN87l1D_MuiI1Ve9
chat_id=210856265
debug=true
В этом примере я указал две строки из файла auth.log, куда записывается вся информация об SSH сессиях. В данном случае в Telegram прилетят две строки:2024-12-04T18:35:23.679324+03:00 debian12-vm sshd[4282]: Accepted password for root from 10.8.2.2 port 9669 ssh2
2024-12-04T18:35:23.680422+03:00 debian12-vm sshd[4282]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
То есть полная информация о подключении - IP адрес и пользователь.
Запускаем скрипт:# python3 tg_mon.py
Открываем новую SSH сессию и наблюдаем уведомление в телеге. В данном случае обе строки не нужны, сделал так для примера.
Всё очень просто и быстро. Код скрипта можете сами посмотреть, он небольшой. В репе лежит простенький шаблон для создания systemd службы, чтобы запускать скрипт в фоне.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#script #logs
BY ServerAdmin.ru

Share with your friend now:
tgoop.com/srv_admin/4165