메뉴 닫기

Ubuntu 18.04 + Postfix(SPF) Mail 보안 설정하기

이 글은 Ubuntu 18.04 + Postfix 메일서버 기준으로 SPF 설정하는 방법에 대한 포스팅이다.

우선 SPF(Sender Policy Framework)란 메일 발송자가 전자메일주소를 위조하거나 도용하여 스팸메일을 대량으로 보낼 수 있는 메일시스템의 취약점을 보완하기 위해 만들어졌으며 사전에 해당 메일이 실제 발송서버에서 보내어졌는지 확인하는 인증기술이다.

▷ SPF 동작방식
– 메일발신자 : 자신의 메일서버의 정보와 정책등을 SPF 레코드로 표현하여 DNS에 TXT 레코드로 등록한다
– 메일수신자 : 이메일을 수신했을 때 발송자에 DNS에 등록된 SPF를 확인하여 해당 메일에 표기된 발송IP와 비교하여 그 결과값에 따라 수신여부를 결정한다(수신측 메일서버에 SPF 확인기능이 설치되어 있어야 한다)

위의 동작방식을 그림으로 표현하면 아래와 같다.

  • 메일을 주고받으려면 보내는사람과 받는사람이 있어야하며 메일을 보내주는 메일서버가 필요하다. 메일을 보내는사람은 lasthackers.com 도메인의 sender 계정을 사용하고 메일을 받는사람은 google.com 도메인의 receive 계정을 사용한다고 가정하자
  1. 만약 정상적인 sender 사용자가 메일을 보내면 SMTP를 통해 lasthackers.com의 메일서버로 전달된다. 이 과정에서는 웹메일을 사용하든 Outlook을 사용하든 메일서버로 메일을 보낼것이다.
  2. lasthackers.com의 메일서버에서는 송신자가 보낸 메일을 받아 수신자의 메일서버(google.com)으로 전달한다.
  3. 수신 메일서버에서 송신 메일서버의 SPF 레코드 값을 확인한다. 이때 수신 메일서버에는 SPF를 체크하는 프로그램이 설치되어 있어야 한다.
  4. 수신 메일서버가 SPF 레코드를 확인하여 수신할지 거부할지 결정한다. 위의 설정의 경우 lasthackers.com 계정으로 받은 메일은 1.1.1.1 IP에서 보냈을것이며 아니라면 Drop 하라는 의미이다.(필드에 관한 내용은 아래에서 다룬다)
  5. 수신 메일서버는 SPF 확인결과 실제 메일을 보내온 lasthackers.com 서버(1.1.1.1)와 IP가 일치하기 때문에 해당 메일을 수신하여 최종 수신자에게 전달한다.

▷ SPF 입력 형식
“v=spf1 mx a:mail.lasthackers.com a:lasthackers.com ip4:49.172.79.12 ~all”
일반적으로 위와 같이 사용한다. 필드별 설명은 아래 표를 참고하기 바란다

▷ SPF 레코드 수식
+ : PASS
– : FAIL
~ : Soft fail
? : Neutral

필드설명사용예시
all주로 SPF 레코드의 가장 마지막에 오고 항상 사용 “v=spf1 mx ~all” 해당 도메인의 MX 레코드를 질의하여 발송서버의 IP와 MX서버의 IP가 일치하면 수신메일서버의 정책에 따라 판단하여 처리함
“v=spf1 mx -all” 해당 도메인의 MX 레코드를 질의하여 발송서버의 IP와 MX서버의 IP가 일치하면 허용
“v=spf1 -all” 해당 도메인은 어떤 서버에서도 메일을 발송하지 않음
“v=spf1 +all” 해당 도메인은 어떤 서버에서도 메일을 수신함
ip4ip4 주소를 정당한 송신서버로 지정“v=spf1 ip4:192.168.0.1 -all” 192.168.0.1의 IP주소일때만 허용한다
ip6ip6 주소를 정당한 송신서버로 지정“v=spf1 ip6:1824::9:122:00c:49e2 -all” 해당 IPv6 주소만 허용한다
a도메인의 A레코드를 정당한 송신서버로 지정“v=spf1 a -all” 현재 도메인일경우 허용
“v=spf1 a:lasthackers.com -all” A레코드가 lasthackers.com 일때만 허용
MX도메인의 MX레코드를 정당한 송신서버로 지정“v=spf1 mx:192.168.0.1 -all” MX레코드 질의결과 송신자의 메일서버 IP와 동일할경우만 허용
include이 도메인의 SPF레코드를 정당한 송신서버로 지정include : example.com

◆ Example

  1. lasthackers.com. IN TXT “v=spf1 ip4:1.1.1.1 -all”
    – lasthackers.com 메일서버에서 들어오는 메일은 보내는서버의 IP가 1.1.1.1 일때만 허용하고 나머지는 거부한다


▷ SPF 설정하기

SPF 설정법은 위의 문법대로 룰을 만들어 호스팅업체의 서브도메인 혹은 자체적으로 도메인서버를 운영중이라면 도메인서버에 존파일에 TXT레코드로 추가하면된다.

0 0 votes
Article Rating
구독
Notify of
guest

1 Comment
Inline Feedbacks
View all comments
1
0
Would love your thoughts, please comment.x