imotenのTLS設定を使う方法

 

imotenの設定全般はくずのは探偵事務所さんのサイトが詳しいのでそちらを見てくださいね。

いままで、imotenの送信設定はstunnelを使ってSSL化したsmtpsにしていましたが、なにぶんメモリの少ないDTIのVPSなんで少しでもプロセスを減らして節約したい。
そこで、stunnelの利用をやめてimoten標準機能のTLS設定を使ってみることに。
基本的に、imotenの設定はくずのはさんのところにならっています。

秘密鍵の作成

まずは、VPSにログインしてsuでrootになる。

[root@ ~]# cd /etc/pki/tls/certs でcertsディレクトリに移動
[root@ certs]# make imotentls.key で秘密鍵作成

作成中にパスフレーズを聞かれるので自分で考えて入力

Enter pass phrase: (入力しても見えない)
Verifying - Enter pass phrase:(入力しても見えない)
(確認なのでもう一度同じパスフレーズを入力してください)

秘密鍵ファイルimotentls.keyができました。

証明書の作成(ただしオレオレ証明書)

[root@ certs]# make imotentls.crt で証明書作成

秘密鍵のパスフレーズを聞かれるので入力

Enter pass phrase for imotentls.key:(入力しても見えない)

引き続き証明書作成に必要な項目を聞かれるので入力
(なにも入れなくてEnter繰り返しでもOK)

Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Osaka
Locality Name (eg, city) [Newbury]:Daito
Organization Name (eg, company) [My Company Ltd]:todotantan
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:todotan.com
Email Address []:

証明書ファイルimotentls.crtができました。

PKCS#12形式に変換

作った秘密鍵+証明書をimotenが扱えるPKCS#12形式に変換します

[root@ certs]# openssl pkcs12 -export -inkey imotentls.key -in imotentls.
 crt -out imotentls.p12

秘密鍵のパスフレーズを聞かれるので入力

Enter pass phrase for imotentls.key:(入力しても見えない)

PKCS#12形式のファイルのパスワードを決めます。(imoten.ini内で使用)

Enter Export Password:(入力しても見えない)
Verifying - Enter Export Password:(入力しても見えない)
(確認なのでもう一度同じパスワードを入力)

以上で秘密鍵と証明書を統合したPKCS#12形式のimotentls.p12ができました。

秘密鍵・証明書・PKCS#12形式のファイルは大事なのでroot以外から触れないようにしておきます。

[root@ certs]# chmod 400 imotentls.*

ちなみに正規に発行された証明書がある場合は以下のコマンドでPKCS#12形式に変換します。

[root@ certs]# openssl pkcs12 -export -inkey <秘密鍵> -in <証明書> -certfile <中間証明書> -out imotentls.p12

imoten.iniの編集

続いてimoten.iniの設定を編集します。

[root@ certs]# cd /usr/local/imoten でimotenディレクトリに移動

imoten.iniのバックアップをとります。

[root@ imoten]# cp imoten.ini imoten.ini.bak

imoten.iniを編集します。

[root@ imoten]# vi imoten.ini

送信設定を以下の通りにします

sender.smtp.port=587 ←この行は確認
sender.smtp.tls.keystore=/etc/pki/tls/certs/imotentls.p12 ←追加
sender.smtp.tls.keytype=PKCS12 ←追加
sender.smtp.tls.keypasswd=PKCS#12形式作成時のパスワード ←追加

補足ですが、送信用ポートはくずのはさんの推奨設定だと元から587だと思いますので、下3行のsender.smtp.tls.~を設定してください。
(ポート番号を変えている人はサブミッションポートの587に変更が必要です)

[Esc]:wqで保存して終了。

stunnelの停止

stunnelが不要かつ接続を受け付けるポートが競合するので停止します。

[root@ imoten]# /etc/init.d/stunnel stop
$”Stopping stunnel: ”                                    [  OK  ]

自動起動もしないようにします。

[root@ imoten]# chkconfig stunnel off
[root@ imoten]# chkconfig --list stunnel
stunnel         0:off   1:off   2:off   3:off   4:off   5:off   6:off

すべての起動モード(0~6)でoffになっていればstunnelの変更完了です。

なお、これまでstunnelをつかった受信ポートを587以外に設定しているひとは、iptableの設定も見直してください。

imotenの再起動

VPS側の設定は終了ですので、imotenを再起動してTLSを使うようにします。

[root@ imoten]# /etc/init.d/imoten restart
Stopping imoten (i mode mail tensou)...
Stopped imoten (i mode mail tensou).
Starting imoten (i mode mail tensou) with test action:  with test action: ...

imotenが無事起動すればVPSでの作業は終了です。あと一息!

Gmailでのアカウント再設定

Gmailのアカウントで送信設定の変更をします。

  1. https://mail.google.com/ からGmailにログイン
  2. 歯車アイコンをクリック→設定を選ぶ
  3. 設定→アカウントとインポート→名前 のところのimotenサーバを指定しているところの「情報を編集」をクリック
  4. サブウインドウが開くので「次のステップ」
  5. SMTPサーバーのポートを587、TLSを使用したセキュリティで保護された接続(推奨)を選択して「変更を保存」

以上でGmail側の送信設定が終了します。

iPhoneのMail.appでExchange経由のGmail設定が完了していれば、以上でTLS方式での送信に対応できました。

送信サーバで直接imotenのsmtpを指定している場合や、そのほかのメールアプリを使用している場合はSSLからTLSへの再設定が必要になります。