Server

Server

Linux Fail2Ban + Telegram 연동으로 실시간 차단 알림 받기

페이지 정보

profile_image
영삼이
0건 37회 25-04-01 23:24

본문

Fail2Ban + Telegram 연동으로 실시간 차단 알림 받기

Fail2Ban은 서버 보안에 강력한 도구이지만, 차단된 IP를 실시간으로 알림받을 수 있다면 대응 속도가 훨씬 빨라집니다.
이제 텔레그램을 활용해 Fail2Ban 차단 정보를 바로 스마트폰으로 받는 시스템을 구축해보겠습니다.


✅ 1. 텔레그램 봇 생성

  1. 텔레그램에서 @BotFather 대화 시작

  2. /newbot 입력 → 이름과 사용자명 설정

  3. 발급된 API 토큰을 복사해 둡니다.

예시:

123456789:ABCDefGhIjkLMNopQRStuvWxYZ

✅ 2. Chat ID 확인

개인 채널(Chat ID)

  1. 봇에게 아무 메시지 전송

  2. 브라우저에 아래 주소 접속:

https://api.telegram.org/bot<토큰>/getUpdates

→ 아래처럼 나오면 "chat":{"id":123456789} → 이 값이 Chat ID입니다.

그룹 알림용 Chat ID

  1. 봇을 그룹에 초대

  2. 그룹에 메시지 작성

  3. 위와 같은 방식으로 /getUpdates 조회
    "id":-100xxxxxxxxx → 이게 그룹 Chat ID입니다. 마이너스(-) 포함!


✅ 3. Telegram 액션 스크립트 작성

다음 파일을 새로 만듭니다:

[code] sudo nano /etc/fail2ban/action.d/telegram.conf [/code]

내용:

[code] [Definition] actionstart = curl -s -X POST https://api.telegram.org/bot/sendMessage -d chat_id=<CHAT_ID> -d text="⚠️ Fail2Ban started on " actionstop = curl -s -X POST https://api.telegram.org/bot/sendMessage -d chat_id=<CHAT_ID> -d text="⛔ Fail2Ban stopped on " actionban = curl -s -X POST https://api.telegram.org/bot/sendMessage -d chat_id=<CHAT_ID> -d text="🚫 IP banned on for " actionunban = curl -s -X POST https://api.telegram.org/bot/sendMessage -d chat_id=<CHAT_ID> -d text="✅ IP unbanned on for "

[Init] name = default [/code]

<TOKEN><CHAT_ID>는 반드시 실제 값으로 교체하세요.


✅ 4. Fail2Ban 설정에 Telegram 액션 연결

[code] sudo nano /etc/fail2ban/jail.local [/code]

SSH 설정 블록에 다음을 추가하거나 수정:

[code] [sshd] enabled = true port = ssh logpath = %(sshd_log)s backend = systemd maxretry = 5 findtime = 600 bantime = 43200 action = telegram [/code]


✅ 5. 적용 및 테스트

Fail2Ban 서비스 재시작:

[code] sudo systemctl restart fail2ban [/code]

Fail2Ban 상태 확인:

[code] sudo fail2ban-client status sshd [/code]


✅ 차단 테스트 방법

다른 IP에서 SSH 접속을 일부러 잘못된 비밀번호로 5번 이상 시도해보세요.
정상적으로 작동하면 텔레그램으로 다음과 같은 메시지가 옵니다:

🚫 IP 203.0.113.10 banned on your.server.hostname for sshd

✅ 마무리

이제 서버에서 비정상적인 로그인 시도가 발생할 때마다
Fail2Ban이 자동으로 차단하고, 실시간으로 텔레그램으로 알림까지 전송해줍니다.

복잡한 이메일 알림보다 훨씬 빠르고, 스마트폰에서도 바로 확인할 수 있어
보안 대응 속도와 효율성이 크게 향상됩니다.


댓글목록

등록된 댓글이 없습니다.