RHEL7 で SSL/TLS を使用した sendmail のセキュリティー保護
更新 -
openssl を使用する sendmail (sendmail-8.14.7-4.el7) のセキュリティー保護
この記事は、Securing Applications Collection の一部になります。
警告
RHEL7.6 リリースの時点では、sendmail は非推奨のパッケージです。 これは、RHEL の今後のメジャーリリースでは利用できなくなることを意味します。 RHEL7 に同梱されるデフォルトの MTA である postfix に移行することが推奨されます。
設定ファイル
/etc/mail/sendmail.mc
短縮形
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confCACERT', `/etc/pki/tls/certs/sendmail.int.crt')dnl
define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
define(`confSERVER_KEY', `/etc/pki/tls/private/sendmail.key')dnl
define(`confDH_PARAMETERS', `/etc/pki/tls/private/sendmail.dh.param')dnl
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
ファイルの最後は、以下のようになります。
LOCAL_CONFIG
O CipherList=kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3 +SSL_OP_CIPHER_SERVER_PREFERENCE
O ClientSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3
プロトコル
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3
O ClientSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3
TLSv1.0 以降
プロトコル - 代替値
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3 +SSL_OP_NO_TLSv1 +SSL_OP_CIPHER_SERVER_PREFERENCE O ClientSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3 +SSL_OP_NO_TLSv1
TLSv1.1 以降 TLSv1 は無効です。
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_CIPHER_SERVER_PREFERENCE O ClientSSLOptions=+SSL_OP_NO_SSLv2
非常に古い環境で SSLv3 を許可します。
暗号化
O CipherList=kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES
現在推奨されている暗号
暗号化 - 代替値
O CipherList=kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:RC4-SHA:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES
古いシステムの互換性のために、RC4-SHA を追加します。
O CipherList=ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
非常に古い暗号を許可します。
証明書処理
Sendmail は、鍵と証明書用の個別の PEM 形式のファイルと、CA チェーン用の別の PEM 形式ファイルを想定しています。 また、クライアントとして動作する場合は検証に CA バンドルが必要です。
鍵ファイル
define ('confSERVER_KEY', '/etc/pki/tls/private/sendmail.key') dnl
鍵は、root でのみ読み取り可能でなければなりません。
証明書ファイル
define ('confSERVER_CERT', '/etc/pki/tls/certs/sendmail.pem') dnl
認証局チェーン
define ('confCACERT', '/etc/pki/tls/certs/sendmail.int.crt') dnl
CertificateFile の中間証明書およびルート証明書
Diffie-Helman パラメーターファイル
define ('confDH_PARAMETERS', '/etc/pki/tls/private/sendmail.dh.param') dnl
利用可能な Diffie-Helman パラメーターファイルがあることを確認することで、より強力な暗号を使用できます。
このファイルは定期的に (毎週) 更新する必要があります。利用可能な Diffie-Helman パラメーターファイルがあることを確認することで、より強力な暗号を使用できます。
このファイルは定期的に (毎週) 更新する必要があります。
Comments