Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 서버방화벽
- iptables
- CentOS
- Apache
- FileZilla
- ubuntu
- 리눅스명령어
- FTP
- linux
- 서버관리
- geoip
- 티스토리챌린지
- SSL인증서
- centos7
- ip차단
- 웹서버
- https
- sftp
- 시스템관리
- 리눅스
- oops-firwall
- 서버운영
- postfix
- 서버보안
- 국가IP차단
- 오블완
- DNS
- SMTP설정
- 파일질라
- 리눅스서버
Archives
- Today
- Total
운영중입니다
서버 접속시 메일로 알림받기 본문
CentOS7, Apache 기준
✅ 1. Postfix 설치
#서버에서 메일을 보낼 수 있도록 Postfix 같은 MTA를 설치
yum install postfix -y
systemctl enable postfix
systemctl start postfix
systemctl status postfix
※ 보통 CentOS7 기준 Postfix는 기본적으로 설치되어 있음

✅ 2. PAM 설정
vim /etc/pam.d/sshd
# 맨 마지막에 추가
session optional pam_exec.so seteuid /usr/local/bin/login-notify.sh
✅ 3. 스크립트 생성 및 권한 부여
# 서버 접속 시 설정된 메일로 알림 메일 발송 스크립트 생성
vim /usr/local/bin/login-notify.sh
#!/bin/bash
USER_NAME=$PAM_USER
REMOTE_IP=${PAM_RHOST:-unknown}
NOW=$(date "+%a %b %d %H:%M:%S %z %Y")
MAIL_TO="메일주소"
HOSTNAME=$(hostname)
TTY=$PAM_TTY
SUBJECT="[Alram] Login : (서버이름 혹은 IP) Web Server - ($REMOTE_IP)"
BODY="$USER_NAME $TTY ($REMOTE_IP) $NOW"
echo "$BODY" | mail -s "$SUBJECT" "$MAIL_TO"
| 항목 | 출력 예시 | 의미 |
| %a | Tue | 요일(축약형, Tue = 화요일) |
| %b | Sep | 월(축약형, Sep = 9월) |
| %d | 09 | 일(두 자리) |
| %H | 16 | 시간(24시간제) |
| %M | 17 | 분 |
| %S | 35 | 초 |
| %z | +0900 | UTC 대비 시차(+09:00, 한국 표준시) |
| %Y | 2025 | 연도 |
#권한 부여
chmod +x /usr/local/bin/login-notify.sh
✅ 4. 메일 발송 테스트
echo "test mail body" | mail -s "test mail" (메일주소)
#해당 명령어를 사용하여 메일이 정상적으로 수신 될 경우 위 스크립트가 작동 할 확률이 높음
✅ 5. SSH 접속 테스트
서버 접속시 아래와 같이 메일이 발송 됨.
접속한 계정에 따라 다르게 발송 가능.

'리눅스보안' 카테고리의 다른 글
| 리눅스 방화벽 최적화 - ipset 설정으로 대량 IP 차단하는 방법 (CentOS) (0) | 2026.02.27 |
|---|---|
| 웹사이트 보안 강화: Apache mod_evasive 설치 및 차단 테스트 (0) | 2025.10.31 |
| Certbot으로 무료 SSL 인증서 발급 및 설정하기 (1) | 2025.08.18 |
| geoip 설치 및 사용 방법2_2 (CentOS7) (2) | 2025.07.20 |
| geoip 설치 및 사용 방법2_1 (CentOS7) (2) | 2025.07.18 |