본문 바로가기

리눅스

DNS SPF 란, SPF 설정하는 방법

728x90

SPF 란, SPF 설정하는 방법

SPF (Sender Policy Framework)는 이메일 도메인의 송신자 식별 및 인증 메커니즘입니다. 이메일 도메인의 송신자가 자신을 인증하고 스푸핑(위조)을 방지하기 위해 SPF를 사용할 수 있습니다.

 

SPF는 이메일 도메인 소유자가 해당 도메인을 통해 이메일을 보내는 서버를 명시적으로 정의하는 DNS(Domain Name System) 레코드를 설정하는 것으로 작동합니다. 이 DNS 레코드에는 도메인의 허용된 송신자 목록이 포함되어 있습니다. 이메일 수신 서버는 이러한 SPF 레코드를 확인하여 도메인이 이메일을 보내는 허용된 송신자 목록과 일치하는지 확인할 수 있습니다.

 

SPF는 이메일 스푸핑과 같은 이메일 피싱 공격을 방지하는 데 도움이 됩니다. 이를 통해 이메일 수신 서버는 도메인 소유자가 지정한 송신자만이 해당 도메인을 사용하여 이메일을 보낼 수 있도록 보장할 수 있습니다. SPF는 도메인의 신뢰도를 높이고 스팸 필터링 시스템이 유효한 이메일을 식별하는 데 도움이 됩니다.

 

하지만 SPF는 도메인의 신뢰성을 검증하는 한 가지 방법일 뿐이며, SPF 단독으로 모든 이메일 보안 문제를 해결하지는 않습니다. 따라서 SPF 외에도 DKIM(DomainKeys Identified Mail) 및 DMARC(Domain-based Message Authentication, Reporting, and Conformance)와 같은 기술과의 결합을 권장합니다. 이러한 기술들을 함께 사용하면 이메일 도메인의 신뢰성과 안정성을 향상시킬 수 있습니다.

SPF (Sender Policy Framework)를 설정하는 방법

1. SPF 레코드 작성

SPF 레코드는 도메인의 DNS(Domain Name System) 설정에 추가됩니다. 일반적으로 DNS 관리자 또는 호스팅 공급자의 DNS 설정 패널에서 SPF 레코드를 수정할 수 있습니다. SPF 레코드는 텍스트 형식으로 작성되며, 도메인이 허용하는 송신자 목록을 지정합니다.

 

2. SPF 레코드 구문 작성

SPF 레코드는 일련의 메커니즘과 수정자로 구성됩니다. 이 메커니즘과 수정자는 송신자를 식별하고 송신자가 이메일을 보낼 수 있는지 여부를 결정하는 데 사용됩니다. 일반적으로 다음과 같은 구문을 사용합니다.

"v=spf1 메커니즘 수정자 ~all"
  • "v=spf1": SPF 버전을 나타냅니다.
  • "메커니즘": 송신자를 식별하는 메커니즘을 추가합니다. 예를 들어, "a"는 도메인의 A 레코드를 사용하는 송신자를 허용하는 메커니즘입니다.
  • "수정자": 메커니즘을 수정하는 옵션입니다. 예를 들어, "~all"은 송신자가 허용되지 않으면 이메일을 거부하는 것을 의미합니다.

SPF 구문에는 다양한 메커니즘과 수정자를 조합하여 도메인이 허용하는 송신자를 세밀하게 제어할 수 있습니다.

 

참고
TXT 설정 값
- ip4 : ip4주소 /24 와 같이 마스크를 사용하여 네트워크 단위 표현이 가능
- a : DNS의 A레코드로 설정한 IP주소
- mx : DNS의 MX레코드로 지정한 IP주소
- ptr : PTR레코드로 지정된 IP 주소
- include : TXT 레코드에서 설정을 찾는다.
- ~ all : 이것과 같지 않으면 마음대로 처리하라
- - all : 이것과 같지 않으면 차단한다.

 

3. SPF 레코드 예시

다음은 SPF 레코드의 예시입니다.

"v=spf1 mx a:mail.example.com include:otherdomain.com ~all"
  • "mx": 도메인의 MX 레코드를 사용하는 송신자를 허용합니다.
  • "a:mail.example.com": 도메인의 A 레코드가 "mail.example.com"인 송신자를 허용합니다.
  • "include:otherdomain.com": "otherdomain.com"의 SPF 레코드에 정의된 송신자를 허용합니다.
  • "~all": 허용되지 않은 송신자의 이메일을 거부합니다.

이 예시는 MX 레코드, 특정 A 레코드, 다른 도메인의 SPF 레코드를 사용하여 송신자를 허용하고 나머지를 거부합니다.

 

4. SPF 레코드 배포

SPF 레코드를 작성하고 구문을 확인한 후, DNS 설정에서 해당 도메인의 TXT 레코드로 SPF 레코드를 추가합니다. 일반적으로 DNS 설정 변경은 시간이 걸릴 수 있으며, 변경 사항이 전파되기까지 일정 시간이 소요될 수 있습니다.

 

SPF 설정 후에는 이메일 송신자가 SPF 레코드에 명시된 규칙을 따라야 합니다. 이를 위해 이메일 서버를 구성하고 관리하는데 사용되는 송신자 주소를 SPF 레코드에 추가하는 것이 중요합니다. 이렇게 하면 이메일 수신 서버에서 도메인의 SPF 레코드를 확인하고 송신자의 유효성을 검사할 수 있습니다.

 

참고로, SPF 설정은 전문적인 지식이 필요할 수 있으므로, DNS 관리자나 호스팅 공급자의 지침을 따르거나 이메일 관리 시스템 제공업체에 문의하는 것이 좋습니다.

 

참고URL

- KISA 불법스팸대응센턴 : SPF Record 작성 도우미

 

728x90