기존에 구글에 대량메일을 보내기 위한 opendkim 설치 및 운용 방법을 올렸었다.
DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC는 SPF, DKIM의 검사 결과를 기초로 TXT 레코드의 내용에 따라 메일 발송 차단, 혹은 자신의 메일 도메인을 도용한 스푸핑 메일에 대한 보고 등을 설정할 수 있는 유용한 툴 이다.
사용법은 opendkim 보다 쉽지만 일부 설정값이 dkim을 필요로 함으로 dkim 과 dmarc 를 같이 진행하는것이 좋다.
설정을 위해서는 도메인이 있어야 하며
사전에 메일 발송서버의 IP 와 DNS A 레코드에 정식등록된 서버명이 필요로 한다.
여기서 설명은 서버아이피 123.123.123.123 의 호스트네임 mail01.enteroa.com 을 기준으로 설명 한다.
설치는 CentOS7 에서 진행을 하였습니다.
1 2 |
~]# yum install opendmarc ~]# wget --no-check-certificate -q -N -P /etc/opendmarc https://publicsuffix.org/list/effective_tld_names.dat |
설치는 끝…
설치 완료 후 vi 를 이용하여 /etc/opendmarc.conf 파일을 수정 합니다.
1 2 |
AuthservID mail01.enteroa.com PublicSuffixList /etc/opendmarc/effective_tld_names.dat |
1 2 |
~]# cd /etc/mail ~]# vi sendmail.mc |
sendmail.mc 파일의 하단에 opendmarc 필터를 추가합니다. (:8891 = open dkim) (:8893 = dmarc)
1 |
INPUT_MAIL_FILTER(`opendmarc', `S=inet:8893@127.0.0.1')dnl |
make를 하고 sendmail 을 재시작 합니다.
1 2 3 4 |
~]# pwd /etc/mail ~]# make ~]# systemctl restart sendmail |
서버 설정이 끝났습니다.
다음은 DNS 설정으로 TXT 레코드 등록을 진행합니다. (서버연결롱 A 레코드 및 _dmarc TXT 레코드 입니다.)
1 2 |
mail01 IN TXT 123.123.123.123 _dmarc IN TXT v=DMARC1; p=quarantine; rua=mailto:enteroa@enteroa.com |
시작서비스 등록 및 서비스 시작.
1 2 |
~]# systemctl enable opendmarc ~]# systemctl start opendmarc |
아울러 지속적인 운영을 위해 suffix 파일을 주기적으로 업데이트 해야 합니다.
1 2 |
~]# touch /etc/cron.weekly/opendmarc_suffix_update.sh ~]# chmod 700 /etc/cron.weekly/opendmarc_suffix_update.sh |
1 2 |
#!/bin/bash /usr/bin/wget --no-check-certificate -q -N -P /etc/opendmarc https://publicsuffix.org/list/effective_tld_names.dat |
구글의 DMARC 메뉴얼 입니다.
https://support.google.com/a/answer/2466563?hl=ko
아래는 dmarc wiki 입니다.
https://dmarc.org/wiki/FAQ#When_can_I_expect_to_receive_my_first_aggregate_report.3F