Lewati ke konten utama

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​

  1. Buka @BotFather di Telegram.
  2. Kirim /newbot dan ikuti petunjuknya.
  3. 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: 0 mengirimkan 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.org dan 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_INTERVAL tidak menyembunyikan notifikasi.
  • fwknopd dimuat 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.