- 2016年4月13日(初版)
- 2016年4月19日(更新) 修正版 OSSTech Sambaパッケージの提供開始を追記
製品アップデートのお知らせ
Sambaの「Badlock」と呼ばれるセキュリティ脆弱性(CVE-2016-2118)の情報が公開されております。
本脆弱性を修正した OSSTech Samba のパッケージの提供を開始します。
対象
- OSSTech Samba 3.x系、および、Samba 4.x系
- Samba 4.x系
- osstech-samba-4.3.8-102 より前のバージョンをご利用中の環境
- Samba 3.x系
- osstech-samba-3.6.25-75 より前のバージョンをご利用中の環境
- Samba 4.x系
脆弱性の概要
Badlock(CVE-2016-2118) の概要
- CVE-2016-2118 (SAMR and LSA man in the middle attacks possible)
- 本脆弱性は、中間者攻撃(MITM)により任意のリモートプロシージャコール(RPC)を呼び出される可 能性があります。この脆弱性を悪用することでアクセス権限の取得および権限昇格を許してしまう可能性があります。また本脆弱性はサービス妨害(DoS)攻撃をうける可能性があります。
その他、Samba に関する下記の脆弱性に関する情報が公開されています。
- CVE-2015-5370 (Multiple errors in DCE-RPC code)
- CVE-2016-2110 (Man in the middle attacks possible with NTLMSSP)
- CVE-2016-2111 (NETLOGON Spoofing Vulnerability)
- CVE-2016-2112 (LDAP client and server don’t enforce integrity)
- CVE-2016-2113 (Missing TLS certificate validation)
- CVE-2016-2114 (“server signing = mandatory” not enforced)
- CVE-2016-2115 (SMB IPC traffic is not integrity protected)
アップデートパッケージの入手方法
ご利用中の動作OS、およびご利用中のSambaバージョンをご確認の上、 弊社サポート窓口まで、サポートID、会社名、ご担当者名を添えてご連絡ください。 折り返し、弊社よりアップデートパッケージをご案内いたします。
ご利用中のSambaのバージョンの確認は次のコマンドを実行してください。
# rpm -q osstech-samba
Linux環境以外では、次のコマンドを実行してください。
# /opt/osstech/bin/rpm -q osstech-samba
なお、以下にないOSについては、サポート窓口までお問い合わせください。
- RedHat Enterprise Linux 7 (x86-64)
- RedHat Enterprise Linux 6 (x86-64)
- RedHat Enterprise Linux 5 (x86)
- RedHat Enterprise Linux 5 (x86-64)
脆弱性の詳細
CVE-2016-2118 (Samba 3.6以降)
Security Account Manager Remote プロトコル(SAMR)、Local Security Authority Domain Policy Remote Protocol(LSAD)と 呼ばれるプロトコルに、通称「Badlock」と呼ばれるプロトコル上の脆弱性が発見されました。
これらのプロトコルは、Windows や Sambaサーバーで、Security Account Manager Database の管理に利用されます。
この脆弱性を利用して、man-in-the-middle 攻撃により認証済みのユーザーとして、Sambaサーバーの SAMR や LSA サービスを 利用するための DCE/RPC コネクションを確立できる可能性があります。
その結果、悪意のあるユーザーが Security Account Manager Database(SAM) やパスワード情報などにアクセスできる権限を取得できる可能性があります。
CVE-2015-5370 (Samba 3.6以降)
Samba の DCE/RPC プロトコルの実装上の問題により、認証済みユーザーがリモートから Samba サーバーに対して サービス妨害攻撃 (DoS) を行うことが可能です。
また、Samba の Active Directory ドメインコントローラーに対して、悪意のあるユーザーが man-in-the-middle(MITM) 攻撃により、 Active Directory のオブジェクトの管理権限を奪取できる可能性があります。
CVE-2016-2110 (Samba 3.0以降)
Samba の NTLMSSP 認証の実装に脆弱性が発見されました。
この脆弱性を利用して、認証されていない悪意のあるユーザーが man-in-the-middle 攻撃によりコネクシ ョンの暗号化レベルを ダウングレードさせ、暗号化して送信されるべきデータを平文のまま送信できる可能性があります。
CVE-2016-2111 (Samba 3.0以降)
Samba がドメインコントローラーとして構成されている際に、悪意のあるユーザーがリモートからセキュアな通信路の接続先のコンピューターの情報を取得し、細工を行ったアプリケーションなどでセッション情報などの秘密の情報を盗聴できる可能性があります。
CVE-2016-2112 (Samba 3.0以降)
Samba の LDAP 接続の実装において、LDAP 接続を保護する仕組みが適切に実装されていない脆弱性が発見 されました。
悪意のあるユーザーが man-in-the-middle 攻撃により、この脆弱性を利用してLDAP 接続の保護機能を無効化させ、接続を奪取できる 可能性があります。
CVE-2016-2113 (Samba 4.0以降のみ)
Samba の LDAP 接続の TLS 通信の実装において、証明書の検証が適切に行われていない問題が発見されま した。
本脆弱性は、Samba が提供する ldpsearch や ldbedit コマンドを利用したLDAPS 接続時に影響し、man-in-the-middle攻撃により、 Samba サーバーの情報の盗聴に利用される可能性があります。
CVE-2016-2114 (Samba 4.0以降のみ)
Samba の実装上の問題により、SMB1 プロトコルを利用するクライアントの接続において、SMB署名が強制されるべき設定であっても、SMB 署名が 使われない問題が発見されました。
この結果、悪意のあるユーザーによる man-in-the-middle 攻撃を許す可能性があります。
Samba 4 の Active Directory ドメインコントローラーとして利用する場合、“server signing = mandatory” の設定がデフォルト動作となりますが、 この場合に本脆弱性の影響を受けます。
ドメインメンバーやファイルサーバーなど、他の構成のSambaサーバーにおいては、デフォルトでは"server signing = off"として 動作します。
CVE-2016-2115 (Samba 3.0以降)
Samba の名前付きパイプを利用した DCERPC 通信を保護する実装において、デフォルトでは SMB 署名を適 切に行っていない 問題が発見されました。
この結果、悪意のあるユーザーによる man-in-the-middle 攻撃によってサーバー・クライアント間で通信したデータを盗聴される可能性があります。
本修正に伴う smb.conf のパラメーター変更点
本修正に伴い、以下のパラメーターが追加されています。
raw NTLMv2 auth (CVE-2016-2111関連)
smbd が SMB1 接続のクライアントに対して、SPNEGO を利用しない NTLMv2 認証を許可するか設定します。
- noを設定した場合 (デフォルト)
- SMB1 接続を行うクライアントの NTLMv2 認証に SPNEGO を利用しない接続を許可しません。
- yesを設定した場合
- SMB1 接続を行うクライアントの NTLMv2 認証に SPNEGO を利用しない接続を許可します。
関連する動作変更
- SMB1 の LANMAN2 が選択されるクライアントからの接続を許可するには、“client lanman auth = yes"の設定が必要です。
- “client ntmlv2 auth = yes"と"client use spnego = yes"が設定されている環境では、接続先のサーバーにSPNEGOのサポートが必要です。(この2つのパラメーターのデフォルト値はyesです)
ldap server require strong auth (CVE-2016-2112関連)
Samba の LDAPサーバー機能において 安全な LDAP 認証のために、署名や暗号化を必要とするか設定します。
- yes を設定した場合 (デフォルト値)
- TLS 通信でのみ simple 認証のみ許可します。平文通信では署名と暗号化を利用したSASL 認証の み許可します。
- allow_sasl_over_tls を設定した場合
- TLS 通信では、simple 認証、及び、署名と暗号化による保護がされていないSASL 認証を許可します。平文通信では署名と暗号化を利用したSASL 認証のみ許可します。
- no を設定した場合
- 全ての通信経路で LDAPの simple 認証、および SASL 認証の利用を許可します。
関連する動作変更
- LDAP サーバーから、「LDAP_STRONG_AUTH_REQUIRED」が要求された場合、samba-tool や ldbsearch などのクライアントツールの設定に"client ldap sasl wrapping = plain"の設定がなされていても自動的に “client ldap sasl wrapping = sign"として動作します。
tls verify peer (CVE-2016-2113関連)
接続先の証明書に対する検証レベルを設定します。設定可能な値は以下のいずれかです。
- no_check
- 接続先の証明書を検証しません。本設定は man-in-the-middle 攻撃を許す可能性があります。
- ca_only
- “tls ca file"オプションに指定されたCA証明書で証明書が署名されているか確認します。
- ca_and_name_if_available
- CA証明書による証明書の署名確認に加えて、接続先が証明書に記されたホスト名であることを確認します。
- ca_and_name
- CA証明書による証明書の署名確認、接続先のホスト名の確認に加えて、IPアドレスとホスト名の関係が一致することを確認します。
- as_strict_as_possible (デフォルト値)
- 上記の全てのチェックに加えて、“tls crlfile"パラメーターが設定されていることを確認します 。
client ipc signing (CVE-2016-2115関連)
IPC$ 共有への DCERPC による接続時の SMB 署名の利用について設定します。設定可能な値は次の通りです。
- mandatory / default (デフォルト値)
- SMB 署名の利用が強制されます
- auto
- SMB 署名の利用が可能な場合には利用しますが、強制はされません
- disabled
- SMB 署名は利用されません
client ipc max protocol (CVE-2016-2115関連)
IPC$ 共有への DCERPC による接続時に利用を許可する最大のプロトコルレベルを指定します。
デフォルト値として default が指定されており、この値は現在はSMB3_11 を意味します。
client ipc min protocol (CVE-2016-2115関連)
IPC$ 共有への DCERPC による接続時に利用を許可する最小のプロトコルレベルを指定します。
通常、SMB プロトコルの接続時に適切なレベルが選択されるため、このオプションは指定する必要はありません。
デフォルト値として default が指定されており、この値は現在は NT1 を意味し、“client min protocol"に設定されたレベルと default に指定されたレベルの中で最大のレベルが選択されます。