Отправка сработки в телеграм-бот
Настройка Telegram
1. В Telegram находим бота: https://t.me/BotFather
2. Запускаем командой /start
3. Создаем нового бота командой /newbot
4. Вводим желаемое имя и логин бота (должен заканчиваться словом bot
). В данном примере имя бота "KUMA DEMO" и логин бота "kumademo_bot".
5. По завершении получаем токен для обращения к боту и ссылку на него
6. Если планируется использовать бота в группе, а не в личных сообщениях, то необходимо изменить настройки приватности. Для этого вводим /mybots
, выбираем своего бота из списка, выбираем Bot Settings, Group Privacy и выбираем Turn off. После этого бот сможет отправлять сообщения в группах.
7. Далее переходим в своего бота по ссылке полученной от BotFather и выполняем команду /start для запуска бота.
8. Для отправки сообщения отдельному пользователю необходимо начать диалог с ботом, а также узнать chat_id этого пользователя. Чтобы узнать chat_id пользователя заходим в бота https://t.me/getmyid_bot и вводим команду /start
. Полученное значение chat_id потребуется в дальнейшем для отправки сообщений ботом
9. Чтобы отправлять сообщение ботом в группу необходимо узнать chat_id этой группы. Для этого в созданную группу необходимо пригласить бота https://t.me/getmyid_bot и он выведет chat_id группы (в поле Current chat ID), который потребуется в дальнейшем для отправки уведомлений. После получения id бота нужно удалить из группы.
10. Теперь можно отправить тестовое сообщение боту набрав в строке браузера команду:
https://api.telegram.org/bot<token>/sendMessage?chat_id=<chat_id>&text=test
Подставив вместо <token>
и <chat_id>
значения полученные ранее. В результате в личном чате или группе (в зависимости от выбранного способа) должно появиться уведомление, а в ответе браузера JSON не должен содержать ошибок.
11. После проверки работоспособности бота можно переходить к настройке отправки уведомлений.
Скрипт уведомленния
1. Создайте скрипт уведомления
В простейшем виде скрипт отправки уведомления выглядит следующим образом:
#!/bin/bash
set -eu
CHAT_ID=<chat_id из п.8-9 предыдущего раздела>
TG_TOKEN=<token из п.5 предыдущего раздела>
RULE=$1
TEXT="Произошла сработка правила <b>$RULE</b>"
curl --data-urlencode "chat_id=$CHAT_ID" --data-urlencode "text=$TEXT" --data-urlencode "parse_mode=HTML" https://api.telegram.org/$TG_TOKEN/sendMessage
В случае, если у сервера коррелятора отсутствует прямой доступ в Интернет, скрипт можно модифицировать добавив адрес прокси-сервера для доступа в Интернет
#!/bin/bash
set -eu
CHAT_ID=<chat_id из п.8-9 предыдущего раздела>
TG_TOKEN=<token из п.5 предыдущего раздела>
RULE=$1
TEXT="Произошла сработка правила <b>$RULE</b>"
PROXY=<адрес и прот прокси-сервера>
curl --proxy $PROXY --data-urlencode "chat_id=$CHAT_ID" --data-urlencode "text=$TEXT" --data-urlencode "parse_mode=HTML" https://api.telegram.org/$TG_TOKEN/sendMessage
2. Поместите скрипт в папку коррелятора, уведомления о сработках которого необходимо отправлять через телеграм-бот
Путь для размещения скрипта
/opt/kaspersky/kuma/correlator/<id>/scripts/
<id>
- идентификатор коррелятора, можно найти в веб-интерфейсе (ссылка)
3. Назначьте пользователя kuma владельцем файла и дайте файлу права на выполнение
chown kuma:kuma /opt/kaspersky/kuma/correlator/<id>/scripts/bot.sh
chmod +x /opt/kaspersky/kuma/correlator/<id>/scripts/bot.sh