独自ドメイン&サーバーで、スパムメールにならないように対策する

ここしばらく最近、メールを自分のサーバーから送信する場合、SPFレコードとDKIMの設定をしないと、相手に届かない。
(どころか、迷惑メールにさえも入らず、事実上消えたメールとなってしまい、たちが悪い)

debian@vps.thld.com で、SPFレコードとDKIMの設定

DNSにSPFレコードを追加する

ホスト名 レコード TTL VALUE

vps.thld.com TXT 5 v=spf1 +ip4:181.183.20.140 -all

設定確認

$ nslookup -type=TXT vps.thld.com
 
Non-authoritative answer:
vps.thld.com   text = "v=spf1 +ip4:181.183.20.140 -all"

となればOK

Sender ID Framework SPF Record Wizard
http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/default.aspx

DKIMの設定

OpenDKIM インストール

$ sudo apt-get install opendkim opendkim-tools

OpenDKIM 設定ファイル1
$ sudo vim /etc/opendkim.conf

設定内容

Domain                  vps.thld.com
KeyFile                 /etc/postfix/dkim.key
Selector                mail
SOCKET                inet:8891@localhost

OpenDKIM 設定ファイル2
$ sudo vim /etc/default/opendkim

設定内容

SOCKET="inet:8891@localhost"

Postfix設定ファイル
$ sudo vim /etc/postfix/main.cf

追加内容

# DKIM
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

OpenDKIM key作成

$ opendkim-genkey -t -s mail -d vps.thld.com

OpenDKIM keyのコピー

$ cp mail.private /etc/postfix/dkim.key

OpenDKIM レコードを表示
$ cat mail.txt

mail._domainkey IN      TXT     ( "v=DKIM1; k=rsa; t=y;  p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDfPWSg3OvzK3s6bI4ZjcKRfn1VFTMfQIjFjzsVrrguKHCzbJoSKoHt/wf3NWPmAYG9/sNg+IZj2SUZT3+x8CkbSxsQFuUSuMsmXABSfGsRVPzr" )  ; —– DKIM key mail for vps.thld.com

DNSにレコードを追加する
ホスト名

mail._domainkey.vps.thld.com

タイプ TXT
コンテンツ

v=DKIM1; k=rsa; t=y;  p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDfPWSg3OvzK3s6bI4ZjcKRfn1VFTMfQIjFjzsVrrguKHCzbJoSKoHt/wf3NWPmAYG9/sNg+IZj2SUZT3+x8CkbSxsQFuUSuMsmXABSfGsRVPzr

サービス スタート・再起動

$ sudo service opendkim start
$ /etc/init.d/postfix restart

OpenDKIMレコード確認コマンド

$ dig mail._domainkey.vps.thld.com TXT

;; ANSWER SECTION:
mail._domainkey.example.com. 300 IN   TXT
"v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA・・・"

を確認。

実際メールを送信してみてヘッダーを確認してみる。

DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=vps.thld.com; s=mail;
    t=1425721111; bh=wE7NXSkgnx9PGiavN4OZhJztvkqPDlemV3OGuEnLwNo=;
    h=To:Subject:From:Date:From;
    b=XUxMuysYQtwQlXCj4ZYWb5AgvjEVFs9xGkgeLqTc7gWOWrX4oUmlo0temUxbACrb3
     q9X3W17XFrhIZsAvvCe5F+Z3npIao30RD8hi4SYg3xo3XSzKff3iVx13nK4H9dq9YZ
     aDV1r1MQ0ZRq/bpyi1kiL+oa+mJLLWQNT/pI2qpE=

Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of www-data@vps.thld.com designates 181.183.20.140 as permitted sender) smtp.mail=www-data@vps.thld.com;
       dkim=pass (test mode) header.i=@vps.thld.com

spf、dkimともpassとなっている(OK)。

サーバーにPOPサーバーをたててwww-data@vps.thld.comを受信できるようにする

Postfixの設定

home_mailbox = Maildir/
# mailbox_command = procmail -a “$EXTENSION” コメントアウトする

設定のリロード。

$ sudo service postfix reload

Dovecotの設定

インストール

# aptitude -y install dovecot-core dovecot-pop3d dovecot-imapd

# インストール中、以下のように独自 SSL 証明書を作成されるか問われる
# とりあえず「No」
+———————–+ Configuring dovecot-core +————————+
|                                                                           |
| An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS.   |
| No such certificate was found.                                            |
|                                                                           |
| Please choose whether you want to create one now. This will then be a     |
| self-signed certificate.                                                  |
|                                                                           |
| If you choose not to create a certificate, please adapt Dovecot’s         |
| configuration file (/etc/dovecot/conf.d/10-ssl.conf).                     |
|                                                                           |
| Create a self-signed SSL certificate?                                     |
|                                                                           |
|                    <Yes>                       <No>                       |
|                                                                           |
+—————————————————————————+

# vim /etc/dovecot/dovecot.conf

# L30:変更 ( IPv6をリスンしない場合 )
listen = *

# vim /etc/dovecot/conf.d/10-auth.conf

# L10:コメント解除し変更(プレーンテキスト認証も許可する)
disable_plaintext_auth = no

# L100:追記

auth_mechanisms = plain login

# vim /etc/dovecot/conf.d/10-mail.conf

# L30:Maildir形式に変更
mail_location = maildir:~/Maildir

# vim /etc/dovecot/conf.d/10-master.conf

# 96-98行目:コメント解除し追記
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
     mode = 0666
     user = postfix
     group = postfix
}

# vim /etc/dovecot/conf.d/10-ssl.conf

# L6:コメント解除して変更(SSLなし)
ssl = no

# 12,13行目:コメントにする
#ssl_cert = </etc/dovecot/dovecot.pem
#ssl_key = </etc/dovecot/private/dovecot.pem

# initctl start dovecot
dovecot start/running, process 1337

まだメールが届かない

cat /var/log/mail.logみると、relay access が拒否されているらしい

/etc/postfix/main.cf
mydestination = localdomain, localhost, localhost.localdomain, localhost,vps.thld.com(→追記)

/etc/init.d/postfix restart

DNSサーバーにMXレコード追記

ホスト vps.thld.com
MX vps.thld.com 10

以上で、

pop3サーバ : vps.thld.com
ユーザ名 : debian (ユーザ名)
パスワード : password (パスワード)

受信OK

MS宛申し立て

gmail、Yahooメールは、以上の設定でとりあえず「最低限迷惑メール化」するのだが(最悪、迷惑フォルダをご確認くださいといえる)、hotmail(含 live.jp、outlook.com)はこれでもスパムフィルターにひっかかる可能性がある。
その場合は、以下より申し立てする。

https://support.msn.com/eform.aspx?productKey=edfsmsbl2&ct=eformts

1-2時間して、「上記の IP アドレスにつきましては、条件付きの緩和処置を実施いたしました。ブロックは解除されましたが、IP アドレスの評価が確立されるまで、メールの送信制限を受ける可能性がございます。
なお、この緩和処置は、ユーザー様の受信トレイへの配信が保障されるものではないことを、予めご了承ください。」と返信があり、フィルターは解除された。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です