Наладзьце апавяшчэнні аб доступе Telegram
PortGuard Server можа адправіць паведамленне Telegram пасля таго, як сапраўдны пакет SPA дадасць правіла брандмаўэра. Апавяшчэнні ўключаюць імя хаста сервера, дазволены зыходны IP, IP крыніцы пакета, імя карыстальніка SPA, запытаны доступ, час адкрыцця, заканчэнне тэрміну дзеяння час і тайм-аўт.
1. Стварыце бота Telegram
- Адкрыйце @BotFather у Telegram.
- Адпраўце
/newbotі выконвайце падказкі. - Скапіруйце Bot Token, вернуты BotFather. Падобна на тое
123456789:AAExampleToken.
Разглядайце Bot Token як пароль. Не перадавайце яго ў сістэму кантролю версій, устаўце у паведамленні службы падтрымкі або паказаць гэта на скрыншотах.
2. Знайдзіце пункт прызначэння Chat ID
Для прыватнага чата адкрыйце новага бота, абярыце Пачаць і адпраўце яму паведамленне. Для групы дадайце бота ў групу і адпраўце боту паведамленне або каманду можа атрымаць.
На серверы ўвядзіце Bot Token, не захоўваючы яго ў гісторыі абалонкі:
read -rsp 'Telegram Bot Token: ' TG_TOKEN; echo
Чытайце апошнія абнаўленні бота:
curl --config - <<EOF
silent
show-error
fail
url = "https://api.telegram.org/bot${TG_TOKEN}/getUpdates"
EOF
unset TG_TOKEN
Знайдзіце message.chat.id у адказе JSON. Прыватныя Chat ID звычайна
дадатныя лікі. Ідэнтыфікатары групы Chat ID звычайна з'яўляюцца адмоўнымі, а ідэнтыфікатары супергруп часта
пачаць з -100.
Калі result пусты, адпраўце боту яшчэ адно паведамленне і паўторыце запыт.
Для канала вы можаце выкарыстоўваць @channel_username пасля дадання бота ў якасці канала
адміністратар з правам размяшчаць паведамленні.
3. Наладзьце PortGuard Server
Запусціце кансоль брандмаўэра як root:
sudo portguard-fwknopd --fw-console
Выберыце 5. Configure Telegram notifications, затым увядзіце:
- Маркер бота: маркер, пастаўлены BotFather.
- Chat ID: лічбавы прыватны/групавы ідэнтыфікатар або
@channel_username. - Мінімальны інтэрвал паведамлення:
0адпраўляе апавяшчэнне для кожнага паспяховы стук. Большае значэнне адключае дадатковыя апавяшчэнні падчас столькі секунд.
Пацвердзіце канфігурацыю і выберыце y, калі будзе прапанавана адправіць тэст
апавяшчэнне. Кансоль захоўвае налады ў /etc/fwknop/fwknopd.conf
з рэжымам 600 і перазагружае запушчаны дэман.
4. Наладзьце ўручную
Тыя ж параметры можна дадаць непасрэдна ў /etc/fwknop/fwknopd.conf:
PORTGUARD_TG_BOT_TOKEN 123456789:replace_with_bot_token;
PORTGUARD_TG_CHAT_ID -1001234567890;
PORTGUARD_TG_NOTIFY_INTERVAL 0;
Патрабуюцца як Bot Token, так і Chat ID. Абараніце канфігурацыю і перазапусціце службу пасля змены ўручную:
sudo chmod 600 /etc/fwknop/fwknopd.conf
sudo portguard-fwknopd --exit-parse-config \
-c /etc/fwknop/fwknopd.conf \
-a /etc/fwknop/access.conf
sudo systemctl restart fwknopd
5. Праверце апавяшчэнні
Сачыце за журналам дэмана падчас адпраўкі сапраўднага пакета SPA ад PortGuard Client:
sudo journalctl -u fwknopd -f
Апавяшчэнне ставіцца ў чаргу толькі пасля прыняцця пакета SPA і брандмаўэра правіла паспяхова дададзена. Паўторны стук, пакуль усё тое ж правіла актыўны не можа стварыць іншае правіла. Дачакайцеся заканчэння тэрміну дзеяння папярэдняга правіла тэставанне зноў.
Калі тэст кансолі не ўдаецца або прыняты стук не адпраўляе паведамленне, праверце:
- Сервер можа вырашаць
api.telegram.orgі ствараць выходныя злучэнні HTTPS. - Прыватны чат быў запушчаны, або бот мае дазвол на публікацыю ў група прызначэння або канал.
- Chat ID належыць да той жа размовы бота, якая выкарыстоўваецца з
getUpdates. PORTGUARD_TG_NOTIFY_INTERVALне стрымлівае апавяшчэнне.fwknopdбыў перазагружаны або перазапушчаны пасля змены канфігурацыі ўручную.
6. Адключыць апавяшчэнні
Зноў запусціце кансоль, абярыце параметр 5, увядзіце disable як Bot Token і
пацвердзіць. PortGuard выдаляе ўсе тры налады Telegram і перазагружае дэман.