메일서버 연동 실습 가이드

본 문서는 메일 서버 연동을 처음 접하는 엔지니어를 위해 작성되었습니다.

본 가이드에서는 복잡한 전문 지식 없이도 클릭 몇 번으로 가상의 메일 서버를 구성해 주는 'Mailpit’을 활용합니다.

이 과정을 통해 고객사 환경에 적용하기 전, 내 PC에서 안전하고 자유롭게 메일 발송 기능을 연습하고 검증할 수 있습니다.

내용 중 수정이 필요한 부분이나 추가 의견이 있으시면 언제든 피드백 부탁드립니다.

유의사항

  • 본 가이드는 전달서버·센트리 없이 분석노드 단일 구성 기준으로 작성되었습니다.

  • 본 가이드는 로그프레소의 메일서버 연동 테스트 목적으로 작성되었으며, 테스트 목적으로 가상의 메일 서버인 Mailpit을 설치해서 진행합니다.

  • Mailpit은 인증을 요구하지 않는 테스트용 SMTP 서버이므로, 운영 환경에는 사용하지 마시기 바랍니다.

  • 분석노드 IP는 100.100.100.100, Mailpit이 동작 중인 Windows PC의 IP는 100.100.100.200을 가정합니다.

  • Mailpit 기본 포트는 SMTP 1025, Web UI 8025 입니다.


1. Mailpit 개요

  • Mailpit은 개발·테스트 환경에서 사용하는 경량 SMTP 서버로, 수신한 모든 메일을 외부로 전달하지 않고 자체 우편함(Web UI)에 보관합니다.

  • 실제 사용자에게 메일이 잘못 발송되는 사고 없이, 메일 본문·HTML·헤더·발신자/수신자 정보를 손쉽게 검증할 수 있습니다.

  • 단일 실행 파일로 배포되어 별도의 설치 절차 없이 즉시 구동 가능합니다.


2. Mailpit 설치 (Windows)

  • Mailpit 공식 GitHub 릴리스 페이지에서 Windows용 빌드를 내려받습니다.

  • 다운로드 페이지: https://github.com/axllent/mailpit/releases

  • Windows 64bit 환경에서는 mailpit-windows-amd64.zip 파일을 다운로드한 뒤, 임의의 위치(예: 바탕화면)에 압축을 해제합니다.


3. Mailpit 실행

  1. 명령 프롬프트(CMD)에서 실행

    • Windows + Rcmd 입력 후 Enter 키로 명령 프롬프트를 실행합니다.

    • 압축 해제한 폴더로 이동하여 mailpit.exe를 실행합니다.

      1. 압축 해제 폴더로 이동 (실제 경로에 맞게 수정)

        C:\\> cd C:\\Users\\<사용자명>\\Desktop
        
      2. Mailpit 실행

        C:\\Users\\<사용자명>\\Desktop> mailpit.exe
        [smtpd] starting on [::]:1025 (no encryption)
        [http] starting on [::]:8025
        
      • SMTP(1025) / HTTP(8025) 포트로 리스닝하고 있다는 로그가 출력되면 정상 구동 상태입니다.

      • Mailpit이 동작하는 동안 해당 터미널 창은 닫지 마시기 바랍니다.

  2. Web UI 접속 확인

    • Mailpit이 정상 구동 중이면 브라우저에서 Web UI에 접속하여 우편함 화면을 확인할 수 있습니다.

    • Mailpit이 동작 중인 PC에서 직접 접속할 경우: http://localhost:8025

    • 다른 PC(예: 분석노드 또는 관리자 PC)에서 접속할 경우: http://100.100.100.200:8025


4. 로그프레소 메일 서버 등록

  • SNR UI에서 [시스템] → [메일서버] 메뉴로 이동하여 메일 서버 설정을 추가합니다.

  • 다음 항목을 입력 후 저장합니다.

    • 프로토콜: PLAIN

    • 서버 주소: Mailpit이 동작 중인 PC의 IP (예: 100.100.100.200)

    • 포트: 1025 (Mailpit SMTP 수신 포트)

    • 발신자 주소: logpresso@test.co.kr

    • 발신자 표시 이름: 홍길동

    • 사용자: logpresso@test.co.kr

    • 암호: 미입력 (Mailpit은 인증을 요구하지 않음)


5. 테스트 메일 전송 확인

  • 메일 서버 설정 저장 후, 동일 화면의 [테스트 메일 전송] 기능을 통해 발송을 시도합니다.

  • SNR UI에서 [성공] 응답이 반환되는지 확인합니다.

  • 브라우저에서 Mailpit Web UI(http://100.100.100.200:8025)에 접속하여 우편함에 메일이 수신되었는지 확인합니다.


6. sendmail 쿼리로 발송 테스트

  • SNR UI 테스트 외에도 sendmail 쿼리 커맨드를 통해 직접 발송 동작을 검증할 수 있습니다.

  • 자세한 옵션은 공식 문서를 참고해 주시기 바랍니다. (sendmail | 로그프레소 쿼리 레퍼런스)

  • 테스트 쿼리 예시

    json "{}"
    | eval to="example_1@example.com"
    | eval subject="Hello World"
    | eval message="<h1>Hello, World</h1>"
    | sendmail html=t
    
    
  • json "{}"
    | eval to="soc_team@yourcompany.com"
    | eval subject="[경고] 이상 로그인 시도 발생 (위험도: 높음)"
    | eval message="
        <div style='font-family: sans-serif; border: 1px solid #dcdcdc; padding: 20px;'>
            <h2 style='color: #d9534f;'>🚨 이상 징후 탐지 알림</h2>
            <p>내부 시스템에서 보안 정책 위반 사례가 탐지되었습니다.</p>
            <hr>
            <table style='width: 100%; border-collapse: collapse;'>
                <tr style='background-color: #f8f9fa;'>
                    <th style='border: 1px solid #dee2e6; padding: 8px; text-align: left;'>탐지 항목</th>
                    <td style='border: 1px solid #dee2e6; padding: 8px;'>Brute Force 공격 의심</td>
                </tr>
                <tr>
                    <th style='border: 1px solid #dee2e6; padding: 8px; text-align: left;'>공격 대상 IP</th>
                    <td style='border: 1px solid #dee2e6; padding: 8px;'>100.100.100.100</td>
                </tr>
                <tr style='background-color: #f8f9fa;'>
                    <th style='border: 1px solid #dee2e6; padding: 8px; text-align: left;'>탐지 횟수</th>
                    <td style='border: 1px solid #dee2e6; padding: 8px;'><strong>10분 내 150회 실패</strong></td>
                </tr>
                <tr>
                    <th style='border: 1px solid #dee2e6; padding: 8px; text-align: left;'>조치 사항</th>
                    <td style='border: 1px solid #dee2e6; padding: 8px; color: #d9534f;'>해당 IP 차단 검토 및 소유자 확인 필요</td>
                </tr>
            </table>
            <p style='margin-top: 20px; font-size: 0.9em; color: #6c757d;'>본 메일은 로그프레소 보안 정책에 의해 자동 발송되었습니다.</p>
        </div>"
    | sendmail html=t
    
  • 수신 확인 (Mailpit 측)

    • 브라우저에서 http://100.100.100.200:8025로 접속하여, 메일 수신여부를 확인합니다.