일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- pem
- RTO
- dpkg
- RPO
- stickiness
- range retention
- 티스토리
- 클래식리텐션
- github
- DAU
- passphrase
- 롤링리텐션
- 다중 암호화 키
- 파이프(|)
- MAU
- 노션
- rolling retention
- 데이터리안
- 범위리텐션
- GIT
- 하이퍼바이저
- 정처기필기
- 리텐션
- classic retention
- openssh
- ssh-keygen
- N2TWinform
- n2t
- 패키지 관리자
- Wau
- Today
- Total
TobeSteady
이메일 인증 방법과 그 필요성 본문
이메일 인증 방법
1. DMARC
2. DKIM
3. SPF
- 해당 인증 방법은 이메일이 발신자라고 자칭하는 도메인(URL)에서 발송되었는지 확인하여 이메일 발신자를 인증함.
- 해당 방법들이 올바르게 설정하지 않은 도메인에서는 이메일이 스팸으로 격리되거나 수신자에게 전달되지 않을 수 있음.
- 또한, 스팸 발송자가 자신을 사칭할 위험이 있음.
- DKIM과 SPF는 합법성을 인증하는데 도움
- DMARC는 실패한 이메일을 "스팸"으로 표시하거나 이메일을 전달하거나 아예 삭제하는 등 DKIM 또는 SPF가 실패할 때 메일 서버에서 수행해야 할 작업을 알려줌.
- 웹 호스팅 서비스에서 반드시 자동으로 해당 인증 방법이 수행되지는 않음
- 이메일을 보내지 않는 도메인이라도 최소한 DMARC 레코드가 있어야 스팸 발송자가 해당 도메인에서 이메일을 보낸 것처럼 가장할 수 없음
이메일 인증 목적 : 이메일 보안 위험을 방지
- 이메일 서비스를 운영하는 업체들은 본인의 고객들에게 안전한 이메일만 전달이 될 수 있도록 저마다의 방식으로 발신자의 신뢰도를 검증함
- 여기서 이메일 서비스의 신뢰도 검증을 통과하지 못한 발신자가 보내는 이메일은 수신을 차단하거나 스팸으로 분류
- 스팸 발송자, 피싱 공격자 등 권한이 없는 당사자가 소유하지 않은 도메일을 대신하여 이메일을 보내는 것을 막을 수 있음.
1. DMARC : 도메인 기반 메시지 인증 보고 및 적합성
- DMARC는 수신 이메일 서버에 SPF 및 DKIM을 확인한 후 결과에 따라 어떤 작업을 수행해야 하는지 알려줌.
- 도메인의 DMARC 정책은 다양한 방법으로 설정할 수 있으며, 메일 서버에 SPF 또는 DKIM에 실패한 이메일을 격리하거나, 해당 이메일을 거부하거나, 전달하도록 지시할 수 있음
- DMARC 정책은 DMARC레코드에 저장됨
- 해당 레코드에는 도메인 관리자에게 어떤 이메일이 이러한 검사를 통과하고 실패하는지에 대한 보고서를 보내는 지침도 포함할 수 있음
- DMARC보고서는 관리자가 DMARC 정책을 조정하는 방법을 결정하는 데 필요한 정보를 제공함.
- 예시 : 정상적인 이메일이 스팸으로 잘못 표시되는 경우 어떻게 해야 하는
2. DKIM : 도메인키 식별 메일
- 도메일 소유자는 도메인에서 이메일에 자동으로 "서명"할 수 있는 도메인키 식별 메일을 사용할 수 있음.
- DKIM"서명"은 암호화를 사용하여 이메일이 도메일에서 발송되었음을 수학적으로 확인하는 디지털 서명.
- DKIM은 "공개 키 암호화"를 사용함
- DKIM 레코드에는 도메인의 공개키가 저장되며, 도메인으로부터 이메일을 수신하는 메일 서버에서는 이 레코드를 확인하여 "공개 키"를 얻을 수 있음
- "개인 키"는 발신자가 비밀로 유지하며, 발신자는 이 키로 이메일 헤더에 서명함.
- 이메일을 수신하는 메일 서버에서는 공개 키를 적용하여 발신자의 개인 키가 사용되었는지 확인 할 수 있음.
3. SPF : 발신자 정책 프레임워크
- 도메인에서 이메일을 보내는 모든 서버가 나열되는 방법
- 직원 명부에 조직의 모든 직우너 이름이 나열되는 것처럼 SPF레코드에는 도메인에서 이메일을 보낼 수 있도록 허용된 모든 서버의 IP주소가 나열됨.
- 이메일 메시지를 수신하는 메일 서버에서는 수신자의 받은 편지함으로 메시지를 전달하기 전에 SPF레코드와 대조하여 확인할 수 있음.
SPF, DKIM, DMARC 기록이 저장되는 곳
- SPF, DKIM, DMARC 레코드는 공개적으로 사용할 수 있는 도메인 네임 시스템(DNS)에 저장굄.
- DNS의 주요 용도는 웹 주소를 IP주소와 매칭하여 사용자가 긴 영숫자 주소를 외울 필요 없이 컴퓨터가 인터넷에서 콘텐츠를 로드할 수 있는 올바른 서버를 찾을 수 있게 하는 것.
- 또한 DNS에는 도메인과 관련된 다양한 레코드가 저장될 수 있으며, 여기에는 해당 도메인의 대체 이름(CNAME 레코드), IPv6 주소(AAAA 레코드), 도메인 조회를 위한 역방향 DNS레코드(PTR 레코드) 등이 포함됨.
- SPF, DKIM, DMARC레코드는 모두 DNS TXT 레코드로 저장됨.
- DNS TXT레코드는 도메인 소유자가 도메인과 연결하고자 하는 텍스트를 저장함.
- 해당 레코드에는 텍스트가 포함될 수 있으므로 다양한 방식으로 사용할 수 있음.
도메인에 대한 DMARC, DKIM, SPF를 설정하는 방법
- 도메인으 DNS 설정에서 해당 보안을 설정해야 함.
- 관리자가 DNS 공급자에게 문의할 수도 있고, 아니면 웹 호스팅 플랫폼에서 DNS레코드를 업로드하고 편집할 수 있는 도구를 제공할 수 있음.
이메일이 SPF, DKIM, DMARC를 통과했는지 확인하는 방법
- 대부분의 이메일 클라이언트는 "세부 정보 표시" 또는 "원본 표시"라는 옵션을 제공하여 헤더를 포함한 이메일의 전체 버전을 표시함.
- 헤더(일반적으로 이메일 본문 위에 있는 긴 텍스트 블록)는 메일 서버가 SPF, DKIM, DMARC의 결과를 추가하는 곳
- 브라우저에서 헤더를 보는 사용자는 "Ctrl+F" 또는 "Command+F"를 클릭하고 "spf"나 " dkim"이나 "dmarc"를 입력하면 다음과 같은 결과를 확인할 수 있음
arc=pass (i=1 spf=pass spfdomain=example.com dkim=pass
dkdomain=example.com dmarc=pass fromdomain=example.com);
// 이메일이 SPF, DKIM, DMARC 세 가지를 모두 통과
// 메일 서버에서는 이 이메일이 사칭자가 아닌 실제 example.com에서 보낸 것임을 확인할 수 있음.
- 위 텍스트에 "pass"라는 단어가 표시되면 이메일이 인증 검사를 통과했음을 나타냄.
- 예를 들어 "spf=pass"는 이메일이 SPF에 실패하지 않았으며 도메인의 SPF 레코드에 나열된 IP 주소를 가진 인증된 서버에서 전송되었음을 의미함.
(참고) DNS 레코드란?
- DNS레코드(또는 영역 파일)는 권한 있는 DNS 서버에 있는 명령으로서, 도메인에 연계된 IP주소 및 해당 도메인에 대한 요청의 처리 방법에 대한 정보를 제공함.
- 레코드는 DNS 구문이라고 하는 일련의 텍스트 파일로 구성됨.
- DNS 구문은 DNS 서버에게 수행할 작업을 알려주는 명령으로 사용되는 문자열.
- 모든 DNS 레코드에는 TTL이 있음
- TTL은 Time-to-Live의 약어로 DNS서버가 해당 레코드를 새로 고치는 빈도를 나타냄.
출처
https://www.cloudflare.com/ko-kr/learning/email-security/dmarc-dkim-spf/
https://www.cloudflare.com/ko-kr/learning/dns/dns-records/
https://help.stibee.com/hc/ko/articles/4756529633423-SPF-DKIM%EC%9D%B4-%EB%AD%94%EA%B0%80%EC%9A%94-
'ETC > ETC' 카테고리의 다른 글
[정리] DA 구직관련 글 (0) | 2024.01.24 |
---|---|
[ETC] 이전 기록물이 담긴 Notion을 Tistory로 옮기는 과정 #최종 (0) | 2023.03.22 |
[ETC] 이전 기록물이 담긴 Notion을 Tistory로 옮기는 과정 #2 (0) | 2023.03.22 |
[ETC] 이전 기록물이 담긴 Notion을 Tistory로 옮기는 과정 #1 (0) | 2023.03.21 |
[ETC] 32bit(비트)와 64bit(비트) (0) | 2023.03.20 |