最終回 メールを守れ! セキュアなメールサーバ構築法SELinuxで強化するソリューション(2/3 ページ)

» 2005年05月13日 15時00分 公開
[佐々木 生弥(サイボウズ),ITmedia]

証明書の作成

 証明書の作成には、opensslパッケージがインストールされている必要がある。Turbolinux 10 serverでは標準でインストールされるため、すぐに証明書の作成に取り掛かれる。任意のディレクトリにて以下の手順で証明書を作成する。なお、サーバ証明書の作成では、いくつか入力を求められるが、ここではテストとして適当な文字列を入力している。実際の作成時は、適宜入力して欲しい。

  • サーバ秘密鍵の作成
# openssl genrsa -out server.key 1024 ←秘密鍵の作成
Generating RSA private key, 1024 bit long modulus
..++++++
......................................++++++
e is 65537 (0x10001)
  • サーバ証明書の作成
# openssl req -new -x509 -key server.key -out server.crt
↑ サーバ証明書の作成
        :
        :
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Bunkyo-ku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
  • 作成した秘密鍵、証明書のパーミッションを変更
# chmod 400 server.key server.crt

Postfixの設定

 Postfixの設定は、メインの設定ファイルであるmain.cfとmaster.cfにそれぞれ以下の内容を追加する。

  • main.cf の変更
# vi /etc/postfix/main.cf
        :
        :
## for tls config
smtpd_tls_cert_file = /home/sasaki/server.crt
↑ サーバ証明書のパスを指定
smtpd_tls_key_file = /home/sasaki/server.key
↑ 秘密鍵のパスを指定
smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache
smtpd_use_tls = yes ←starttlsを有効化する
  • master.cfの変更
        :
        :
tlsmgr fifo - - n 300 1 tlsmgr

 ファイルの編集が終了したら、postfixデーモンを再起動することで設定が有効になる。

動作確認

 設定が完了したら、コマンドラインからstarttlsが有効になっているかを確認しよう。telnetコマンドでポート25(SMTP)に接続して確認する。「250-STARTTLS」が表示されればstarttlsが有効な状態だ。

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 turbo10.****.******.co.jp ESMTP Postfix
ehlo hoge ←ehloコマンドの送信
250-turbo10.****.******.co.jp
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS ←starttlsが有効な状態
250 8BITMIME
quit
221 Bye
Connection closed by foreign host.

 実際にメールクライアントからもSMTP over SSLで送信できるかを確認したほうがいいだろう*。なお、SMTP over SSLに対応していないメールクライアントもある。Outlook Express、Becky!、Sylpheedなどは、SMTP over SSLに対応したメールクライアントだ。

セキュリティ証明書のアラートが表示される?
送信時にセキュリティ証明書のアラートが表示されるが、テストで作成した証明書を使用しているためで、特に問題ない。[はい]を押下すると正常に送信が行なわれる。

アプリケーションの設定――pop-3の設定
  • ipop3dデーモンを有効にする

 pop-3のデーモンであるipop3dは、デフォルトで有効になっていないため、chkconfigコマンドでサーバ起動時に有効になるように設定する。

# /sbin/chkconfig --list |grep pop-3
        pop-3: off
# /sbin/chkconfig pop-3 on
# /sbin/chkconfig --list |grep pop-3
        pop-3: on

外部からのアクセスを許可する

 postfix同様、デフォルトでは外部からのアクセスが禁止されている。/etc/hosts.allowにて、アクセスを許可するセグメント、IPアドレスを指定する。

# vi /etc/hosts.allow
        :
        :
############
# pop-3
ipop3d : 10.0.0.
↑ 10.0.0.x のセグメントからのアクセスを許可する

 最後に、スーパーサーバであるxinetdを再起動する。

# /etc/rc.d/init.d/xinetd restart
Stopping INET services:                                         OK
Starting INET services:                                         OK

動作確認

 設定が完了したら、動作確認を行なおう。telnetコマンドでポート番号を指定することで動作を確認できる。

# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK POP3 localhost.localdomain 2004.88 server ready
↑ POP3サービスが正常に動作している
quit
+OK Sayonara
Connection closed by foreign host.

 コマンドラインで正常動作を確認したら、実際にメールクライアントからメールを受信できるかを確認してみよう。

 ここまで来ればあとはSELinuxの設定だけである。もう一息だ。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ