spf dkim dmarc

agnusdei·2024년 7월 27일

SPF (Sender Policy Framework)

SPF 로그 예시

Received-SPF: pass (example.com: domain of sender@example.com designates 192.0.2.1 as permitted sender) receiver=mail.example.com; client-ip=192.0.2.1; envelope-from=sender@example.com; helo=mail.sender.com;

로그 구조 설명

  • Received-SPF: SPF 검사 결과
    • pass: SPF 검사 통과
    • example.com: SPF 검사를 수행한 도메인
    • domain of sender@example.com: 발신자의 도메인
    • designates 192.0.2.1 as permitted sender: 발신 IP 192.0.2.1이 발신자 도메인에서 허용된 IP임을 나타냄
  • receiver=mail.example.com: 메일을 수신한 서버
  • client-ip=192.0.2.1: 발신자의 IP 주소
  • envelope-from=sender@example.com: 발신자의 이메일 주소
  • helo=mail.sender.com: 발신자가 사용한 HELO/EHLO 호스트 이름

로그 분석

  1. SPF 결과를 확인하여 pass, fail, softfail, neutral 등의 상태를 확인.
  2. 발신 IP와 발신 도메인이 SPF 레코드에 정의된 대로 일치하는지 확인.
  3. 수신 서버, 발신자 IP 및 이메일 주소, HELO 호스트 이름을 확인하여 정상적인지 검증.

DKIM (DomainKeys Identified Mail)

DKIM 로그 예시

Authentication-Results: mail.example.com;
  dkim=pass (signature was verified) header.d=example.com;
  dkim-adsp=none (unavailable)

로그 구조 설명

  • Authentication-Results: 인증 결과
    • mail.example.com: 인증을 수행한 서버
    • dkim=pass: DKIM 서명 검증 통과
    • (signature was verified): 서명이 검증되었음을 나타냄
    • header.d=example.com: 서명된 도메인
  • dkim-adsp=none: DKIM ADSP(Author Domain Signing Practices) 결과

로그 분석

  1. dkim 결과를 확인하여 pass, fail, neutral 등의 상태를 확인.
  2. 서명된 도메인이 올바른지 확인하여 해당 도메인의 DKIM 레코드가 존재하는지 검증.
  3. DKIM ADSP 결과를 확인하여 추가적인 도메인 서명 정책이 있는지 검토.

TLS (Transport Layer Security)

TLS 로그 예시

TLS connection established from mail.sender.com (192.0.2.1) with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)

로그 구조 설명

  • TLS connection established: TLS 연결이 성공적으로 확립되었음을 나타냄
  • from mail.sender.com (192.0.2.1): 발신 서버와 IP 주소
  • with cipher ECDHE-RSA-AES256-GCM-SHA384: 사용된 암호화 방식
  • (256/256 bits): 암호화 키 길이

TLS 요소 및 다양한 스펙

  1. Cipher Suite

    • ECDHE-RSA-AES256-GCM-SHA384:
      • ECDHE: Ephemeral Elliptic Curve Diffie-Hellman, 임시 키 교환 방식.
      • RSA: 키 교환 및 인증에 사용되는 알고리즘.
      • AES256: 대칭 암호화 방식, 256비트 키 사용.
      • GCM: Galois/Counter Mode, 암호화 모드.
      • SHA384: 해시 알고리즘, 384비트 해시 값 사용.
  2. Cipher Suite 예시

    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
      • ECDHE_ECDSA: Ephemeral Elliptic Curve Diffie-Hellman using ECDSA.
      • AES_128_GCM: 128비트 AES 암호화, GCM 모드.
      • SHA256: 256비트 해시 알고리즘.
    • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
      • DHE_RSA: Ephemeral Diffie-Hellman using RSA.
      • AES_256_CBC: 256비트 AES 암호화, CBC 모드.
      • SHA: 160비트 해시 알고리즘.
    • TLS_RSA_WITH_3DES_EDE_CBC_SHA
      • RSA: 키 교환 및 인증에 RSA 사용.
      • 3DES_EDE_CBC: Triple DES 암호화, CBC 모드.
      • SHA: 160비트 해시 알고리즘.

TLS 로그 분석

  1. TLS 연결이 성공적으로 이루어졌는지 확인.
  2. 발신 서버와 IP 주소가 신뢰할 수 있는지 검증.
  3. 사용된 암호화 방식이 최신 보안 기준을 충족하는지 확인 (예: ECDHE-RSA-AES256-GCM-SHA384).
  4. 암호화 키 길이가 충분히 강력한지 확인 (예: 256비트).
  5. 다양한 Cipher Suite을 통해 특정 연결의 보안 수준과 호환성을 평가.
profile
DevSecOps Pentest🚩

0개의 댓글