Konfigurasikan notifikasi akses Telegram
PortGuard Server dapat mengirim pesan Telegram setelah paket SPA yang valid menambahkan aturan firewall. Pemberitahuan mencakup nama host server, IP sumber yang diizinkan, IP sumber paket, nama pengguna SPA, akses yang diminta, waktu pembukaan, kedaluwarsa waktu, dan batas waktu.
1. Buat bot Telegram
- Buka @BotFather di Telegram.
- Kirim
/newbotdan ikuti petunjuknya. - Salin Bot Token yang dikembalikan oleh BotFather. Sepertinya
123456789:AAExampleToken.
Perlakukan Bot Token sebagai kata sandi. Jangan komit ke kontrol sumber, tempelkan ke dalam pesan dukungan, atau memaparkannya di tangkapan layar.
2. Temukan tujuan Chat ID
Untuk obrolan pribadi, buka bot baru, pilih Mulai, dan kirimkan pesan. Untuk grup, tambahkan bot ke grup dan kirim pesan atau perintah ke bot tersebut dapat menerima.
Di server, masukkan Bot Token tanpa menyimpannya di riwayat shell:
read -rsp 'Telegram Bot Token: ' TG_TOKEN; echo
Baca pembaruan terkini bot:
curl --config - <<EOF
silent
show-error
fail
url = "https://api.telegram.org/bot${TG_TOKEN}/getUpdates"
EOF
unset TG_TOKEN
Temukan message.chat.id di respons JSON. Chat ID pribadi biasanya
angka positif. Grup Chat ID biasanya negatif dan sering kali merupakan ID supergrup
mulai dengan -100.
Jika result kosong, kirim pesan lain ke bot dan jalankan permintaan lagi.
Untuk saluran, Anda dapat menggunakan @channel_username setelah menambahkan bot sebagai saluran
administrator dengan izin untuk mengirim pesan.
3. Konfigurasikan PortGuard Server
Mulai konsol firewall sebagai root:
sudo portguard-fwknopd --fw-console
Pilih 5. Configure Telegram notifications, lalu masukkan:
- Token bot: token yang disediakan oleh BotFather.
- Chat ID: nomor ID pribadi/grup atau
@channel_username. - Interval notifikasi minimum:
0mengirimkan notifikasi untuk setiap ketukan sukses. Nilai yang lebih besar akan menyembunyikan notifikasi tambahan selama detik sebanyak itu.
Konfirmasikan konfigurasi dan pilih y ketika diminta untuk mengirim tes
pemberitahuan. Konsol menyimpan pengaturan di /etc/fwknop/fwknopd.conf
dengan mode 600 dan memuat ulang daemon yang sedang berjalan.
4. Konfigurasikan secara manual
Pengaturan yang sama dapat ditambahkan langsung ke /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 dan Chat ID diperlukan. Lindungi konfigurasi dan memulai ulang layanan setelah perubahan manual:
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. Verifikasi notifikasi
Ikuti log daemon saat mengirim paket SPA yang valid dari PortGuard Client:
sudo journalctl -u fwknopd -f
Pemberitahuan dimasukkan ke dalam antrian hanya setelah paket SPA diterima dan firewall aturan berhasil ditambahkan. Ketukan berulang-ulang sementara aturan yang sama masih berlaku aktif tidak boleh membuat aturan lain. Tunggu hingga aturan sebelumnya kedaluwarsa sebelumnya pengujian lagi.
Jika pengujian konsol gagal atau ketukan yang diterima tidak mengirimkan pesan, periksa:
- Server dapat menyelesaikan
api.telegram.orgdan membuat koneksi HTTPS keluar. - Obrolan pribadi telah dimulai, atau bot memiliki izin untuk memposting di grup atau saluran tujuan.
- Chat ID termasuk dalam percakapan bot yang sama yang digunakan dengan
getUpdates. PORTGUARD_TG_NOTIFY_INTERVALtidak menyembunyikan notifikasi.fwknopddimuat ulang atau dimulai ulang setelah perubahan konfigurasi manual.
6. Nonaktifkan notifikasi
Jalankan konsol lagi, pilih opsi 5, masukkan disable sebagai Bot Token, dan
konfirmasi. PortGuard menghapus ketiga pengaturan Telegram dan memuat ulang daemon.