Chuyển tới nội dung chính

Định cấu hình thông báo truy cập Telegram

PortGuard Server có thể gửi tin nhắn Telegram sau khi gói SPA hợp lệ thêm một quy tắc tường lửa. Thông báo bao gồm tên máy chủ của máy chủ, IP nguồn được phép, IP nguồn gói, tên người dùng SPA, quyền truy cập được yêu cầu, thời gian mở, hết hạn thời gian và thời gian chờ.

1. Tạo bot Telegram​

  1. Mở @BotFather trong Telegram.
  2. Gửi /newbot và làm theo lời nhắc.
  3. Sao chép Bot Token được BotFather trả về. Có vẻ như 123456789:AAExampleToken.

Hãy coi Bot Token làm mật khẩu. Đừng cam kết kiểm soát nguồn, dán nó vào các thông báo hỗ trợ hoặc hiển thị nó trong ảnh chụp màn hình.

2. Tìm đích Chat ID​

Để trò chuyện riêng tư, hãy mở bot mới, chọn Bắt đầu và gửi tin nhắn cho bot đó. Đối với một nhóm, hãy thêm bot vào nhóm và gửi tin nhắn hoặc lệnh rằng bot có thể nhận được.

Trên máy chủ, nhập Bot Token mà không lưu nó vào lịch sử shell:

read -rsp 'Telegram Bot Token: ' TG_TOKEN; echo

Đọc bản cập nhật mới nhất của bot:

curl --config - <<EOF
silent
show-error
fail
url = "https://api.telegram.org/bot${TG_TOKEN}/getUpdates"
EOF
unset TG_TOKEN

Tìm message.chat.id trong phản hồi JSON. Các Chat ID riêng tư thường được những con số dương. Nhóm Chat ID thường là ID âm và ID siêu nhóm thường bắt đầu với -100.

Nếu result trống, hãy gửi cho bot một tin nhắn khác và chạy lại yêu cầu. Đối với một kênh, bạn có thể sử dụng @channel_username sau khi thêm bot làm kênh quản trị viên có quyền gửi tin nhắn.

3. Cấu hình PortGuard Server​

Khởi động bảng điều khiển tường lửa với quyền root:

sudo portguard-fwknopd --fw-console

Chọn 5. Configure Telegram notifications rồi nhập:

  • Mã thông báo Bot: mã thông báo được cung cấp bởi BotFather.
  • Chat ID: ID nhóm/riêng tư dạng số hoặc @channel_username.
  • Khoảng thời gian thông báo tối thiểu: 0 gửi thông báo cho mọi gõ cửa thành công. Giá trị lớn hơn sẽ ngăn chặn các thông báo bổ sung trong quá trình nhiều giây như vậy.

Xác nhận cấu hình và chọn y khi được yêu cầu gửi bài kiểm tra thông báo. Bảng điều khiển lưu trữ các cài đặt trong /etc/fwknop/fwknopd.conf với chế độ 600 và tải lại daemon đang chạy.

4. Cấu hình thủ công​

Các cài đặt tương tự có thể được thêm trực tiếp vào /etc/fwknop/fwknopd.conf:

PORTGUARD_TG_BOT_TOKEN       123456789:replace_with_bot_token;
PORTGUARD_TG_CHAT_ID -1001234567890;
PORTGUARD_TG_NOTIFY_INTERVAL 0;

Cả Bot Token và Chat ID đều được yêu cầu. Bảo vệ cấu hình và khởi động lại dịch vụ sau khi thay đổi thủ công:

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. Xác minh thông báo​

Theo dõi nhật ký daemon trong khi gửi gói SPA hợp lệ từ PortGuard Client:

sudo journalctl -u fwknopd -f

Thông báo chỉ được xếp hàng sau khi gói SPA được chấp nhận và tường lửa quy tắc được thêm thành công. Một tiếng gõ lặp đi lặp lại trong khi quy tắc tương tự vẫn còn hoạt động có thể không tạo ra quy tắc khác. Đợi quy tắc trước đó hết hạn trước khi thử nghiệm lại.

Nếu kiểm tra bảng điều khiển không thành công hoặc tiếng gõ được chấp nhận không gửi tin nhắn, hãy kiểm tra:

  • Máy chủ có thể phân giải api.telegram.org và tạo các kết nối HTTPS gửi đi.
  • Cuộc trò chuyện riêng tư đã được bắt đầu hoặc bot có quyền đăng bài trong nhóm đích hoặc kênh.
  • Chat ID thuộc cùng một cuộc trò chuyện bot được sử dụng với getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL không chặn thông báo.
  • fwknopd đã được tải lại hoặc khởi động lại sau khi thay đổi cấu hình thủ công.

6. Tắt thông báo​

Chạy lại bảng điều khiển, chọn tùy chọn 5, nhập disable làm Bot Token và xác nhận. PortGuard xóa tất cả ba cài đặt Telegram và tải lại daemon.