운영 서버에서 로그를 보는 목적은 단순히 이벤트를 확인하는 것을 넘어, 비정상/의심 행동을 조기에 포착하는 것입니다.
이 글에서는 auth.log/secure 같은 인증 로그에서 비정상 sudo 패턴, IP 기반 이상 탐지, 로그인 이상 징후를 찾아내는 방법을 실전 기준으로 정리합니다.
명령어는 Ubuntu 기준으로 작성되었습니다.
1. 리눅스 인증/권한 로그 위치
운영 서버에서 인증/SSH/권한 상승 로그는 대개 아래 위치에 저장돼요. 이 파일들이 이상 탐지의 출발점입니다
| 배포판 계열인증 | 권한 상승 로그 |
| Debian/Ubuntu | /var/log/auth.log |
| RHEL/CentOS/Rocky/Alma | /var/log/secure |
이 파일에는 SSH 로그인 성공/실패, sudo, su, su - 같은 이벤트가 포함됩니다.
2. 운영 서버 이상 징후 탐지
1) 반복된 로그인 실패 (브루트포스 의심)
- 짧은 시간에 여러 로그인 실패 → 브루트포스 공격 가능성
- 동일 IP에서 많은 실패가 있으면 방화벽/차단 조치 후 분석 권장.
- 실패 패턴이 장시간 쌓이는 경우 보안 설정 재검토 필요.
sudo grep "Failed password" /var/log/auth.log | cut -d ' ' -f 11 | sort | uniq -c | sort -nr | head -n 20
2) 정상 범주와 다른 SSH 로그인 성공 IP
로그인 성공이 예상 범위(내부망, 사무실 IP 등)를 벗어나면 잠재적인 외부 접근 가능성이 있습니다.
sudo grep "Accepted password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c
- 예상치 못한 외부 IP가 있으면 접속 시간/사용자명과 함께 추가 조사 필요.
3) sudo 명령 과도 사용
정상 운영자라도 sudo 명령을 과도하게 반복해서 쓰면 자동화 스크립트, 비정상 행위 가능성이 있습니다.
sudo grep "sudo" /var/log/auth.log | awk '{print $1,$2,$3,$9,$11}' | sort | uniq -c | sort -nr | head -n 20
- 시간/사용자/명령별로 리포트해서 비정상 패턴 여부를 판단할 수 있습니다.
4) 권한 없는 sudo 시도
sudo 권한이 없는 사용자가 sudo를 시도하면 권한 설정 누락 또는 무단 시도일 수 있습니다.
sudo grep "NOT in sudoers" /var/log/auth.log
이런 이벤트는 운영자가 의도적으로 sudo 권한을 주지 않은 계정의 무단 사용 시도로 해석됩니다.
5) su/su - 전환 이상 패턴
정상범주를 벗어나는 su/su - 전환이 반복되면 운영 이상 행동의 힌트가 되기도 합니다.
sudo grep "su:" /var/log/auth.log
- 어떤 사용자가 언제 루트 전환을 시도했는지를 빠르게 확인할 수 있습니다.
3. 실시간 모니터링
실시간 모니터링으로 이상 시도를 빠르게 포착하는 것도 실전에서 유용합니다.
sudo tail -f /var/log/auth.log | grep -E "Failed password|Accepted password|sudo"
- tail -f로 실시간 감시를 하면서 이상한 입력이 들어오는 순간 빠르게 대응할 수 있습니다.
4. 추가 보안 보강 도구
- Fail2Ban : 로그를 스캔해 지정된 조건 이상 실패가 쌓이면 해당 IP를 자동 차단하는 도구입니다.
# 설
sudo apt install fail2ban
# SSH 로그인 실패가 연속으로 발생하면 특정 시간 동안 해당 IP를 차단
sudo systemctl enable fail2ban
# 차단 상태 확인
sudo fail2ban-client status sshd
- 로그 동작은 /var/log/fail2ban.log에 기록됩니다.
5. 실전 판단 기준
| 이상 패턴 | 의미 | 대응 |
| 반복된 로그인 실패 | 브루트포스 의심 | IP 차단/Fail2Ban |
| 낯선 IP의 로그인 성공 | 외부 접근 가능성 | 접속 시간/사용자 비교 |
| 과도한 sudo 패턴 | 자동화/비정상 동작 | 사용자/스크립트 조사 |
| 권한 없는 sudo 시도 | 계정/권한 설정 문제 | sudoers 검토 |
| su/su - 반복 전환 | 운영 이상 시도 | 해당 사용자 조사 |
마무리
로그 기반 이상 징후 탐지는 현장 운영에서 가장 기본적이고 즉각적인 대응 수단입니다.
로그 분석은 정기적으로, 그리고 자동화 도구(예: Fail2ban, auditd)와 함께 병행하며 운영 품질과 보안 수준을 높이는 데 쓰면 좋습니다.
'Linux' 카테고리의 다른 글
| [ Linux ] su / su - / sudo 로그 확인 및 감사 방법 (0) | 2026.01.28 |
|---|---|
| [ Linux ] su, su -, sudo 차이점 정리 (운영 서버 기준) (0) | 2026.01.28 |
| [ Linux ] curl GET 요청 시 URL 인코딩이 꼭 필요한 이유와 처리 방법 (0) | 2025.06.13 |
| [ Linux ] 사용자 입력 값을 RFC 2822 형식으로 변환하는 방법 - Shell script (0) | 2025.06.13 |
| [ Linux ] curl로 REST API 호출하는 방법 (0) | 2025.06.13 |