Menu Close

Red Hat Training

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

4.3.10. Postfix のセキュア化

Postfix は、Simple Mail Transfer Protocol (SMTP) を使用して他の MTA 間で電子メッセージを配信したり、クライアントや配信エージェントに電子メールを送信したりするメール転送エージェント (MTA) です。多くの MTA は相互にトラフィックを暗号化することが可能ですが、ほとんどの場合は暗号化しません。そのため、パブリックネットワークを介して電子メールを送信することは、本質的に安全でない通信形式と見なされます。Red Hat Enterprise Linux 7 では、Sendmail に代わり、Postfix がデフォルト MTA となっています。
Postfix サーバーの実装を計画している人は、以下の問題に対処することが推奨されます。

4.3.10.1. サービス拒否攻撃を制限する

電子メールの性質上、断固とした攻撃者は、サーバーを非常に簡単にメールで溢れさせ、サービス拒否を引き起こすことができます。このような攻撃の有効性は、/etc/postfix/main.cf ファイルのディレクティブに制限を設定することで制限することが可能です。すでにあるディレクティブの値を変更したり、必要なディレクティブを以下のような形式で好きな値で追加したりすることができます。
<directive> = <value>
.サービス拒否攻撃を制限するために使用できるディレクティブの一覧を以下に示します。
  • smtpd_client_connection_rate_limit — 時間単位ごとにクライアントがこのサービスに対して実行できる接続試行の最大数 (以下で説明)。デフォルト値は 0 です。これは、クライアントが時間単位で Postfix が受け入れることができる数と同じ数の接続を行うことができることを意味します。デフォルトでは、信頼できるネットワーク内のクライアントは除外されます。
  • anvil_rate_time_unit — この時間単位は、レート制限の計算に使用されます。デフォルト値は、60 秒です。
  • smtpd_client_event_limit_exceptions — 接続とレート制限のコマンドから除外されるクライアント。デフォルトでは、信頼できるネットワーク内のクライアントは除外されます。
  • smtpd_client_message_rate_limit — クライアントが時間単位で要求できるメッセージ配送の最大数 (Postfix が実際にそれらのメッセージを受け入れるかどうかは関係ない)。
  • default_process_limit — 指定されたサービスを提供するPostfixの子プロセスのデフォルトの最大数です。この制限は、master.cf ファイルの特定のサービスに対して無効にすることができます。デフォルト値は 100 です。
  • queue_minfree — メール受信に必要な、キューファイルシステムの最小限の空き容量 (バイト単位)。これは現在、Postfix SMTP サーバーがメールをまったく受け取らないかどうかを決定するために使用されています。デフォルトでは、Postfix SMTP サーバーは、空き容量が message_size_limit の 1.5 倍未満の場合、MAIL FROM コマンドを拒否します。空き容量の最小値をこれよりも高く指定するには、message_size_limit の 1.5 倍以上の queue_minfree 値を指定します。デフォルトの queue_minfree 値は 0 です。
  • header_size_limit — メッセージヘッダーを保存するための最大メモリー量 (バイト単位)。ヘッダーの方が大きい場合、超過分は破棄されます。デフォルト値は 102400 です。
  • message_size_limit — エンベロープ情報を含む、メッセージの最大サイズ (バイト単位)。デフォルト値は 10240000 です。