ウェブサイト検索

電子メール サービス (SMTP、Imap、および Imaps) のセットアップと SMTP へのアクセスの制限 - パート 7


LFCE (Linux Foundation Certified Engineer) は、Linux システムでネットワーク サービスをインストール、管理、トラブルシューティングするスキルを備えた訓練を受けた専門家であり、システム アーキテクチャとユーザー管理の設計、実装、継続的なメンテナンス。

Linux Foundation 認定プログラムの紹介。

前のチュートリアルでは、メール サービスに必要なコンポーネントをインストールする方法について説明しました。 PostfixDovecot をまだインストールしていない場合は、先に進む前に、このシリーズのパート 1 でインストール手順を参照してください。

要件

  1. Postfix メール サーバーと Dovecot をインストールする – パート 1

この投稿では、メール サーバーの構成方法と次のタスクの実行方法を説明します。

  1. 電子メールのエイリアスを構成する
  2. IMAP および IMAPS サービスを構成する
  3. SMTPサービスを構成する
  4. SMTPサーバーへのアクセスを制限する

: この設定では、マシンが同じドメインに属しているローカル エリア ネットワークのメール サーバーのみが対象となります。他のドメインに電子メール メッセージを送信するには、ドメイン名解決機能を含む、より複雑な設定が必要ですが、これは LFCE 認定の範囲外です。

まずは、いくつかの定義から始めましょう。

メールの送信、転送、配信プロセスのコンポーネント

次の図は、送信者から始まり、メッセージが受信者の受信箱に届くまでの電子メール転送プロセスを示しています。

これを可能にするために、舞台裏でいくつかのことが起こります。電子メール メッセージをクライアント アプリケーション (Thunderbird、Outlook、または Gmail や Yahoo! Mail などの Web メール サービス) からそのメール サーバーに配信し、そこから宛先サーバーに配信し、最終的に目的の受信者に配信するため。 、各サーバーに SMTP (Simple Mail Transfer Protocol) サービスが必要です。

電子メール サービスについて話すとき、次の用語が頻繁に登場します。

メッセージトランスポートエージェント – MTA

MTA (メール または メッセージ トランスポート エージェント の略)、別名メール リレーは、サーバーからの電子メール メッセージの転送を担当するソフトウェアです。クライアントに(その逆も同様に)。このシリーズでは、Postfix が MTA として機能します。

メールユーザーエージェント – MUA

MUA または メール ユーザー エージェント は、ユーザーの電子メール受信トレイにアクセスして管理するために使用されるコンピューター プログラムです。 MUA の例には、Thunderbird、Outlook、Gmail、Outlook.com などの Web メール インターフェイスなどが含まれますが、これらに限定されません。このシリーズでは、例で Thunderbird を使用します。

メール配信エージェント

MDA (メッセージ または メール配信エージェント の略) は、電子メール メッセージをユーザーの受信トレイに実際に配信するソフトウェア部分です。このチュートリアルでは、Dovecot を MDA として使用します。 Dovecot はユーザー認証も処理します。

シンプルなメール転送プロトコル – SMTP

これらのコンポーネントが相互に「会話」できるようにするには、同じ「言語」(またはプロトコル)を「話す」必要があります。 )、つまり、RFC 2821 で定義されている SMTP (Simple Mail Transfer Protocol) です。おそらく、メール サーバー環境を設定するときにその RFC を参照する必要があります。

考慮する必要があるその他のプロトコルは、IMAP4 (インターネット メッセージ アクセス プロトコル) です。これにより、メール メッセージをクライアントのハード ドライブにダウンロードせずに、サーバー上で直接管理できます。 、POP3 (ポスト オフィス プロトコル) を使用すると、メッセージとフォルダをユーザーのコンピュータにダウンロードできます。

弊社のテスト環境

弊社のテスト環境は以下の通りです。

メールサーバーのセットアップ
Mail Server OS	: 	Debian Wheezy 7.5 
IP Address	:	192.168.0.15
Local Domain	:	example.com.ar
User Aliases	:	[email  is aliased to [email  and [email 
クライアントマシンのセットアップ
Mail Client OS	: 	Ubuntu 12.04
IP Address	:	192.168.0.103

クライアントでは、次の行を /etc/hosts ファイルに追加して基本的な DNS 解決を設定しました。

192.168.0.15 example.com.ar mailserver

電子メールエイリアスの追加

デフォルトでは、特定のユーザーに送信されたメッセージは、そのユーザーにのみ配信される必要があります。ただし、ユーザーのグループや別のユーザーにも配信したい場合は、メール エイリアスを作成するか、/etc/postfix/aliases にある既存のエイリアスのいずれかを使用できます。 、次の構文に従います。

user1: user1, user2

したがって、user1 に送信された電子メールは user2 にも配信されます。次のように、コロンの後の単語 user1 を省略した場合は注意してください。

user1: user2

user1 に送信されたメッセージは user2 にのみ送信され、user1 には送信されません。

上の例では、user1user2 がシステム上にすでに存在している必要があります。新しいユーザーを追加する前に記憶を更新する必要がある場合は、LFCS シリーズのパート 8 を参照してください。

  1. Linux でユーザー/グループを追加および管理する方法
  2. Linux でユーザーを追加する 15 のコマンド

この特定のケースでは、前に説明したように次のエイリアスを使用します (/etc/aliases に次の行を追加します)。

sysadmin: gacanepa, jdoe

次のコマンドを実行して、エイリアス検索テーブルを作成または更新します。

postalias /etc/postfix/aliases

これにより、[email に送信されたメッセージは、上記のユーザーの受信箱に配信されます。

Postfix の構成 – SMTP サービス

Postfix の主な設定ファイルは /etc/postfix/main.cf です。いくつかのパラメータを設定するだけで、メール サービスを使用できるようになります。ただし、安全で完全にカスタマイズされたメール サーバーをセットアップするには、完全な構成パラメータ (man 5 postconf で一覧表示できます) をよく理解しておく必要があります。

: このチュートリアルは、そのプロセスを開始することだけを目的としており、Linux での電子メール サービスに関する包括的なガイドではありません。

選択したエディタで /etc/postfix/main.cf ファイルを開き、説明に従って次の変更を行います。

vi /etc/postfix/main.cf

1morigin は、サーバーから送信されるメッセージに表示されるドメインを指定します。このパラメータとともに使用される /etc/mailname ファイルが表示される場合があります。必要に応じて自由に編集してください。

myorigin = /etc/mailname

上記の値を使用すると、メールは [email として送信されます。ここで、user はメッセージを送信するユーザーです。

2mydestination には、このマシンが電子メール メッセージを別のマシンに転送する (リレー システムとして機能する) のではなく、ローカルに配信するドメインがリストされます。この例ではデフォルト設定で十分です (環境に合わせてファイルを必ず編集してください)。

ここで、/etc/postfix/transport ファイルは、ドメインとメール メッセージの転送先となる次のサーバーとの間の関係を定義します。この例では、ローカル エリア ネットワークのみにメッセージを配信するため (したがって、外部の DNS 解決はバイパスされます)、次の構成で十分です。

example.com.ar    local:
.example.com.ar    local:

次に、このプレーン テキスト ファイルを .db 形式に変換する必要があります。これにより、Postfix が受信メールと送信メールをどう処理するかを知るために実際に使用するルックアップ テーブルが作成されます。

postmap /etc/postfix/transport

対応するテキスト ファイルにさらにエントリを追加する場合は、このテーブルを忘れずに再作成する必要があります。

3mynetworks は、Postfix がメッセージを転送する許可されたネットワークを定義します。デフォルト値のサブネットは、ローカルマシンと同じ IP サブネットワーク内の SMTP クライアントからのメールのみを転送するように Postfix に指示します。

mynetworks = subnet

4relay_domains は、電子メールの送信先を指定します。 mydestination を指すデフォルト値はそのままにしておきます。 LAN 用にメール サーバーをセットアップしていることを思い出してください。

relay_domains = $mydestination

実際のコンテンツをリストする代わりに、$mydestination を使用できることに注意してください。

5inet_interfaces は、メール サービスがリッスンするネットワーク インターフェイスを定義します。デフォルトの all は、Postfix にすべてのネットワークインターフェースを使用するように指示します。

inet_interfaces = all

6。最後に、mailbox_size_limitmessage_size_limit を使用して、各ユーザーのメールボックスのサイズと個々のメッセージの最大許容サイズをそれぞれバイト単位で設定します。

mailbox_size_limit = 51200000
message_size_limit = 5120000

SMTPサーバーへのアクセスを制限する

Postfix SMTP サーバーは、各クライアント接続リクエストに特定の制限を適用できます。すべてのクライアントが smtp HELO コマンドを使用してメール サーバーに対して自分自身を識別できるようにする必要はありません。また、すべてのクライアントにメッセージを送受信するためのアクセスを許可する必要はありません。

これらの制限を実装するには、main.cf ファイルで次のディレクティブを使用します。説明の必要はありませんが、説明を明確にするためにコメントが追加されています。

Require that a remote SMTP client introduces itself with the HELO or EHLO command before sending the MAIL command or other commands that require EHLO negotiation.
smtpd_helo_required = yes

Permit the request when the client IP address matches any network or network address listed in $mynetworks
Reject the request when the client HELO and EHLO command has a bad hostname syntax
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname

Reject the request when Postfix does not represent the final destination for the sender address
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain

Reject the request unless 1) Postfix is acting as mail forwarder or 2) is the final destination
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

利用可能なオプションをさらに調べるには、Postfix 設定パラメータ postconf ページが役立つ場合があります。

Dovecot の構成

dovecot をインストールするとすぐに、POP3 プロトコルと IMAP プロトコル、およびその安全なバージョンである POP3SIMAP プロトコルがサポートされます。それぞれIMAPS

/etc/dovecot/conf.d/10-mail.conf ファイルに次の行を追加します。

%u represents the user account that logs in
Mailboxes are in mbox format
mail_location = mbox:~/mail:INBOX=/var/mail/%u
Directory owned by the mail group and the directory set to group-writable (mode=0770, group=mail)
You may need to change this setting if postfix is running a different user / group on your system
mail_privileged_group = mail

ホーム ディレクトリを確認すると、次の内容を含むメール サブディレクトリがあることがわかります。

また、ほとんどのシステムでは、/var/mail/%u ファイルにユーザーのメールが保存されることに注意してください。

次のディレクティブを /etc/dovecot/dovecot.conf に追加します (imap と Pop3 は imap と Pop3s も意味することに注意してください)。

protocols = imap pop3

/etc/conf.d/10-ssl.conf に次の行が含まれていることを確認してください (そうでない場合は追加してください)。

ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

次に、Dovecot を再起動し、imap、imaps、pop3、pop3s に関連するポートでリッスンしていることを確認しましょう。

netstat -npltu | grep dovecot

メールクライアントの設定とメールの送受信

クライアント コンピュータで Thunderbird を開き、ファイル新規既存のメール アカウント をクリックします。アカウントの名前、関連する電子メール アドレス、およびそのパスワードを入力するよう求められます。 [続行] をクリックすると、Thunderbird は設定を確認するためにメール サーバーへの接続を試みます。

次のアカウント ([email ) に対して上記のプロセスを繰り返すと、次の 2 つの受信トレイが Thunderbird の左側のペインに表示されます。

サーバー上で、jdoegacanepa というエイリアスを持つ sysadmin に電子メール メッセージを書き込みます。

メール ログ (/var/log/mail.log) は、sysadmin に送信されたメールが [email に中継されたことを示しているようです。 b> と [email です(次の図を参照)。

Thunderbird で IMAP アカウントが設定されているクライアントにメールが実際に配信されたかどうかを確認できます。

最後に、[email から [email にメッセージを送信してみましょう。

試験では、コマンドライン ユーティリティのみを使用することが求められます。つまり、Thunderbird などのデスクトップ クライアント アプリケーションをインストールすることはできず、代わりにメールを使用する必要があります。この章では、説明のみを目的として Thunderbird を使用しました。

結論

この投稿では、ローカル エリア ネットワーク用の IMAP メール サーバーをセットアップする方法と、SMTP サーバーへのアクセスを制限する方法について説明しました。テスト環境で同様のセットアップを実装しているときに問題が発生した場合は、Postfix と Dovecot のオンライン ドキュメント (特にメインの設定ファイル /etc/postfix/main.cf および/に関するページ) を確認してください。 etc/dovecot/dovecot.conf など)、いずれの場合でも、以下のコメント フォームを使用して遠慮なくご連絡ください。喜んでお手伝いさせていただきます。