카테고리 없음

리눅스 서버 보안 로그 분석 자동화하기: 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로 귀사의 서버 보안 상태를 매일 확인해보세요.