Đị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
- Mở @BotFather trong Telegram.
- Gửi
/newbotvà làm theo lời nhắc. - 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:
0gử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.orgvà 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_INTERVALkhô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.