RHEL5 で sendmail を保護する
更新 -
openssl を使用する sendmail (sendmail-8.13.8-10.el5_11) のセキュリティを保護します。
このナレッジは Securing Applications Collection を抜粋したものです。
バージョンの警告
RHEL5 の sendmail のバージョンで SSL3 を無効にし、POODLE の脆弱性を回避するには、sendmail-8.13.8-10.el5_11 以上のバージョンを常に使用する必要があります。
設定ファイル
/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/certs/sendmail.key')dnl
define(`confDH_PARAMETERS', `/etc/pki/tls/private/sendmail.dh.param')dnl
DAEMON_OPTIONS(`Port=smtp, Name=MTA, M=s')dnl
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
ファイルの末尾は以下のようになります。
LOCAL_CONFIG
O CipherList=kDH:AES
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 以降
プロトコル - 代替値
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 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 は無効です。
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2 O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_CIPHER_SERVER_PREFERENCE O ClientSSLOptions=+SSL_OP_NO_SSLv2
非常に古い環境では SSLv3 を許可します。
暗号化
O CipherList=kDH:AES
現在推奨されている暗号化
暗号化 - 代替値
O CipherList=kDH:AES:RC4-SHA
古いクライアントを許可します。
認証処理
Sendmail はキーと認証に異なる PEM フォーマットファイル、CA チェインには別のフォーマットを期待します。また、クライアントとして操作しているときは、検証に CA バンドルも必要になります。
キーファイル
define(`confSERVER_KEY', `/etc/pki/tls/certs/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 パラメーターファイルが必要になります。
このファイルは定期的 (週次) に更新する必要があります。openssl dhparam -out /etc/pki/tls/private/sendmail.dh.param.tmp 2048 mv /etc/pki/tls/private/sendmail.dh.param.tmp /etc/pki/tls/private/sendmail.dh.param
Comments