RHEL6 で postfix を保護する

更新 -

openssl を使用する postfix (postfix-2.6.6-6.el6_5) のセキュリティーを保護します。

このナレッジは Securing Applications Collection を抜粋したものです。

設定ファイル

   /etc/postfix/main.cf

短縮形


smtp_use_tls = yes smtpd_use_tls = yes smtpd_tls_security_level = encrypt smtpd_tls_auth_only = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/pki/tls/private/postfix.key smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem smtpd_tls_dh1024_param_file = /etc/pki/tls/private/postfix.dh.param smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt smtpd_tls_loglevel = 1 smtpd_tls_session_cache_timeout = 3600s smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_cache tls_random_source = dev:/dev/urandom smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_protocols = !SSLv2, !SSLv3 smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 smtp_tls_protocols = !SSLv2, !SSLv3 smtp_tls_mandatory_ciphers = high smtpd_tls_mandatory_ciphers = high smtp_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES smtpd_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES

警告

RHEL6 の postfix は、以下の場合にプロトコルおよび暗号の制御だけを許可します。

     smtpd_tls_security_level = encrypt

設定が以下の場合、

    smtpd_tls_security_level = may

すべてのプロトコルが許可され、エクスポートグレードとより良い暗号化が使用されます。

プロトコル

smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3

TLSv1 以降

プロトコル - 代替値

smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1

TLSv1 を無効にし、TLSv1.1 以降を許可します。

smtpd_tls_mandatory_protocols = !SSLv2
smtpd_tls_protocols = !SSLv2
smtp_tls_mandatory_protocols = !SSLv2
smtp_tls_protocols = !SSLv2

SSLv3 以降を許可します。

暗号化

smtp_tls_mandatory_ciphers = high
smtpd_tls_mandatory_ciphers = high
smtp_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES
smtpd_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES

openssl の HIGH カテゴリーで提供された暗号化。SWEET32 攻撃を避けるため、DES ベースの暗号化は除外します。

暗号化 - 代替値

smtp_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_ciphers = medium

openssl の MEDIUM 以上のカテゴリーで提供された暗号

認証処理

postfix はキーファイルと認証ファイルを使用します。

キーファイル

smtpd_tls_key_file = /etc/pki/tls/private/postfix.key

キーは root だけが読み取り可能です。

認証ファイル

smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem

サーバーの証明書、中間証明書、root の証明書を含める必要があります。

Diffie-Helman パラメーターファイル

smtpd_tls_dh1024_param_file = /etc/pki/tls/private/postfix.dh.param

より強力な暗号の使用は、利用可能な Diffie-Helman パラメーターファイルが必要になります。
このファイルは定期的 (週次) に更新する必要があります。

openssl dhparam -out /etc/pki/tls/private/postfix.dh.param.tmp 1024
mv /etc/pki/tls/private/postfix.dh.param.tmp  /etc/pki/tls/private/postfix.dh.param