最終回 メールを守れ! セキュアなメールサーバ構築法:SELinuxで強化するソリューション(1/3 ページ)
最近注目のSELinuxについて学ぶ同連載、今回は、これまでの知識を総動員して、Postfixを使用したセキュアなメールサーバの構築方法を紹介しよう。
これまで本連載では、SELinuxの基礎を押さえてきた。基本的な内容については前回までに解説した内容でひととおり網羅したので、最終回となる今回は実際にSELinuxを使用した環境構築方法について解説する。Postfixを使用したセキュアなメールサーバの構築方法を紹介しよう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
図1は、今回構築するシステム構成の概念図だ。SMTPサーバとPOP3サーバには、それぞれTurbolinux 10 serverに標準でインストールされるpostfix、pop-3を使用する。加えて、通信経路の暗号化にSMTP over SSLを利用し、これらのサービスをSELinuxサーバ上で構築することでセキュアなメール環境を実現するのが今回のポイントとなる。
環境構築フロー
全体の見通しを良くするために、今回構築するメールサーバの構築フローを以下に示す。まずアプリケーションが正常に動作することを確認した後、permissiveモードで出力されたアクセス拒否ログをもとに、必要なポリシーを追加するという流れになる。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ローカルにメールが配送できるかを確認する
postfixの設定は、まずローカルにメールが配送できるかを確認する。確認の方法としては、ローカルのユーザーあてにメールを送信後、宛先ユーザーでログインしてメールの受信を確認すればよい。ローカルあての送信なので、宛先ユーザーは、同一サーバ内のユーザーとなる。ここでは「isasaki」というユーザーにメールを送信している。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ローカルでのメール配送が正常に行なえることを確認したら、外部のマシンと通信するための設定、ドメインあてのメール*を受信する設定をそれぞれ行なう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
FQDNでホスト名を定義
/etc/sysconfig/networkにてFQDNを登録後、ネットワークを再起動して設定を反映させる。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
main.cfの編集
次に、postfixの設定ファイルである/etc/postfix/main.cfで以下の内容を設定する。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このほか、必要に応じてmynetworksディレクティブでアクセスできるネットワークセグメントを制限しよう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
main.cfを修正後、postfixデーモンを再起動する。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
DNSの指定とメールサーバのDNSへの登録
ローカルあてにメールが配送できることを確認したら、外部のメールサーバに対してメールを送信してみよう。外部のメールサーバに送信するには、宛先メールアドレスのドメインに対し、名前解決ができる必要がある(図2)。
digコマンドなどで正常なレスポンスが返ってこない場合は、DNSの設定を行おう。DNSは、/etc/resolv.conf を編集する。以下の例では、digコマンドで正常に名前解決が行なわれていることがわかる。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次に、DNSサーバにメールサーバの登録(MXレコード*)を行なう。これは、クライアントマシンや外部のメールサーバから名前解決するための設定だ(図3)。DNSへメールサーバの登録が完了したら、外部のメールサーバなどから名前解決できることを確認する。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
動作確認
設定が完了したら、動作確認を行ってみよう。telnetコマンドでポート25(SMTP)に接続することで動作を確認できる。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
コマンドラインで正常動作を確認したら、実際にメールクライアントからメールを送信できるかを確認する。Postfixサーバあてのメールと、Postfixサーバを経由した外部のメールサーバに対してメールを送信してみよう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
SMTP over SSLは、クライアントマシンとサーバ間の通信経路を暗号化する技術で、パスワードやメール本文の盗聴、改ざんなどを防止できる。通信のはじめから暗号化通信を行う方法と、通常のsmtpポートへ接続し、その後に暗号化通信を行うstarttlsの2通りの方法がある。今回は、starttlsを使用する方法について解説する。SMTP over SSLの設定は、以下の手順で行う。
- 証明書の作成
1.サーバ秘密鍵の作成
2.サーバ証明書の作成
3.作成した秘密鍵、証明書のパーミッションを変更
- Postfixの設定
4.main.cf の変更
5.master.cfの変更
以下、詳細な手順について解説していく。
Copyright © ITmedia, Inc. All Rights Reserved.