SSL 3.0 に関する脆弱性「POODLE」対策について
2014 年 10 月 14 日に公開された SSL 3.0 の脆弱性「POODLE」 (CVE-2014-3566) に関して弊社提供の以下の製品において影響があります。
- OpenAM
- OpenLDAP
- Unicorn ID Manager
- Samba
- ThothLink
- Chimera Search
- Mailman
該当の製品を導入されているお客様は、以下に示すそれぞれの製品ごとの対応策を実施していただき、 SSL 3.0 を無効にしていただきますようお願いいたします。
なお、 Unicorn ID Manager 、 ThothLink 、 Chimera Search 及び Mailman に関しては、 Apache HTTPD の設定を修正してください。
本脆弱性対策の影響について
ここで紹介する対策を実施することにより、 SSLv3 プロトコルまでしか対応していないクライアントが サービスにアクセスできなくなります。本脆弱性対策を実施する前にそのようなクライアントが存在するかどうか ご確認ください。
OpenSSL パッケージのアップデートについて
上に挙げた製品(OpenAMを除く)の SSL/TLS 実装は OpenSSL に依存しているため、 OpenSSL パッケージのアップデートについてもご検討ください。
なお、 Red Hat 社より本脆弱性に関する情報が発信されておりますので、以下 URL についてもご確認ください。
OpenAM の対策
OpenAM の場合、内蔵された設定用ディレクトリサーバーである OpenDJ が本脆弱性の対象になります。
OpenDJ は以下の 3 種類のポートで LDAPS を受け付けます。対策ではこれらのポートに対して SSLv3 を受け付けないように設定します。
- LDAPS 接続用ポート
- OpenDJ に LDAPS で接続するためのポートです。
- OpenDJ の「LDAPS Connection Handler」設定が影響します。
- レプリケーション用ポート
- OpenDJ 間でのレプリケーションに利用されるポートです。
- OpenDJ の「Crypto Manager」設定が影響します。
- 管理者接続用ポート
- OpenDJ の管理ツールである dsconfig を利用する際に接続するポートです。
- OpenDJ の「Administration Connector」設定が影響します。
この対策は、OpenAM のバージョン毎に異なります。また、OpenAM を複数台構成としている場合は全ての OpenAM で手順を実施する必要があります。
また、OpenAM をデプロイしている Tomcat や、Tomcat に接続している Apache HTTPD で HTTPS を有効にしている場合も本脆弱性の対象になります。Apache HTTPD については Apache HTTPD の項目をご確認ください。
OpenAM 11.0
事前に OpenAM の設定ディレクトリのバックアップを取得してください。
次に OpenAMが起動している状態で、以下のコマンドを実行してください。
# /opt/osstech/var/lib/tomcat7/openam/opends/bin/dsconfig set-connection-handler-prop --handler-name "LDAPS Connection Handler" --add ssl-protocol:TLSv1 --add ssl-protocol:TLSv1.1 --add ssl-protocol:TLSv1.2 -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n # /opt/osstech/var/lib/tomcat7/openam/opends/bin/dsconfig set-crypto-manager-prop --add ssl-protocol:TLSv1 --add ssl-protocol:TLSv1.1 --add ssl-protocol:TLSv1.2 -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n # /opt/osstech/var/lib/tomcat7/openam/opends/bin/dsconfig set-administration-connector-prop --add ssl-protocol:TLSv1 --add ssl-protocol:TLSv1.1 --add ssl-protocol:TLSv1.2 -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n
コマンドの実行後、設定が変更されたことを確認します。以下のコマンドを実行してください。
# /opt/osstech/var/lib/tomcat7/openam/opends/bin/dsconfig get-connection-handler-prop --handler-name "LDAPS Connection Handler" -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n Property : Value(s) -----------------------:------------------------ (略) ssl-protocol : TLSv1, TLSv1.1, TLSv1.2 ← 左記の出力が行われていることを確認 trust-manager-provider : JKS use-ssl : true
# /opt/osstech/var/lib/tomcat7/openam/opends/bin/dsconfig get-crypto-manager-prop -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n Property : Value(s) ----------------------------:------------------------------------ key-wrapping-transformation : RSA/ECB/OAEPWITHSHA-1ANDMGF1PADDING ssl-cert-nickname : ads-certificate ssl-cipher-suite : - ssl-encryption : false ssl-protocol : TLSv1, TLSv1.1, TLSv1.2 ← 左記の出力が行われていることを確認
# /opt/osstech/var/lib/tomcat7/openam/opends/bin/dsconfig get-administration-connector-prop -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n Property : Value(s) -----------------------:------------------------ key-manager-provider : Administration listen-address : 0.0.0.0 listen-port : 4444 ssl-cert-nickname : admin-cert ssl-cipher-suite : - ssl-protocol : TLSv1, TLSv1.1, TLSv1.2 ← 左記の出力が行われていることを確認 trust-manager-provider : Administration
設定が適用できていることを確認したら、Tomcatを再起動してください。
OpenAM 9.5
事前に OpenAM の設定ディレクトリのバックアップを取得してください。
次に OpenAMが起動している状態で、以下のコマンドを実行してください。
# /opt/osstech/share/tomcat6/openam/opends/bin/dsconfig set-connection-handler-prop --handler-name "LDAPS Connection Handler" --add ssl-protocol:TLSv1 --add ssl-protocol:TLSv1.1 --add ssl-protocol:TLSv1.2 -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n # /opt/osstech/share/tomcat6/openam/opends/bin/dsconfig set-crypto-manager-prop --add ssl-protocol:TLSv1 --add ssl-protocol:TLSv1.1 --add ssl-protocol:TLSv1.2 -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n
コマンドの実行後、設定が変更されたことを確認します。以下のコマンドを実行してください。
# /opt/osstech/share/tomcat6/openam/opends/bin/dsconfig get-connection-handler-prop --handler-name "LDAPS Connection Handler" -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n Property : Value(s) -----------------------:------------------------ (略) ssl-protocol : TLSv1, TLSv1.1, TLSv1.2 ← 左記の出力が行われていることを確認 trust-manager-provider : JKS use-ssl : true
# /opt/osstech/share/tomcat6/openam/opends/bin/dsconfig get-crypto-manager-prop -h localhost -p 4444 -X -D "cn=Directory Manager" -w <Directory Managerのパスワード> -n Property : Value(s) ----------------------------:------------------------------------ key-wrapping-transformation : RSA/ECB/OAEPWITHSHA-1ANDMGF1PADDING ssl-cert-nickname : ads-certificate ssl-cipher-suite : - ssl-encryption : false ssl-protocol : TLSv1, TLSv1.1, TLSv1.2 ← 左記の出力が行われていることを確認
設定が適用できていることを確認したら、Tomcatを再起動してください。
なお、OpenAM 9.5 では管理者用ポートの SSLv3 の無効化を行うことができません。このポートを利用する dsconfig を使用する際には localhost に対して実施するなど十分に注意してください。
Tomcat
OpenAM をデプロイしている Tomcat で HTTPS を有効にしている場合は Tomcat の設定変更が必要です。server.xml で定義している HTTPS のコネクターに sslEnableProtocols の設定を行ってください。
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" ← この設定を追加します keystoreFile="/opt/osstech/share/openam/keystore.jks" keystorePass="changeit" keyAlias="osstech" />
OpenLDAP の対策
バージョンによって対策が異なります。なお、どのバージョンであっても、 SSL/TLS を OpenLDAP で利用していない場合は対策は不要となります。
弊社製OpenLDAPを利用している場合、次のコマンドでバージョンを確認してください。
# rpm -q osstech-openldap
バージョン 2.4.36 以降をご利用中のお客様
/opt/osstech/etc/openldap/slapd.conf のグローバルセクション (設定ファイル中で最初に出現する database ディレクティブより上の領域) に 以下の行を追記してください。
TLSProtocolMin 3.1
設定変更後、LDAPサービスを再起動してください。
# /sbin/service osstech-ldap restart
バージョン 2.4.14 - 2.4.35 をご利用中のお客様
/opt/osstech/etc/openldap/slapd.conf のグローバルセクション (設定ファイル中で最初に出現する database ディレクティブより上の領域) に 以下の行を追記してください。
TLSProtocolMin 769
設定変更後、LDAPサービスを再起動してください。
# /sbin/service osstech-ldap restart
バージョン 2.4.13 以前をご利用中のお客様
OpenLDAP の最新バージョンへのアップデートをご検討いただき、 弊社サポート宛までご連絡ください。
Samba の対策
LDAP サーバーとの通信に SSL/TLS で利用していない場合は対策は不要となります。 また、LDAP サーバー側で対策している場合も Samba サーバー側での対策は不要となります。
Red Hat Enterprise Linux 6 / CentOS 6 以降をご利用中のお客様
/etc/openldap/ldap.conf に以下の行を追記してください。
TLS_PROTOCOL_MIN 3.1
設定変更後、Samba サービスを再起動してください。
# /sbin/service osstech-smb restart
Red Hat Enterprise Linux 5 / CentOS 5 以前をご利用中のお客様
OS の最新バージョンへのアップデートをご検討いただき、 弊社サポート宛までご連絡ください。
Solaris / AIX をご利用中のお客様
/opt/osstech/etc/openldap/ldap.conf に以下の行を追記してください。
TLS_PROTOCOL_MIN 3.1
設定変更後、Samba サービスを再起動してください。
# /opt/osstech/sbin/service osstech-smb restart
Apache HTTPD の対策
Unicorn ID Manager 、 ThothLink 、 Chimera Search 及び Mailman のいずれかの製品 については、 Apache HTTPD の SSL/TLS に関する設定において SSLProtocol ディレクティブの値を 以下のように修正してください。なお、 Apache HTTPD で SSL/TLS を利用していない場合、 この対策は不要です。
SSLProtocol all -SSLv2 -SSLv3
設定変更後、httpdサービスを再起動してください。
# /sbin/service httpd restart
お問い合わせ: info @ osstech.co.jp