Free Lines Arrow
본문 바로가기
개발관련지식/스터디한내용

[개발지식] SPF, DKIM

by skahn1215 2022. 1. 15.
728x90
반응형

SPF, DKIM 이란?

  • 메일 프로토콜 SMPT 는 보안에 취약하다. 발신자 인증 메케니즘이 없다.
  • 그취약 점을 보완하기 위한 디자인이 되겠다.
  • 만약 난 분명 메일발송기능을 구현했는데 전송이 안됐다? 스팸으로 처리가 됐다?
    그렇다면 한번 확인해 보면 좋을것 같다.

 

개요

  • 발신자 인증 메커니즘이 없는 SMTP 메일 프로토콜의 취약점을 보완
  • 즉 도메인을 위조하여 이메일을 발송하는 것(스푸핑) 을 방지하기 위한 설정
  • 발신 도메인과 메일을 발송한 서버 도메인이 다를 경우?
    위와 같은 경우 SPF 또는 DKIM설정을 하지 않으면 메일이 차단 되거나 스팸으로 분류된다.

SPF(Sender Policy Framework)

  • 수신측에서 발신한 IP 정보와 SPF Recode 에 있는 IP 정보를 비교한다. 도메인에서 스팸을 발송하지 않도록 보호하기 위함.

특징

  • 인증 대상: 서버
  • 인증 방법: 메일을 발송한 IP 비교
  • 요구사항: DNS(메일 도메인)에 SPF 정책 설정
  • 등급
  • 적법 메일
  • 부적합 메일
  • 부적합 메일로 필터링 필요
  • 판정불가

 

동작 방식

  1. 사전에 SPF Record를 서버(송신 DNS) 에 등록해 둔다.
  2. 1.2.3.4 서버에서 이메일을 보낸다. 해당 이메일은 return-path 로 bounces@example.com 을 사용한다.
  3. 수신측 서버에서 return path 에서 도메인을 추출하여 SPF 레코드를 DNS 에서 가져온다.
  4. 등록된 유효한 주소들과 실제 보낸 주소와 일치하는지 검증한다.
  5. 일치하는 경우 메세지 위변조가 없는 것으로 판단하여 통과 시킨다

 

DKIM(DomainKeys Identified Mail)

  • 디지털 서명을 확인하여 이메일을 인증하는데 사용한다. 암호화를 사용하여 이메일 콘테츠 보호. SPF + DKIM로 여러 보안 계층을 만들수 있다.

특징

  • 인증 대상: 메세지 발신자.
  • 인증 방법: 전자서명
  • 요구사항: DNS에 공개키 등록 및 전자서명 기술 적용
  • 도메인 공급 업체의 DNS 설정에서 DKIM 을 설정 하면 수신자에게 발신인을 정확하게 확인할 수 있는 추가 수단을 제공해 준다.

 

동작방식

  1. 사전에 공개키정보를 DNS 서버(송신 DNS)에 등록
  2. 발신 메일 헤더에 암호화된 서명추가(DKIM-signature)
  3. 수신측은 email 헤더에서 DKIM-signature 추출
  4. DNS에 등록된 DKIM 기록을 가져온다.(공개키 등)
  5. 공개키를 사용하여 메일 헤더의 DKIM-signature를 복호화한다.
  6. 전자서명을 검증한다.
  7. 해시값이 일치하는지 검사 후 일치하지 않을경우 스팸 또는 차단 처리

 

참고

https://postmarkapp.com/guides/spf#what-is-an-spf-record

https://postmarkapp.com/guides/dkim

728x90
반응형

'개발관련지식 > 스터디한내용' 카테고리의 다른 글

Log 수집기능 개발하기  (0) 2023.05.27

댓글