카테고리 없음
리눅스 서버 보안 로그 분석 자동화하기: Logwatch 가이드
재빠른IT소통왕
2025. 4. 25. 23:49
리눅스 서버 운영 시 가장 중요한 요소 중 하나는 시스템 로그의 실시간 모니터링과 분석입니다. 그러나 수많은 로그를 일일이 수동으로 확인하는 것은 비효율적일 수 있습니다. 이런 문제를 해결해주는 도구가 바로 Logwatch입니다. 본 글에서는 Logwatch의 설치, 설정, 활용법을 중심으로 로그 분석 자동화의 전 과정을 소개합니다.
1. Logwatch란 무엇인가?
Logwatch는 리눅스 시스템의 다양한 로그 파일을 자동 분석하여 요약 리포트를 메일로 전송해주는 오픈소스 도구입니다. 서버의 보안, 서비스 상태, 시스템 이상 징후 등을 빠르게 확인할 수 있어 보안 관리자와 시스템 운영자에게 매우 유용합니다.
- 지원 배포판: CentOS, RHEL, Debian, Ubuntu 등
- 출력 형식: 텍스트 기반 리포트 (메일 발송 또는 CLI 출력)
- 분석 대상: sshd, httpd, postfix, cron, kernel 등 다양한 로그
2. Logwatch 설치 방법
배포판에 따라 다음 명령어로 설치할 수 있습니다.
CentOS / RHEL:
sudo dnf install logwatch
Ubuntu / Debian:
sudo apt install logwatch
3. 기본 사용법
설치 후 다음 명령으로 Logwatch를 실행할 수 있습니다.
sudo logwatch --detail High --range today --service all --mailto admin@example.com --format html
- --detail: 리포트 상세 수준 (Low, Med, High)
- --range: 분석 범위 (yesterday, today, all)
- --service: 대상 서비스 (all 또는 sshd, httpd 등 지정)
- --mailto: 리포트 수신자 이메일 주소
4. 자동화 설정
Logwatch는 기본적으로 /etc/cron.daily/0logwatch
경로에 등록되어 있어, 매일 자동 실행됩니다. 설정 파일은 다음 위치에서 수정할 수 있습니다.
/usr/share/logwatch/default.conf/logwatch.conf
/etc/logwatch/conf/logwatch.conf
(사용자 정의)
예시 설정:
MailTo = admin@example.com
Detail = High
Range = yesterday
Format = html
5. 리포트 예시 및 해석
Logwatch는 서비스별 요약 정보를 제공하며, SSH 로그인 시도, 실패한 인증, 웹 서버 접속 기록, 시스템 오류 등을 요약하여 보여줍니다. 다음은 예시입니다:
sshd:
5 Failed logins from:
192.168.0.10: 3 times
203.0.113.5: 2 times
10 Successful logins
httpd:
404 Not Found: /admin
200 OK: /index.html
6. 보안 및 운영 상의 이점
- 접근 시도 추적 → SSH Brute Force 공격 조기 감지
- 웹 서버 오류 분석 → 취약점 스캐닝 시도 탐지
- 시스템 서비스 상태 점검 → cron, postfix, 시스템 로그 이상 식별
결론
Logwatch는 단순하지만 강력한 서버 모니터링 도구로, 리눅스 관리자라면 반드시 활용해야 할 필수 도구입니다. 자동화된 보안 리포트를 통해 운영 리스크를 줄이고, 대응 시간을 단축할 수 있습니다. Logwatch로 귀사의 서버 보안 상태를 매일 확인해보세요.