메일 설정 · 2 min read · Sep 27, 2025
Postfix에서 dkim-milter 2.8.x로 여러 도메인에 대한 DKIM 설정 (CentOS 5.3)
Postfix에서 dkim-milter 2.8.x로 여러 도메인에 대한 DKIM 설정 (CentOS 5.3)
소개
DomainKeys Identified Mail (DKIM) 인터넷 표준은 이메일 발신자가 메시지를 디지털 서명할 수 있도록 하여 수신자가 해당 메시지가 위조되지 않았음을 확인할 수 있게 합니다. DKIM 발신자 인증 체계는 메시지의 수신자가 메시지가 발신자의 도메인에서 시작되었음을 확인하고 메시지 내용이 변경되지 않았음을 확인할 수 있게 합니다. 암호화 기반 솔루션인 DKIM은 기업에 이메일 사기를 완화하고 조직의 브랜드 및 평판을 상대적으로 낮은 구현 비용으로 보호할 수 있는 산업 표준 방법을 제공합니다. DKIM 기본 사양은 Sendmail, Inc.가 Cisco 및 Yahoo!와 협력하여 주도하고 있습니다.
이 튜토리얼은 Postfix에서 dkim-milter로 DKIM 설정 (CentOS 5.2) 튜토리얼과 제 개인 경험을 바탕으로 합니다. 이 방법이 귀하에게 효과가 있을 것이라는 보장은 하지 않습니다!
설치
Topdog 소프트웨어는 Dkim-milter에 대한 Centos rpm을 http://www.topdog-software.com/oss/dkim-milter에서 제공하므로 최신 버전을 설치하겠습니다. 이 튜토리얼을 작성할 당시 최신 버전은 dkim-milter-2.8.3-1입니다.
dkim-milter rpm을 설치합니다. (32비트 및 64비트 인텔 지원)
wget http://www.topdog-software.com/oss/dkim-milter/dkim-milter-2.8.3-1.i386.rpm
rpm -ivh dkim-milter-2.8.3-1.i386.rpm
키 생성
/usr/bin/dkim-genkey -r -d mydomain1.commydomain1.com을 이메일 서명을 위한 도메인 이름으로 교체합니다. 이 명령은 두 개의 파일을 생성합니다.
default.txt - DNS를 통해 게시하는 공개 키를 포함합니다.
default.private - 이메일 서명에 사용하는 개인 키입니다.
개인 키의 이름을 바꾸고 dkim-milter 키 디렉토리로 이동하여 보안 설정을 합니다.
mv default.private default
mkdir /etc/mail/dkim/keys/mydomain1.com
mv default /etc/mail/dkim/keys/mydomain1.com
chmod 600 /etc/mail/dkim/keys/mydomain1.com/default
chown dkim-milt.dkim-milt /etc/mail/dkim/keys/mydomain1.com/default
중요한 참고 사항: 다른 도메인에 대해서도 이 단계를 반복하고 각 도메인에 대해 별도의 폴더를 사용해야 합니다. 그렇지 않으면 “dkim: FAILED, invalid (public key: not available)” 오류 메시지를 받게 됩니다.
DNS 설정
DNS를 통해 공개 키를 게시해야 합니다. 클라이언트 서버는 이 키를 사용하여 서명된 이메일을 검증합니다. default.txt의 내용은 귀하의 존 파일에 추가해야 하는 줄이며, 샘플은 아래와 같습니다.
default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG81CNNVOlWwfhENOZEnJKNlikTB3Dnb5kUC8/zvht/S8SQnx+YgZ/KG7KOus0By8cIDDvwn3ElVRVQ6Jhz/HcvPU5DXCAC5owLBf/gX5tvAnjF1vSL8ZBetxquVHyJQpMFH3VW37m/mxPTGmDL+zJVW+CKpUcI8BJD03iW2l1CwIDAQAB"
; ----- DKIM default for mydomain1.com
또한 다음을 존 파일에 추가합니다.
_ssp._domainkey IN TXT "t=y; dkim=unknown"
구성
/etc/dkim-filter.conf 파일을 확인해야 합니다.
vi /etc/dkim-filter.conf다음과 같아야 합니다:
ADSPDiscard yes
ADSPNoSuchDomain yes
AllowSHA1Only no
AlwaysAddARHeader no
AutoRestart yes
AutoRestartRate 10/1h
BaseDirectory /var/run/dkim-milter
Canonicalization simple/simple
Domain mydomain1.com #여기에 모든 도메인을 추가하고 쉼표로 구분합니다.
ExternalIgnoreList /etc/mail/dkim/trusted-hosts
InternalHosts /etc/mail/dkim/trusted-hosts
KeyList /etc/mail/dkim/keylist
LocalADSP /etc/mail/dkim/local-adsp-rules
Mode sv
MTA MSA
On-Default reject
On-BadSignature reject
On-DNSError tempfail
On-InternalError accept
On-NoSignature accept
On-Security discard
PidFile /var/run/dkim-milter/dkim-milter.pid
QueryCache yes
RemoveOldSignatures yes
Selector default
SignatureAlgorithm rsa-sha1
Socket inet:20209@localhost
Syslog yes
SyslogSuccess yes
TemporaryDirectory /var/tmp
UMask 022
UserID dkim-milt:dkim-milt
X-Header yes
/etc/mail/dkim/keylist 파일을 확인합니다.
vi /etc/mail/dkim/keylist다음과 같아야 합니다:
*@mydomain1.com:mydomain1.com:/etc/mail/dkim/keys/mydomain1.com/default
참고: 다른 도메인이 있는 경우 이 파일에 추가해야 합니다. 각 줄은 하나의 도메인에 해당합니다.
Postfix 구성
Postfix main.cf 파일에 다음 옵션을 추가하여 milter를 사용할 수 있도록 해야 합니다.
vi /etc/postfix/main.cfsmtpd_milters = inet:localhost:20209
non_smtpd_milters = inet:localhost:20209
milter_protocol = 2
milter_default_action = accept
기존의 milters가 이미 구성되어 있는 경우 dkim-milter 옵션을 기존 milters에 추가합니다.
dkim-milter를 시작하고 postfix를 재시작합니다:
service dkim-milter start
service postfix restart
테스트
[email protected] 또는 [email protected]로 이메일을 보내면 설정이 올바르게 작동하는지에 대한 응답을 받게 됩니다.
업데이트
업데이트된 rpm은 항상 http://www.topdog-software.com/oss/dkim-milter에서 제공됩니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.