본문으로 건너뛰기

Telegram 액세스 알림 구성

PortGuard Server는 유효한 SPA 패킷이 다음을 추가한 후 Telegram 메시지를 보낼 수 있습니다. 방화벽 규칙. 알림에는 서버 호스트 이름, 허용된 소스 IP, 패킷 소스 IP, SPA 사용자 이름, 요청된 액세스, 개시 시간, 만료 시간 및 시간 초과.

1. Telegram 봇 생성​

  1. Telegram에서 @BotFather를 엽니다.
  2. /newbot를 전송하고 프롬프트를 따릅니다.
  3. BotFather에서 반환된 Bot Token를 복사합니다. 그것은 다음과 같습니다 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

JSON 응답에서 message.chat.id를 찾으세요. 개인 Chat ID는 일반적으로 양수. 그룹 Chat ID는 일반적으로 음수이며 종종 슈퍼그룹 ID입니다. -100로 시작하세요.

result가 비어 있으면 봇에 다른 메시지를 보내고 요청을 다시 실행하세요. 채널의 경우 봇을 채널로 추가한 후 @channel_username를 사용할 수 있습니다. 메시지 게시 권한을 가진 관리자입니다.

3. PortGuard Server 구성​

방화벽 콘솔을 루트로 시작합니다.

sudo portguard-fwknopd --fw-console

5. Configure Telegram notifications를 선택한 후 다음을 입력합니다.

  • 봇 토큰: BotFather에서 제공하는 토큰입니다.
  • Chat ID: 숫자로 된 개인/그룹 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. 알림 확인​

PortGuard Client에서 유효한 SPA 패킷을 보내는 동안 데몬 로그를 따르십시오.

sudo journalctl -u fwknopd -f

SPA 패킷이 승인되고 방화벽이 승인된 후에만 알림이 대기열에 추가됩니다. 규칙이 성공적으로 추가되었습니다. 같은 규칙이 계속 유지되는 동안 반복되는 노크 active는 다른 규칙을 생성할 수 없습니다. 이전 규칙이 만료될 때까지 기다리세요. 다시 테스트 중입니다.

콘솔 테스트가 실패하거나 승인된 노크가 메시지를 보내지 않는 경우 다음을 확인하십시오.

  • 서버는 api.telegram.org를 확인하고 아웃바운드 HTTPS 연결을 만들 수 있습니다.
  • 비공개 채팅이 시작되었거나 봇이 게시 권한을 가지고 있습니다. 대상 그룹 또는 채널.
  • Chat ID는 getUpdates와 함께 사용되는 동일한 봇 대화에 속합니다.
  • PORTGUARD_TG_NOTIFY_INTERVAL는 알림을 억제하지 않습니다.
  • 수동 구성 변경 후 fwknopd가 다시 로드되거나 다시 시작되었습니다.

6. 알림 비활성화​

콘솔을 다시 실행하고 5 옵션을 선택한 다음 Bot Token로 disable를 입력하고 확인합니다. PortGuard는 ​​세 가지 Telegram 설정을 모두 제거하고 데몬을 다시 로드합니다.