SMTP SubmissionポートでSTARTTLSを使うための設定
SSL(/TLS) を使うので、ここでは、opensslを使います。
まず、opensslがインストールされていないようなら、インストールしましょう。
$ rpm -qa|grep ssl
openssl-0.9.8e-12.el5_5.7
openssl-devel-0.9.8e-12.el5_5.7
$
|
上記では、インストール済みですが、何も出力されないようなら、opensslをインストールしましょう。
$ yum -y install openssl
...
|
SSL用の証明書を作成する。
さて、SSLに必要なものは、SSL用の証明書です。
この証明書は、一般的には、認証局から発行されているものを用いますが、自前で作成することもできます。
ここでは、自前で作成します。
認証局で発行されているものは、年間使用量も馬鹿になりませんから、本当にネットショップなどで信用を保障しないといけない場合を除き、よく検討した上で契約しましょう。
参考記事 :
SSL認証会社徹底比較
メールのサーバー証明書の作成は、プライベート認証局の証明書、サーバー証明書、クライアント証明書の作成方法について を参照してください。
(ここでは例として、サーバー証明書作成時の Common Name に mail.exmaple.com を指定して作成します。)
ここでは、サーバー証明書、秘密鍵ファイルがそれぞれ以下のファイル名で作成されたものとして、以降、記述します。
- プライベート認証局証明書 → /etc/pki/CA/cacert.pem
- サーバー証明書 → /etc/pki/CA/certs/mail.example.com.crt
- サーバー秘密鍵 → /etc/pki/CA/private/mail.example.com.key
sendmail.mc を設定する。
最後に、SSLを使用するための各証明書(プライベート認証局証明書、サーバー証明書、サーバー秘密鍵)のパスを設定します。
/etc/mail/sendmail.mc を編集します。
...
define(`confCACERT_PATH', `/etc/pki/CA')
define(`confCACERT', `confCACERT_PATH/cacert.pem')
define(`confSERVER_CERT', `confCACERT_PATH/certs/mail.example.com.crt')
define(`confSERVER_KEY', `confCACERT_PATH/private/mail.example.com.key')
...
|
編集を終えたらsendmail.cfを更新します。
$ m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
|
最後にsendmailを再読み込みします。
$ /etc/init.d/sendmail reload
sendmail を再読み込み中: [ OK ]
$
|
メールクライアントからメールを送信してみる。
最後に確認作業です。この確認には、メールクライアントソフトを使って確認するのが間違いが少ないでしょう。
ここでは、フリーメールクライアントソフトのThunderBirdを使ってみます。
メニューの[ ツール ] – [ アカウント設定 ]でアカウント設定画面を開きます。
アカウント設定画面から、送信(SMTP)サーバー を選択し、テストに用いるサーバーを一覧から選択し、[ 編集 ] ボタンをクリックします。
- 説明:
ここでは、例としてtestを入力しています。何でも可。
- サーバー名:
ここでは、例としてmail.example.comを入力しています。正しいメールサーバー名あるいはIPアドレスを設定します。
- ポート番号:
ここでは、Submissionポートを使うので、587を設定します。
- 接続方法:
ここでは、STARTTLSを選択します。
- 認証方式:
ここでは、通常のパスワード認識を選択します。
- ユーザ名:
ここでは、例としてhoge@example.comを入力しています。sendmail設定(2)Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)を使ってみる で記載したSASLで指定したユーザ名になります。
編集を終えたら、OKボタンをクリックして変更内容を保存したら、適当な外部サーバー宛(例えばYahoo!のフリーメールなど)のメールを送信してみましょう。
メールが送信されればOKです。
初回は、以下のようなメッセージが表示され、送信できないかもしれません。
このメッセージと同時に以下のような画面が表示されていると思います。
このメッセージは、「証明書は、勝手に自前で作成した証明書なので、信用性がありません。」という趣旨のものです。
とりあえず、
セキュリティ例外をクリックすると以降、メール送信できるようになります。
更に、その上のチェックボックスにチェックを入れておけば、それ以降、この画面は表示されません。
または、あらかじめ
プライベート認証局の証明書(ここでの例は、/etc/pki/CA/
cacert.pem )をあらかじめメールクライアントツールにインストールしておけば、上記のようなメッセージは表示されません。
以下は、ThunderBirdでの例です。先のプライベート認証局の証明書をダウンロード済として解説します。
- メニュー [ツール] – [オプション] をクリックします。
- オプション画面上の[詳細]をクリック、[証明書]タブを選択します。
[証明書を表示]ボタンをクリックします。
- 証明書マネージャ画面上の[認証局証明書]タブを選択します。
[インポート]ボタンをクリックし、先にダウンロードしたプライベート認証局の証明書を指定しインポートすればOKです。
どうだったでしょうか? STARTTLSが使えましたか?
案外簡単だったんじゃないでしょうか?
個人的には、昔に比べると証明書に関しては、かなり楽になった感じがします。
メールは、ある程度、決まったユーザが利用するので、自前の証明書でもOKですが、
ウェブサイトで用いるSSL用の証明書は、自前のものを使うとウェブブラウザに警告メッセージが表示されてしまうので、考える必要があると思いますね。
SSLも、本当はもっと奥が深いです。ここでは、CA認証局の設定など取り扱わなかったところもあります。
あくまでメールだけなら、これでOKです。会社などで外からアクセスする場合は、これぐらいのセキュリティ設定はやっておきたいところですね。
何かの参考になればうれしく思います。
コメントを投稿 :