Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第19章 メールサーバー

Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux は、電子メールを提供し、アクセスするための高度なアプリケーションを多数提供します。本章では、現在使用されている最新の電子メールプロトコルと電子メールを送受信するプログラムについて説明します。

19.1. メールプロトコル

今日、電子メールはクライアント/サーバーのアーキテクチャーを使用して配信されています。電子メールのメッセージは、メールクライアントプログラムを使用して作成されます。次に、このプログラムがメッセージをサーバーに送信します。その後、サーバーはメッセージを受信者のメールサーバーに転送します。そこでメッセージは受信者の電子メールクライアントに渡されます。
このプロセスを有効にするために、各種の標準のネットワークプロトコルが異なるマシンによる (多くの場合、異なるオペレーティングシステムで、異なる電子メールプログラムを使用) 電子メールの送受信を可能にしています。
以下は、電子メールの転送に最も一般的に使用されているプロトコルです。

19.1.1. メール転送プロトコル

クライアントアプリケーションからサーバーへのメール配信、および送信元サーバーから宛先サーバーへのメール配信は Simple Mail Transfer Protocol (SMTP)によって処理されます。

19.1.1.1. SMTP

SMTP の第一の目的は、メールサーバー間における電子メールの転送です。ただし、これは、メールクライアントにも重要です。メールを送信するには、クライアントが送信メールサーバーにメッセージを送信し、配信先メールサーバーに接続します。このため、メールクライアントの設定時に SMTP サーバーを指定する必要があります。
Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux では、ユーザーはローカルマシンで SMTP サーバーを設定してメール配信を処理できます。ただし、送信メール用にリモート SMTP サーバーを設定することも可能です。
SMTP プロトコルに関して重要なのは認証が不要である点です。これにより、インターネット上の誰でも、個人や大規模なグループに対してでも電子メールを送信できます。これは、ジュークメールや スパム を可能にする SMTP のこの特徴です。リレー制限を課すと、インターネット上の任意のユーザーが、ご使用の SMTP サーバーを介してインターネット上の別のサーバーへ電子メールを送信することが制限されます。このような制限を課さないサーバーは、オープンリレー サーバーと呼ばれます。
Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux は、Postfix および Sendmail SMTP プログラムを提供します。

19.1.2. メールアクセスプロトコル

メールサーバーから電子メールを取得するために電子メールクライアントアプリケーションが使用する主要なプロトコルには、POP( Post Office Protocol )とIMAP( Internet Message Access Protocol )の 2 つがあります。

19.1.2.1. POP

Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux のデフォルトの POP サーバーは Dovecot で、dovecot パッケージで提供されます。
dovecot パッケージのインストール
Dovecot を使用するには、最初に root で以下を実行して dovecot パッケージがインストールされていることを確認します。
~]# yum install dovecot
yum を使用したパッケージのインストールは 「パッケージのインストール」 を参照してください。
POP サーバーを使用する場合、電子メールメッセージは電子メールクライアントアプリケーションによってダウンロードされます。デフォルトでは、ほとんどの POP メールクライアントは、電子メールサーバーのメッセージが正常に転送されるとそのメッセージを削除するように自動的に設定されますが、通常は変更できます。
POP は、電子メールのファイル添付を可能にするMIME多目的インターネットメール拡張)などの 重要なインターネットメッセージング標準と完全に互換性があります。
POP は、電子メールを読むためのシステムが 1 つであるユーザーにとって最適に機能します。また、インターネットやメールサーバーを持つネットワークに常時接続していないユーザーにもうまく機能します。ネットワーク速度が遅いユーザーの場合は、POP はクライアントプログラムに対して、認証を行った上で各メッセージのコンテンツ全体をダウンロードするよう要求します。このプロセスは、メッセージに大きなファイルが添付されている場合に長時間かかる場合があります。
標準 POP プロトコルの最新版は POP3 です。
ただし、あまり使用されていない POP プロトコルのバリアントにも様々な種類があります。
  • APOP: MD5 認証を使用した POP3 です。暗号化されていないパスワードを送信するのではなく、エンコードされたユーザーパスワードのハッシュが電子メールクライアントからサーバーに送信されます。
  • KPOP: Kerberos 認証を使用した POP3 です。
  • RPOP: RPOP 認証を使用した POP3 です。これは、パスワードに似たユーザーごとの ID を使用し、POP 要求を認証します。ただし、この ID は暗号化されていないため、RPOP は標準の POP よりも安全ではありません。
セキュリティーを強化するには、クライアント認証とデータ転送セッションに Secure Socket Layer (SSL)暗号化を使用できます。これは、pop3s サービスまたは stunnel アプリケーションを使用して有効にできます。メール通信のセキュリティー保護に関する詳細は、「通信のセキュリティー保護」 を参照してください。

19.1.2.2. IMAP

Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux のデフォルトの IMAP サーバーは Dovecot で、dovecot パッケージで提供されます。Dovecot のインストール方法は 「POP」 を参照してください。
IMAP メールサーバーを使用する場合は電子メールメッセージはサーバーに残るため、ユーザーはメッセージの読み取りや削除が可能です。また、IMAP により、クライアントアプリケーションがサーバー上でメールディレクトリーの作成、名前変更、削除を行い電子メールを整理および保存することもできます。
IMAP は、複数のマシンを使用して電子メールにアクセスするユーザーに特に役立ちます。このプロトコルでは、メッセージが開封されるまでは、電子メールのヘッダー情報しかダウンロードされず帯域幅を節減できるため、低速な接続でメールサーバーに接続するユーザーにも便利です。ユーザーは、メッセージを表示またはダウンロードすることなく削除することも可能です。
便宜上、IMAP クライアントアプリケーションはメッセージのコピーをローカルでキャッシュすることが可能です。そのため、ユーザーは IMAP サーバーに直接接続していないときに、既読メッセージを閲覧できます。
IMAPPOP と同様に、電子メールのファイル添付を可能にする MIME などの重要なインターネットメッセージング標準と完全に互換性があります。
セキュリティーを強化するには、クライアント認証とデータ転送セッションに SSL 暗号化を使用できます。これは、imaps サービスまたは stunnel プログラムを使用して有効にできます。メール通信のセキュリティー保護に関する詳細は、「通信のセキュリティー保護」 を参照してください。
無償や商用の IMAP クライアントおよびサーバーは他にも提供されています。これらの多くは、IMAP プロトコルを拡張し、追加機能を提供します。

19.1.2.3. Dovecot

IMAP および POP3 プロトコルを実装する imap- login および pop 3-login プロセスは、dovecot パッケージに含まれるマスターの dovecot デーモンにより起動します。IMAP および POP の使用は、/etc/dovecot/dovecot.conf 設定ファイルで設定されます。デフォルトでは、dovecot は、SSL を使用するセキュアなバージョンとともに IMAP および POP3 を実行します。POP を使用するように dovecot を設定するには、以下の手順を実行します。
  1. protocols 変数がコメント解除されていて(行頭のハッシュ記号(#)を削除)、pop3 引数を含むように /etc/dovecot/dovecot.conf 設定ファイルを編集します。以下に例を示します。
    protocols = imap pop3 lmtp
    protocols 変数がコメントアウトされている場合、dovecot は上記のようにデフォルト値を使用します。
  2. 以下のコマンドを実行して、現行セッションで変更を可能にします。
    ~]# service dovecot restart
  3. この変更を次回の再起動後に有効にするには、以下のコマンドを実行します。
    ~]# chkconfig dovecot on
    dovecot サービスが POP3 サーバーを起動する
    dovecotIMAP サーバーを起動したことしか報告せず、POP3 サーバーも起動することに注意してください。
SMTP とは異なり、IMAPPOP3 の両方では、接続クライアントがユーザー名とパスワードを使用して認証する必要があります。デフォルトでは、両方のプロトコルのパスワードは、暗号化されていないネットワーク上で渡されます。
dovecotSSL を設定するには、以下を実行します。
  • /etc/dovecot/conf.d/10-ssl.conf 設定を編集して、ssl _cipher_list 変数がコメント解除されていることを確認し、:!SSLv3 を追加します。
    ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL:!SSLv3
    これらの値により、dovecot は、安全でないことがわかっている SSL バージョン 2 および 3 を回避するようになります。これは、『POODLE: SSLv3 脆弱性(CVE-2014-3566)で説明されている脆弱性』 が原因です。詳細は、『Postfix および Dovecot の POODLE SSL 3.0 脆弱性(CVE-2014-3566)の解決』 方法を参照してください。
  • /etc/pki/dovecot/dovecot-openssl.cnf 設定ファイルを必要に応じて編集します。ただし、標準的なインストールではこのファイルへの変更は必要ありません。
  • /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 でオンラインで参照できます。