Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
第16章 メールサーバー
電子メール は 1960 年代に誕生しました。当時のメールボックスは、ユーザーのホームディレクトリにあるファイルで、そのユーザーのみが読み取り可能でした。初期のメールアプリケーションは、そのファイルの最下部に新規テキストメッセージを追加していたため、ユーザーは、絶えず拡大するファイルの情報をかき分けて特定のメッセージを見つける必要がありました。この方式では、同じシステム上のユーザーに対してしかメッセージを送信できませんでした。
電子メールのメッセージファイルのネットワーク転送は、1971 年に Ray Tomlinson というコンピュータエンジニアが、インターネットの先駆けである ARPANET を介して 2 台のマシン間でテストメッセージを送信したのが初めてです。電子メールによる通信はすぐに広がり、2 年足らずで、ARPANET のトラフィックの 75 パーセントを占めるようになりました。
今日、標準化されたネットワークプロトコルをベースとする電子メールシステムは、インターネット上で最も幅広く使用されているサービスに進化しました。Red Hat Enterprise Linux には、電子メールに対応、アクセスする高度なアプリケーションが数多く備わっています。
本章では、今日使用されている最新の電子メールプロトコルと、電子メールの送受信を行うために設計されたプログラムについて概説します。
16.1. 電子メールプロトコル
今日、電子メールはクライアント/サーバーのアーキテクチャを使用して配信されています。電子メールのメッセージは、メールクライアントプログラムを使用して作成されます。次に、このプログラムが作成されたメッセージをサーバーに送信します。メッセージはサーバーにより受信者の電子メールサーバーに転送され、そこで受信者の電子メールクライアントへと渡されます。
このプロセスを有効にするために、各種の標準のネットワークプロトコルは、様々なマシン (多くの場合、異なるオペレーティングシステムを実行し、異なる電子メールプログラムを使用している) で電子メールの送受信を行えるようにします。
以下は、電子メールの転送に最も一般的に使用されているプロトコルです。
16.1.1. メール転送プロトコル
クライアントアプリケーションからサーバーへのメール配信、及び送信元サーバーから送信先サーバーへのメール配信は、SMTP (Simple Mail Transfer Protocol 簡易メール転送プロトコル) により処理されます。
16.1.1.1. SMTP
SMTP の第一の目的は、メールサーバー間における電子メールの転送ですが、これは電子メールクライアントにとっても極めて重要となります。電子メールを送信するには、クライアントはメッセージを送信メールサーバーに送信します。送信メールサーバーはこれを受けて、送信先のメールサーバーに配信の連絡を行います。このため、電子メールクライアントを設定する時には SMTP サーバーを指定する必要があります。
Red Hat Enterprise Linux では、ユーザーはメール配信を処理するようローカルマシン上の SMTP サーバーを設定することができます。ただし、送信メール用にリモート SMTP サーバーを設定することも可能です。
SMTP プロトコルに関して重要なのは認証が不要である点です。これにより、インターネット上の誰でも、個人や大規模なグループに対してでも電子メールを送信することができます。迷惑メールや スパム が可能になるのは SMTP のこうした特性が原因です。リレー制限を強制すると、インターネット上の任意のユーザーが、ご使用の SMTP サーバーを介してインターネット上の別のサーバーへ電子メールを送信することを制限できます。リレー制限を強制していないサーバーは、オープンリレー サーバーと呼ばれます。
Red Hat Enterprise Linux には、Postfix 及び Sendmail SMTP プログラムが備わっています。
16.1.2. メールアクセスプロトコル
メールサーバーから電子メールを取得するために電子メールクライアントアプリケーションが使用する主要なプロトコルには、POP (Post Office Protocol ポストオフィスプロトコル ) と IMAP (Internet Message Access Protocol インターネットメッセージアクセスプロトコル) の 2 つあります。
16.1.2.1. POP
Red Hat Enterprise Linux のデフォルトの POP サーバーは Dovecot で、dovecot パッケージにより提供されています。
注記
Dovecot を使用するには、初めに
dovecot
パッケージがご使用のシステムにインストールされているか次のコマンドを root で実行して確認します:
~]# yum install dovecot
Yum を使用したパッケージのインストールについての詳細は、「パッケージのインストール」 を参照して下さい。
POP
サーバーを使用する場合、電子メールメッセージは電子メールクライアントのアプリケーションからダウンロードされます。デフォルトでは、ほとんどの POP
電子メールクライアントでは、電子メールサーバーのメッセージが正しく転送されるとそのメッセージは削除されるように自動的に設定されています。ただし、この設定は通常は変更できます。
POP
は、電子メールのファイル添付を可能にする MIME (Multipurpose Internet Mail Extensions 多目的インターネットメール拡張) などの重要なインターネットメッセージング標準と完全な互換性があります。
POP
が最適に機能する対象は、電子メールを読む単一のシステムを持つユーザーです。また、インターネットやメールサーバーを持つネットワークへの固定接続がないユーザーにも正しく機能します。残念ながら、速度が遅いネットワークを使用するユーザーの場合には、POP
はクライアントプログラムに対して、認証を行った上で各メッセージのコンテンツ全体をダウンロードするよう要求します。このプロセスは、メッセージに大きなファイルが添付されている場合は長時間かかる場合があります。
標準
POP
プロトコルの最新版は POP3
です。
ただし、あまり使用されていない
POP
プロトコルのバリアントにも様々な種類があります:
- APOP —
MDS
(Monash Directory Service) 認証を使用したPOP3
です。暗号化されていないパスワードを送信するのではなく、エンコードされたユーザーパスワードのハッシュが電子メールクライアントからサーバーへ送信されます。 - KPOP — Kerberos 認証を使用した
POP3
です。 - RPOP —
RPOP
認証を使用したPOP3
です。これは、パスワードに似たユーザーごとの ID を使用し、POP 要求を認証します。ただしこの ID は暗号化されていないため、RPOP
のセキュリティレベルは標準POP
と同程度です。
セキュリティを強化するために、SSL (Secure Socket Layer セキュアソケットレイヤ) 暗号化をクライアント認証とデータ転送セッションに使用することが可能です。これは、
pop3s
サービスまたは /usr/sbin/stunnel
アプリケーションを使用して有効にすることができます。詳細は 「通信のセキュリティ保護」 を参照してください。
16.1.2.2. IMAP
Red Hat Enterprise Linux でのデフォルト
IMAP
サーバーは Dovecot で、dovecot パッケージにあります。Dovecot のインストール方法については 「POP」 を参照してください。
IMAP
メールサーバーを使用する場合、電子メールメッセージはサーバーに残るためユーザーは読み取り、削除を行うことができます。IMAP
により、クライアントアプリケーションがサーバー上でメールディレクトリを作成、名前変更、削除を行い電子メールを整理、保存することもできます。
IMAP
は複数のマシンを使って電子メールにアクセスするユーザーに特に役立ちます。このプロトコルでは、メッセージが開封されるまでは、電子メールのヘッダー情報しかダウンロードされず帯域幅を節減できるため、低速な接続でメールサーバーに接続するユーザーにも便利です。ユーザーは、メッセージを表示またはダウンロードすることなく削除することも可能です。
便宜のため、
IMAP
クライアントアプリケーションはメッセージのコピーをローカルでキャッシュすることが可能です。そのため、ユーザーは IMAP
サーバーに直接接続していない時でも、既読メッセージを閲覧することができます。
IMAP
は POP
と同様に、電子メールのファイル添付を可能にする MIME などの重要なインターネットメッセージング標準と完全に互換性があります。
セキュリティを強化するために、
SSL
暗号化をクライアント認証とデータ転送セッションに使用することが可能です。これは、imaps
サービスまたは /usr/sbin/stunnel
プログラムを使用して有効にすることができます。電子メール通信をセキュアにする詳細は 「通信のセキュリティ保護」 を参照してください。
無償や商用の IMAP クライアント及びサーバーは他にも提供されています。これらの多くは、IMAP プロトコルを拡張し、追加機能を提供します。
16.1.2.3. Dovecot
IMAP
及び POP3
プロトコルを実装する imap-login
及び pop3-login
プロセスは、dovecot パッケージに含まれているマスター dovecot
デーモンにより発生します。IMAP
及び POP
の使用は /etc/dovecot/dovecot.conf
設定ファイルで設定します。デフォルトでは dovecot
は、SSL
を使用して IMAP
と POP3
をセキュアなバージョンとともに実行します。POP
を使用するよう dovecot
を設定するには、次のステップを実行します。
protocols
変数がコメント解除されていて (行頭のハッシュ記号 (#
) を削除)、pop3
引数を含むよう/etc/dovecot/dovecot.conf
設定ファイルを編集します。例えば以下のとおりです。protocols = imap imaps pop3 pop3s
protocols
変数がコメントアウトされている場合は、dovecot
はこの変数に指定されたデフォルト値を使用します。- この変更を現行のセッションで有効にするには、以下のコマンドを実行します:
~]#
service dovecot restart
- この変更を次のブート時に有効にするには、以下のコマンドを実行します:
~]#
chkconfig dovecot on
注記
dovecot
が報告するのはIMAP
サーバーを起動したことだけですが、POP3
サーバーも起動する点に注意してください。
SMTP
とは違い、IMAP
と POP3
はユーザー名とパスワードを使用して接続するクライアントを認証する必要があります。デフォルトでは、両方のプロトコルのパスワードとも暗号化されていないネットワーク上で渡されます。
dovecot
で SSL
を編集するには、以下を実行します:
/etc/pki/dovecot/dovecot-openssl.conf
設定ファイルを必要に応じて編集します。ただし、標準的なインストールではこのファイルへの変更は必要ありません。/etc/pki/dovecot/certs/dovecot.pem
及び/etc/pki/dovecot/private/dovecot.pem
ファイルの名前変更、移動、削除を行います。/usr/libexec/dovecot/mkcert.sh
のスクリプトを実行して、dovecot
の自己署名証明書を作成します。証明書は/etc/pki/dovecot/certs
及び/etc/pki/dovecot/private
ディレクトリにコピーされます。変更を有効にするには、dovecot
を再起動します:~]#
service dovecot restart
dovecot
の詳細は http://www.dovecot.org でオンラインで参照できます。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。