解説:メールサーバの仕組みと構築のポイント
メールは、企業活動において欠かせないものです。しかし、標的型メール攻撃のような、メールを介したセキュリティ攻撃や事故の発生による情報漏洩が数多く報告されています。こうしたメールセキュリティの問題は企業に致命的なダメージを与える可能性があるため、メールサーバ構築の際には、セキュリティに対して入念に検討しておくことが不可欠です。また、セキュリティ以外にも、メールサーバを構築するにあたって考慮・検討しなければならないことは数多くあります。
- +
目次
メールサーバの仕組み
メールサーバは、大きく分けて、MTA(Mail Transfer Agent)とMDA(Mail Delivery Agent)の2つの機能から成り立っています。
MTA
MTAは、メールの配送を担う仕組みです。SMTP(Simple Mail Transfer Protocol)を使って、サーバ間でメールを送受信します。メールサーバは、宛先のドメインを管理しているサーバとそのIPアドレスをDNSサーバーに問い合わせて割り出し、メールを配信します。ただ、送信先メールサーバが最終的なメールの受け取りをするかどうかは分かりません。メールは、そのメールサーバで配信完了になるかもしれませんが、他のメールサーバに転送されるかもしれません。
メールサーバは、MTAによって配送されたメールを受け取り、各メールアドレスごとに分類し保管します。この保管場所のことをメールスプールやメールボックスと呼びます。
MDA
MDAは、メールの受信を担う仕組みです。メールスプールに保管されたデータを、PCやスマートフォンのようなクライアントにメールを届けます。MDAに使われている仕組みとしては、POP3(Post Office Protocol Version 3)とIMAP4(Internet Message Access Protocol)の2つ種類の受信プロトコルがあります。
最近では、MTAの機能を拡張し、メール送信者を認証する仕組み(SMTP AUTH)やウイルスチェック、暗号化などのセキュリティ技術を組込むようになりました。また、MDAにも全文検索機能やフィルタリング機能を持たせたりすることもあります。
メールの利用者が多い場合には、複数のメールサーバを協調して動かしたり、データ保護のためにシステムを冗長化することもあります。またメールユーザのIDやパスワードを管理するための認証サーバと連携することもあります。
このように、メールサーバは様々な仕組みが連携して動作する1つの複雑なシステムになっているのです。
メールサーバ構築のステップ
メールサーバを構築するにあたって、具体的に次のステップが必要となります。
- メールサーバの要件
- メールサーバを構築
- メールサーバの移行
- メールサーバの運用
以下では、各ステップにおける重要なポイントを紹介します。
メールサーバの要件
構築するメールサーバの要件を明確にするため、ディスク容量の決定、受信プロトコルの選択、性能要件など、構築前に様々なことを検討する必要があります。以下では、検討すべき要素について解説します。
メールサーバのソフトウェアの選択
メールサーバのソフトウェアを選択する時には、ソフトウェアの汎用性や脆弱性対策を検討する必要があります。メールは古くからインターネットで使われてきた技術です。そのため、当初からOSSが使われてきました。現在でも製品よりもOSSのメールサーバが非常に高いシェアを持っていて、OSSのメールサーバが事実上の標準です。
メールサーバを構築する際に広く利用されているOSSとしては、PostfixやSendmail、qmailなどがあげられます。また、POP/IMAPサーバとしては、Dovecotやcourier-imapなどが知られています。
メールサーバに必要な機能とは何か
メールサーバ構築の前に、満たすべき機能を洗い出すことが必要です。その次に、その機能を満たすためには、どのソフトウェアを利用する必要があるかを検討しておきます。そうすることで、ソフトウェアやその設定をまとめることができます。また、ユーザの数からメールサーバをどれほどの規模にするか決めておく必要があります。
「Linuxメールシステムで無料で使えるおすすめOSS 比較29選」へ
メールサーバの性能を試算
メールサーバ構築前、性能について検討しておきます。ユーザー数、一人あたりの一日の利用データ量、メールサーバの構成からどれくらいの性能になりそうか試算します。その数値が、メールサーバの性能として要件を満たしているか確認します。性能を向上したい場合には、次のような方法があります。
SMTPサーバを分離
外部からメールを受け取る役割のSMTPサーバと、内部のユーザがメール送信に利用するSMTPサーバに分離します。それぞれの役割ごとに専用のSMTPサーバを置くことで、性能を向上することができます。また、それぞれのSMTPサーバの役割が明確に分かれ、セキュリティ設定も分かりやすくなり、より安全なメールサーバを構築することが可能です。
複数のメール受信サーバのロードバランス
メール受信サーバをいくつか配置し、処理を適正に分散させることで、メールサーバとしての性能を向上します。サービス監視を同時に導入することで、停止している受信サーバには処理が振り分けられないようにすることが可能です。そのため、ロードバランスを行うことで、障害時やメンテナンス時にも安心なメールサーバを構築することができます。
メールサーバのセキュリティはどうするか
メールサーバ構築前に、セキュリティに関して十分に検討することも重要です。標的型メール攻撃の増加により、以前よりも重要度は増しています。次のことを検討します。
このようにメールサーバのセキュリティを検討する要素は様々あります。昨今、標的型メール攻撃の増加により、メールサーバのセキュリティ対策の重要性は以前よりも増しています。標的型メール攻撃以外にも、メールの不正中継やDoS攻撃など、メールサーバは常に攻撃の対象になる可能性があります。メールサーバを安全な状態で運用していくためにも、メールサーバを構築する前にセキュリティについて検討しておく必要があります。
「添付ファイル付きメールを自動で安全化するOSS〜SaMMA〜」へ
受信プロトコルの選択(POP/IMAP)
- POP
POPは、メールサーバに届いているメールをユーザのPCにダウンロードします。POPでは、ユーザのPCがメールの受信終了すると、メールサーバにあったメールは削除されます。特に、ISPからのメールダウンロードの用途でPOPを利用する場合が多くあります。
- IMAP
IMAPでは、メールサーバ側でメールの保存や処理を実施します。そのため、IMAPではユーザのPCにメールを保存する必要がありません。IMAPは、メールサーバ上に複数のメールフォルダを作成することができます。そのため、IMAPはPOPに比べて複雑で、メールサーバの負荷も大きくなります。
一方で、IMAPではメールを集中管理できるため、バックアップやセキュリティ上のメリットが大きいと言えます。また、IMAPはメールサーバで処理を行うといったことから、記憶容量が小さかったり、処理性能が低かったりするスマートフォンなどの端末で利用が進んでいます。
POPやIMAPでは、メールサーバとユーザとのデータの交換を、暗号化しない平文認証が広く使われていますが、セキュリティ上の問題があるため、SASLなどを使って、暗号化認証を行うようにすることが推奨されています。また、SSLの技術と組み合わせた暗号通信POP over SSLやIMAP4 over SSLを利用する方法もあります。
メールサーバのディスク容量
メールサーバ構築では、ユーザ数、メール一通あたりのデータ量、平均のメール数から必要なディスク容量を見積ります。複数のサーバが必要な場合には、データとアカウントの共有が必要となります。
- データの共有
複数のメールサーバでデータの共有をする場合に、よく利用するのがNFSサーバというファイルサーバです。NFSサーバにデータの実体が存在しています。各メールサーバからは、NFSサーバのディレクトリをネットワーク越しにマウントすることで、同じファイルを共有することができます。
- アカウントの共有
アカウントを共有する場合には、LDAPを利用することが多くあります。認証情報のように更新頻度が高くないデータの場合には、データベースよりもLDAPの方が高速であり、システムへ負荷をかけないためです。
どうやってメールを見るか
メールを見る方法には、様々な方法があります。通常、メールを見るには、ユーザの端末に、メールソフトを用意する必要があります。ThunderbirdやOutlook Expressなどが有名です。一方で、WEBメールでは、WEBインタフェースを利用してメールの送受信を行うため、場所や端末を選ばずメールを利用することができます。運用面では、WEBメールの方が、全てのユーザが同一のメールクライアントを利用することになるため、ユーザに対するサポートがしやすいという利点があります。OSSのWEBメールソフトとしてはRoundcubeが有名です。Roundcubeは日本語での処理に完全に対応している訳ではありませんが、デージーネットが提供しているRoundcube商用サポートで、日本語対応を強化したパッケージをご利用いただけます。
「無料で使えるWebメールソフトのおすすめOSS〜Roundcube〜」へ
メールサーバの稼働条件を検討
メールサーバは、ビジネスで広く活用されています。メールサーバが停止してしまうと非常に大きな影響が出ます。そのため、メールサーバ構築の前に、メールサーバの稼働条件を検討する必要があります。具体的には、メールサーバをどこに構築するか、メールサーバの冗長化をどうするかを検討します。
メールサーバは、クラウド上やレンタル・サーバ上に構築することもできます。また、オンプレミスに構築することもできます。クラウド上やレンタルサーバ上に構築する場合には、セキュリティには十分に配慮する必要があります。
メールサーバの冗長化は必ず行わなければならないことではありません。しかし、障害が発生しメールサーバが停止すると、上述したように非常に大きな影響が出ます。なので、デージーネットでは、レンタルサーバ/クラウド/オンプレミスのどの場合でも、メールサーバの冗長化を推奨しています。冗長化を行うことで障害が発生した場合でも、常にシステムが稼働している状態を保つことができ、安心して運用できます。このように、実運用を想定し、メールサーバ構築前にメールサーバの稼働条件を検討しておくことも大切です。
メールサーバを構築
メールサーバの構築は万全の準備をしてから行う必要があります。ここでは、メールサーバを構築する際に行う準備を説明します。
様々な場面を想定したテストを実施
メールサーバを設計する際には、構築前に決めた設計書に基づいてテストを行い、設計書の通りに動作するかを確認します。その際に、デージーネットでは、設計書にある要件をすべて確認できるようなテスト項目を作成します。テスト項目の作成は、実際に設定を行う人が担当します。
そして、設定する人とは別の人が、作成したテスト項目を確認します。設定する人と確認する人を分けることで、レビューの客観性を確保しています。設定する人とは別の観点で確認することで、テスト項目の質を向上することができます。そして、作成したテスト項目に沿って設計書通りに動作することを確認してから、実際の構築に入っていきます。
このように万全の準備をしてからサーバを構築することが重要です。
メールサーバの移行
サーバの運用前の準備として確認するべきことがあります。ここからは、メールデータの移行とメールサーバの切り替えについて説明します。
メールデータの移行
サーバのリプレースの場合には、リプレイス前のサーバからメールデータを移行する必要があります。メールデータの移行は、単にファイルをコピーするだけで済むこともあります。しかし、既存サーバが製品の場合には、メールデータの保管形式が公開されていない場合もあります。
最も適切な方法を選択するため、事前に既存のサーバを調査し、データの形式やユーザ管理の方法を把握しておく必要があります。そして、それに合わせて新しいサーバの設定を行っておきます。
サーバの切り替え
サーバを切り替える際の理想は、ユーザが切り替わったことに気付かないくらいスムーズに切り替えを行うことです。デージーネットでは、蓄積したノウハウをもとに、最も影響の少ない切り替え方法を検討し提案します。また、デージーネットでは、メールサーバの切り替え前には、必ずリハーサルを行っています。本番と同じ環境の下でリハーサルを行い、問題が発生した場合には、問題を解決してから本番切り替えを行います。過去には、インターネットサービスプロバイダーのシステムリプレースや、企業のグループウェアからのデータ移行などを行った実績がございます。興味のある方はぜひお問合せください。
メールサーバの運用
構築後のメールサーバの運用では、サーバの監視やセキュリティを継続して行う必要があります。ここでは、メールサーバ運用時の動作確認について解説しています。
構築後の動作確認
サーバの構築後は、定めた要件をサーバが満たしているかどうかを確認することが重要です。しかし、デージーネットでは、それだけでは不十分だと考えています。例えば、システムを多くの人が同時に使用した場合にも問題なく応答するのかなど、実際の稼働状況に合わせて確認することが必要です。メールサーバ構築後には、使いたい機能が使えるかということの他に、次のような観点で確認をすることが必要です。
- 他のサーバに影響は出ていないか
- セキュリティは問題ないか
他のサーバに影響は出ていないか
サーバの構築後には、連携しているサーバにも影響が出ていないかを確認します。メールサーバは多くのサーバと連携している場合があります。そのため、構築したサーバだけではなく、周辺のサーバにも影響が出ていないかを確認しておく必要があります。
セキュリティは問題ないか
メールサーバの構築後にセキュリティを確認する際は、「できないこと」を確認することが大切です。例えば、アクセス制限に関する設定を追加した場合、「想定どおりにアクセスが許可されること」は確認すると思います。その際に「許可していないアクセスが禁止されること」も併せて確認することが必要です。
「できないこと」を確認するのは、確認用のアカウントを使用したり、許可されていないネットワークから接続したりと手間のかかる面があります。しかし、メールサーバのセキュリティを安全に確保するためにはとても重要な作業です。
問題発生時への備え
メールサーバの監視
メールサーバの運用においては、不具合が生じていないか監視し、一早く不具合に気づき対処できるようにする仕組みを導入することが重要です。監視は、メールサービスが動作しているか、停止しているかだけでなく、普段の状態を見ておくという点で活用できます。
例えば、トラフィック監視、CPUの使用率を監視しておき、平常時の値を知っておけば、異変が起き始めた段階で気づくことが可能です。このように、普段の監視により、メールサービスが機能しなくなる前に対応することができるようになります。
メールサーバのトラブルへの対応
メールサーバ運用時には、様々なトラブルが発生する可能性があります。デージーネットでは、こうした日々のトラブルに対応するため、導入後支援(Open Smart Assistance)を用意しています。
日常の運用をしていく中で、安心してサーバを利用して頂くため、Q&Aや障害調査、障害回避により、システム管理者の業務をサポートします。
関連ページ
Linuxメールシステムで無料で使えるおすすめOSS 比較29選
メールソフト(MUA)、高度なメールの管理を行うソフトウェア、メールの管理を行うツールなど、メールシステムで使えるOSSを紹介します。
OSSのおすすめメーリングリストとは?比較9選
メーリングリストは、登録されたメールアドレスにメールを一斉配布するための仕組みです。このページでは、主な選定のポイントについて解説します。
メールシステムの構築
業務上欠かす事ができないメールシステムをより便利に、より安全にご利用いただくためのシステムをご提案致します。
メールサーバセキュリティ診断[MSchecker]
メールセキュリティへの関心が高まる中、メールセキュリティのチェック項目を整理して、誰でも簡単にチェックできるツールはありませんでした。本サイトでは、メールアドレスを入力するだけで、メールサーバのセキュリティを無料でチェックできます。
構築事例
メールシステム・ActiveDirectrory連携事例
メールシステムのリプレース時に、社内で利用しているActiveDirectoryのユーザデータを使って、メールシステムのユーザ管理を行うようにした構築事例です。社内のファイルサーバや業務システムとユーザ管理を統合することができました。
メールサーバ冗長化事例
オープンソースソフトウェアのheartbeat/DRBDを使って、メールシステムを冗長化しました。MTAとしては、Postfixを採用し、OpenLDAPを使ってユーザアカウントの管理を実施。さらに、LDAPでのユーザアカウントの管理や操作を簡単に行えるよう、postLDAPadminを利用しました。
標的型メール攻撃対策システム構築事例
本事例は、オープンソースソフトウェアのSaMMAとENMAを組み合わせて、送信者を偽装したメールの添付ファイルを自動的に削除することで、標的型攻撃を回避する機能を実現したものです。
メールサーバ(添付ファイル暗号化)構築事例
デージーネットで開発したオープンソースソフトウェアのSaMMAを使って、メールの添付ファイルを自動的に暗号化するシステムを構築した事例です。
RoundcubeによるWebメールサーバ構築事例
オープンソースソフトウェアのRoundcubeにプラグインとカスタマイズを組み合わせて、Webメールシステムを構築した事例です。