1,000円を切る低価格で登場、「さくらのVPS」をチェック――サーバー構築編 12ページ

メールの送受信および認証をSSLで暗号化する

 先に述べたとおり、SMTP AUTHの「PLAIN」や「LOGIN」方式での認証や、IMAP4/POP3のplaintext認証は盗聴が容易であるため、SMTPSやIMAP4S、POP3SといったSSLによる暗号化通信経由での利用をお勧めする。sendmailやdovecotの設定が一通り完了しているなら、設定は容易だ。

 まず、暗号化に用いる暗号鍵を次のようにして作成する。それぞれに入力する値は適宜環境に応じて変更してほしい。

$ cd /etc/pki/tls/certs  ←デフォルトの暗号鍵ディレクトリに移動
$ sudo make sendmail.pem  ←「sendmail.pem」というファイル名で暗号鍵を作成
 :
 :
Country Name (2 letter code) [GB]:JP  ←使用者の国名を入力。日本なら「JP」
State or Province Name (full name) [Berkshire]:Tokyo  ←使用者所在地の県名を入力
Locality Name (eg, city) [Newbury]:Shinjuku  ←使用者所在地の都市名を入力
Organization Name (eg, company) [My Company Ltd]:example.net  ←使用者の組織名を入力
Organizational Unit Name (eg, section) []:  ←「組織の部署名を入力(空でかまわない)」
Common Name (eg, your name or your server's hostname) []:example.net  ←メールサーバーのホスト名を入力
Email Address []:postmaster@hylom.net  ←担当者連絡先を入力

 次に、「/etc/mail/sendmail.mc」を編集して使用する暗号鍵を指定する。

$ sudo vi /etc/mail/sendmail.mc  ←sendmail.mcを編集する
 :
 :
dnl #
dnl # Rudimentary information on creating certificates for sendmail TLS:
dnl #     cd /etc/pki/tls/certs; make sendmail.pem
dnl # Complete usage:
dnl #     make -C /etc/pki/tls/certs usage
dnl #
dnl define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
dnl define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
dnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
dnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl
(上記のコメントアウトを外して以下のようにする)
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl
 :
 :
dnl # For this to work your OpenSSL certificates must be configured.
dnl #
dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
(上記のコメントアウトを外して以下のようにする)
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
dnl #
 :
 :

 編集後、makeコマンドの実行とsendmailの再起動を行って設定を反映させる。

$ sudo make
$ sudo /sbin/service sendmail restart

 続いて、dovecotの設定を行う。「/etc/dovecot.conf」ファイルを編集し、使用する暗号鍵を指定する。

$ sudo vi /etc/dovecot.conf
 :
 :
# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
#protocols = imap imaps pop3 pop3s
protocols = imap pop3 imaps pop3s  ←imapsおよびpop3sも有効にする
 :
 :
# Disable SSL/TLS support.
#ssl_disable = no
ssl_disable = no  ←「ssl_diable」行のコメントアウトを外す
 :
 :
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
#ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
#ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
(上記2行のコメントアウトを外し、先ほど作成した暗号鍵を指定する)
ssl_cert_file = /etc/pki/tls/certs/sendmail.pem
ssl_key_file = /etc/pki/tls/certs/sendmail.pem
 : 
 :

 最後にdovecotサービスを再起動して設定を反映させる。

$ sudo /sbin/service dovecot restart

 なお、SMTPSやPOP3S、IMAP4SはSMTPやPOP3、IMAPとは異なるポートを利用する。system-config-securitylevel-tuiでファイアウォールの設定を変更し、これらのポートに外部からアクセスできるよう忘れずに設定しておこう(図12)。

図12 ファイアウォールの設定で「Other ports」に「imaps:tcp pop3s:tcp smtps:tcp」を追加しておく
図12 ファイアウォールの設定で「Other ports」に「imaps:tcp pop3s:tcp smtps:tcp」を追加しておく

より詳細な設定は導入ガイドを参照すべし、セキュリティにも注意

 以上、さくらのVPSの基本的な設定と各種サーバーのインストールについて解説してきたが、ここで説明してきた設定はあくまで「サーバーを利用できるようにする」ための最低限の設定である。そのため、環境に応じて柔軟に設定を追加、変更してほしい。

 ここで紹介した以外のソフトウェアの設定については、CentOSと互換性があるRed Hat Enterprise Linuxのドキュメント「Red Hat Enterprise Linux導入ガイド」で詳細に解説されているので、こちらを確認してほしい。

 なお、VPSでは共有型のレンタルサーバーとは違い、ユーザーが環境構築の全責任を負うこととなる。特にセキュリティ面などで不備があると、踏み台などにされてほかのサーバーに対し迷惑をかけてしまう可能性がある。低価格のVPSといえども、その点には注意して設定・運用を行ってほしい。

●参考リンク: