查看完整版本: 在 Ubuntu 16.04 安裝 OpenDKIM 郵件驗證


bruceman 2018-6-17 10:59

在 Ubuntu 16.04 安裝 OpenDKIM 郵件驗證

隨著垃圾郵件的猖獗,釣魚郵件的犯罪活動,一切已變得不一樣。<br>Open Relay再不存在,每封郵件都需要經過重重把關才能送到收信者的 Inbox。<br>否則會被扔到 Spam Folder 甚至直接拒收。<br><br>用過 SMTP 的應該都知道 “From” Address 是可以隨便冒認的。<br>如果銀行等的 Email Address 被冒認來發釣魚網站連結後果就嚴重了!<br>SPF 和 DKIM 的出現是要解決這保安漏洞。<br><br>1. 首先安裝 Postfix 及 opendkim<br># <font color="DarkOliveGreen">apt-get install postfix mailutils opendkim opendkim-tools</font><br>&nbsp;&nbsp; &nbsp;<br>2. 設定 Mailname 及 Hostname<br><br>此步驟很重要,否則 SPF 和 DKIM 都會因為 hostname 不符而 Fail<br><br>修改 /etc/mailname,設定為要使用的 FQDN<br><br>再修改 /etc/postfix/main.cf ,設定 myhostname 為要使用的 FQDN<br>myhostname = domain.com<br><br>3. 設定 DKIM (DomainKeys Identified Mail)<br><br>DKIM 的原理是用公私鑰驗證 Sender 的真偽。<br>Public Key 放在 DNS TXT Record,而 Private Key 存放在 Server,而每封 Email 帶有 DKIM-Signature。<br>這樣只要驗證 DKIM-Signature 是否和 Public key 相符就可以知道郵件的真偽。<br><br>修改 /etc/default/opendkim, Listen 本地 8891 Port<br>SOCKET="inet:8891@localhost"<br><br>4. 設定 Multi Domain 免除麻煩<br><br>如果有多於一個Domain要DKIM簽名:<br>(DKIM signing multiple domain names)<br>[quote]<br><font color="DarkGreen">為每個新增Domain Name新增一個Directory</font><br><br># mkdir -p /etc/opendkim/keys/domain1.com<br># mkdir -p /etc/opendkim/keys/domain2.com<br><br><font color="DarkGreen">為每個 Domain 生成 Public key 及 Private key , 使用 2048 bit 的憑證</font><br><br># cd /etc/opendkim/keys/domain1.com/<br># opendkim-genkey -b 2048 -t -s default -d domain1.com<br><br># cd /etc/opendkim/keys/domain2.com/ <br># opendkim-genkey -b 2048 -t -s default -d domain2.com<br><br><br><font color="DarkGreen">照樣把各 </font><font color="DarkGreen">default.txt 的內容各自加入到 DNS Zone 或 把引號 ” 內加入到 DNS Server</font><br><br>Name: default._domainkey<br>Value: v=DKIM1; k=rsa; t=y; p=MIG...QAB<br>&nbsp;<br><font color="DarkGreen">不要忘記修改 Permission 讓 opendkim 讀取 keys</font><br><br># chown -R opendkim:opendkim /etc/opendkim<br><br><font color="DarkGreen">修改 /etc/opendkim.conf, 新增以下設定</font><br><br># Key table<br>KeyTable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/opendkim/KeyTable<br>SigningTable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/opendkim/SigningTable<br><br><font color="DarkGreen">建立 /etc/opendkim/KeyTable, 新增以下設定</font><br><br>default._domainkey.domain1.com domain1.com:default:/etc/opendkim/keys/domain1.com/default.private<br>default._domainkey.domain2.com domain2.com:default:/etc/opendkim/keys/domain2.com/default.private<br><br><font color="DarkGreen">建立 /etc/opendkim/SigningTable, 新增以下設定</font><br><br>domain1.com default._domainkey.domain1.com<br>domain2.com default._domainkey.domain2.com<br>[/quote]<br><br><font color="Blue">修改 /etc/postfix/main.cf 指示 Postfix 使用 DKIM Sign Outgoing mail</font><br># DKIM<br>milter_default_action = accept<br>milter_protocol = 6<br>smtpd_milters = inet:localhost:8891<br>non_smtpd_milters = inet:localhost:8891<br><br>Start OpenDKIM 及 Restart Postfix<br># service opendkim start<br># service postfix restart<br><br>DKIM 設定完成,之後可再設定完 SPF 再一併測試,請參考這篇說明:<br>http://dz.adj.idv.tw/thread-136297-1-1.html<br><br>然後可以在本機使用 mutt 寄信測試:<br># apt install mutt<br># echo "test content" | mutt -s "test subject" service@adj.idv.tw<br><br>參考資料:<br>https://blog.tiger-workshop.com/ubuntu-postfix-mail-server-mta-outgoing-spf-dkim-rdns-dmarc/
頁: [1]
查看完整版本: 在 Ubuntu 16.04 安裝 OpenDKIM 郵件驗證