20P by neo 3달전 | favorite | 댓글 3개

이 가이드는 무엇을 위한 것인가?

  • 이메일을 보내는 애플리케이션을 개발, 지원, 유지하는 사람들에게 필수적인 가이드임.
  • 이메일이 스팸 폴더가 아닌 수신자의 받은 편지함에 도착하도록 보장함.
  • 사이버 범죄자와 스팸 발송자로부터 도메인을 보호하는 방법을 설명함.

왜 이 가이드를 선택해야 하는가?

  • 간단하고 명확한 설명과 예시로 SPF, DKIM, DMARC를 이해하기 쉽게 설명함.
  • GitHub에 호스팅되어 개발 환경과 통합하여 빠르게 정보에 접근할 수 있음.
  • 커뮤니티가 지속적으로 업데이트하고 유지할 수 있는 문서임.

이 가이드는 무엇을 위한 것이 아닌가?

  • 이메일 서버 설정이나 암호화, 보안 이메일 게이트웨이와 같은 고급 주제를 다루지 않음.

SPF, DKIM, DMARC 간단히 설명하기

SPF (Sender Policy Framework)

  • SPF: 이메일을 보낼 수 있는 친구 목록과 같음.
  • SPF 레코드: 이 친구 목록을 DNS TXT 레코드에 저장함.
  • 예시: v=spf1 ip4:123.123.123.123 ~all

DKIM (DomainKeys Identified Mail)

  • DKIM: 이메일 내부에 비밀 노트를 넣는 것과 같음.
  • DKIM 레코드: 공개 키를 DNS TXT 레코드에 저장하여 수신자가 이메일의 진위를 확인할 수 있게 함.
  • 예시: v=DKIM1; k=rsa; p=NICfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBolTXCqbxwoRBffyg2efs+Dtlc+CjxKz9grZGBaISRvN7EOZNoGDTyjbDIG8CnEK479niIL4rPAVriT54MhUZfC5UU4OFXTvOW8FWzk6++a0JzYu+FAwYnOQE9R8npKNOl2iDK/kheneVcD4IKCK7IhuWf8w4lnR6QEW3hpTsawIDAQ0B

DMARC (Domain-based Message Authentication, Reporting & Conformance)

  • DMARC: SPF와 DKIM의 규칙을 종합하여 큰 규칙 책을 만드는 것과 같음.
  • DMARC 레코드: 이 규칙 책을 DNS TXT 레코드에 저장하여 수신자가 이메일을 처리하는 방법을 결정함.
  • 예시: v=DMARC1; p=none; rua=mailto:postmaster@example.com

SPF, DKIM, DMARC의 실제 사용 예시

  • 모바일 앱: 피트니스 앱이나 은행 앱이 이메일을 보낼 때 SPF, DKIM, DMARC를 사용하여 이메일이 스팸 폴더가 아닌 받은 편지함에 도착하도록 보장함.
  • 이메일 서비스 제공자: Gmail, Yahoo, Outlook 등은 SPF, DKIM, DMARC를 사용하여 수신 이메일을 인증함.
  • 소셜 미디어 플랫폼: LinkedIn, Facebook, Twitter 등은 알림 이메일을 보낼 때 SPF, DKIM, DMARC를 사용함.
  • 기업: 프로모션 이메일을 보낼 때 SPF, DKIM, DMARC를 사용하여 이메일이 스팸으로 표시되지 않도록 하고 도메인이 이메일 스푸핑에 사용되지 않도록 함.
  • 정부 기관: 시민에게 알림을 보낼 때 SPF, DKIM, DMARC를 사용하여 피싱 공격을 방지함.

이제 무엇을 해야 할까?

  1. 이메일 주소와 도메인 식별: 앱에서 사용하는 이메일 주소와 도메인을 파악함.
  2. 현재 상태 확인: 이미 SPF, DKIM, DMARC 레코드가 있는지 확인하고 올바르게 설정되었는지 확인함.
  3. 도메인 접근 권한: DNS 레코드를 변경할 수 있는 권한이 있는지 확인함.
  4. DMARC 모니터링: DMARC 보고서를 모니터링하여 문제가 없는지 확인하고, 필요한 경우 수정함.

SPF, DKIM, DMARC 상태 확인

FAQ's with SPF, DKIM and DMARC

  1. DMARC 보고용 이메일 주소: 여러 사람이 확인할 수 있는 공유 메일박스를 사용하는 것이 좋음.
  2. SPF 레코드의 ~all, -all, ?all, +all 차이:
    • ~all (SoftFail): 목록에 없는 서버에서 온 이메일도 허용하지만 의심스러울 수 있음.
    • -all (Fail): 목록에 없는 서버에서 온 이메일은 거부함.
    • ?all (Neutral): 특별한 지침 없이 이메일을 처리함.
    • +all (Pass): 모든 서버에서 온 이메일을 허용함.
  3. SPF 없이 DMARC 설정 가능 여부: 가능하지만 비효율적임. SPF와 DKIM을 함께 사용하는 것이 좋음.
  4. 이메일 헤더에서 여러 SPF 실패와 일부 SPF 통과가 보일 때: 자신의 도메인과 관련된 SPF 체크를 신뢰해야 함.

마무리

  • SPF, DKIM, DMARC는 이메일 보안의 숨은 영웅임.
  • 이 세 가지가 이메일의 신뢰성을 유지하는 데 중요한 역할을 함.

GN⁺의 의견

  • 이메일 보안의 중요성: 이메일은 중요한 커뮤니케이션 수단으로, 보안이 매우 중요함.
  • SPF, DKIM, DMARC의 필요성: 이 세 가지 기술은 이메일 스푸핑과 피싱 공격을 방지하는 데 필수적임.
  • 도입 시 고려사항: 설정과 모니터링이 필요하며, 잘못된 설정은 이메일 전달에 문제를 일으킬 수 있음.
  • 관련 도구: MXToolbox와 DMARCTester와 같은 도구를 사용하면 설정 상태를 쉽게 확인할 수 있음.
  • 업계 표준: 이메일 보안을 강화하기 위해 SPF, DKIM, DMARC는 업계 표준으로 자리 잡고 있음.

SPF, DKIM, DMARC 이젠 너무 중요 해진거 같습니다

Google Workspace나 SES 등을 사용하게 되면 MX 레코드 외에도 SPF, DKIM 등 설정하는게 하나씩 늘어나고 있는데, 막상 찾아볼 생각은 안하고 어디선가 뭔가 잘 되고 있겠지 정도만 생각했었는데 감사합니다! :D

Hacker News 의견
  • IT 관리자의 경험: 중소기업에서 IT를 관리하며, 잘못된 SPF 레코드로 인해 격리된 이메일을 자주 풀어달라는 요청을 받음. 화이트리스트 대신 SPF 레코드를 수정하도록 도움을 제공함. 이를 자동화하기 위해 Racket 언어로 스크립트를 작성함.

  • 책 추천: Michael W. Lucas가 "Run Your Own Mail Server"라는 책을 준비 중이며, SPF/DKIM/DMARC 설정에 대한 자세한 내용을 다룸. BSDCan에서 그의 튜토리얼과 강연을 들었으며, 책을 추천함.

  • SPF/DKIM/DMARC 가이드 필요성: 이메일을 다른 도메인으로 보내는 앱 개발자를 위한 SPF/DKIM/DMARC 가이드가 필요함. 많은 티켓 시스템과 마케팅 플랫폼이 이 개념을 이해하지 못함.

  • 자동화의 중요성: SPF/DKIM/DMARC 설정을 자동화하는 스타트업을 운영 중이며, 가이드의 품질을 높게 평가함. 하지만 사용자가 문제를 한 번만 겪기 때문에 장기적인 이해가 어려움. 자동화가 중요함.

  • 디버깅 도구 추천: DMARC 문제를 디버깅하기 위한 좋은 도구 링크를 공유함.

  • 테스트 도구 추천: mail-tester.com과 eu.dmarcian.com의 무료 버전을 테스트 도구로 추천함. 또한 DKIM을 이해하기 위한 블로그 링크를 공유함.

  • 스팸 문제: 이메일 설정을 완벽하게 해도 Gmail에서 스팸으로 분류되는 경우가 있음. 수백 시간을 투자했지만 해결되지 않아 iCloud 같은 3자 호스팅 서비스를 사용하게 됨.

  • 이메일 다양성 필요성: Apple, Google, Microsoft 같은 대기업의 이메일 서비스에 의존하지 말고, 가능한 한 자체 이메일 서버를 사용해야 함.

  • 무료 DMARC 모니터링 서비스: Postmark라는 서비스에서 무료 DMARC 모니터링 서비스를 제공함.

  • SPF/DKIM/DMARC 설정 결과: 예시 도메인에서 SPF, DKIM, DMARC 설정이 모두 통과된 결과를 공유함.