반응형

구조
- SSH 로그인 발생 → PAM 트리거 → 스크립트 실행 → Discord Webhook 호출
1. Discord Webhook 생성
- Discord 서버 → 설정 → Integrations → Webhooks → URL 생성
2. 스크립트 작성
sudo vi /usr/local/bin/ssh_notify.sh
#!/bin/bash
WEBHOOK_URL="https://discord.com/api/webhooks/XXXX"
USER="$PAM_USER"
IP="$PAM_RHOST"
DATE=$(date "+%Y-%m-%d %H:%M:%S")
TYPE="$PAM_TYPE"
# 이벤트 타입 구분
if [ "$TYPE" = "open_session" ]; then
EVENT="🔐 SSH LOGIN"
elif [ "$TYPE" = "close_session" ]; then
EVENT="🔓 SSH LOGOUT"
else
exit 0
fi
# root 로그인 강조
if [ "$USER" = "root" ]; then
EVENT="$EVENT 🚨"
fi
# 메시지 전송
curl -s -H "Content-Type: application/json" \
-X POST \
-d "{
\"content\": \"$EVENT\nUser: $USER\nIP: $IP\nTime: $DATE\"
}" \
$WEBHOOK_URL
sudo chmod +x /usr/local/bin/ssh_notify.sh
3. PAM에 연결
sudo vi /etc/pam.d/sshd
맨 아래에 추가:
session optional pam_exec.so /usr/local/bin/ssh_notify.sh
728x90
반응형