Translated message

A translation of this page exists in English.

Badlock: Samba に対する SAMR および LSA プロトコルの中間者攻撃 (CVE-2016-2118)

Red Hat Product セキュリティーチームは、Microsoft Windows Active Directory インフラストラクチャーで使用されている DCE/RPC ベースの SAMR および LSA プロトコルの脆弱性を認識しています。この脆弱性は CVE-2016-2118 で対応されています。

注記: これはプロトコルの問題であるため、Samba (CVE-2016-2118)、およびd Microsoft Windows (CVE-2016-0128) を含む、このプロトコルを実装するすべてのアプリケーションに影響を与えます。

背景情報

DCE/RPC は、API およびネットワーク上のプロトコルの両方を定義するリモートプロシージャーコールメカニズムの仕様です。セキュリティーアカウントマネージャー (SAM) リモートプロトコル (クライアントとサーバー間) は、ユーザーおよびグループを含むアカウントストアまたはディレクトリーの管理機能を提供します。このプロトコルは、ローカルとリモートの Microsoft Active Directory ドメインの「アカウントデータベース」を公開します。Local Security Authority (ドメインポリシー) リモートプロトコルは、各種のマシンおよびドメインのセキュリティーポリシーを管理するために使用されます。このプロトコルは、重要性の低い例外はあるものの、リモートポリシーの管理シナリオを可能にします。SAMR と LSA プロトコルはどちらも DCE 1.1 RPC プロトコルに基づいています。

これらのプロトコルは通常、すべての Samba サーバーのほかにもすべての Windows インストールで利用できます。これらはセキュリティーアカウントマネージャーデータベースを維持するために使用されます。これはすべてのロールに適用されます (スタンドアロン、ドメインコントローラー、またはドメインメンバーなど)。

攻撃の詳細と影響

クライアントがサーバーに対して開始する認証された DCE/RPC 接続は、サーバー上の SAMR または LSA サービスに対する、中間者による認証ユーザーのなりすましに使用される可能性があります。その結果、攻撃者はセキュリティーアカウントマネージャーデータベースへの読み取り/書き込みアクセスを取得でき、すべてのパスワードと機密情報となり得るすべての情報を表示できる可能性があります。

ここでは、クライアントで選択されるアプリケーションプロトコル、認証タイプ (Kerberos または NTLMSSP など)、および認証レベル (NONE、CONNECT、SIGN、または SEAL) が何であるかは重要ではありません。中間者攻撃により、認証レベルを CONNECT にダウングレードして接続を奪取できる可能性があります

Red Hat Enterprise Linux サーバーおよび Red Hat Gluster Storage に同梱された Samba パッケージのすべてのバージョンがこの脆弱性による影響を受けます。この問題は Red Hat Product セキュリティーチームによってセキュリティーの影響度が 重要な影響 と評価されています。

影響を受ける設定

  • Samba サーバーをドメインメンバーとする Active Directory インフラストラクチャーはこの不具合に対して脆弱です。中間者攻撃により、ドメインメンバーとドメインコントローラー間の DCE/RPC トラフィックが傍受され、クライアントのなりすましや認証ユーザーアカウントと同じ特権の取得が行われる可能性があります。攻撃者は、ユーザーパスワードのハッシュなどのシークレットを表示または変更したり、重要なサービスをシャットダウンしたりできる可能性があります。

  • ファイルまたはプリントサーバーとして設定されたすべての Samba サーバーもこの不具合に対して脆弱です。攻撃者はこの脆弱性を利用して、ファイルまたはディレクトリーのユーザー権限を変更できる可能性があります。

軽減策

リスクの軽減策として、修正の含まれるパッケージが適用されるまで、特権付きのアカウントを使用して SMB/CIFS サービスにアクセスしないようにすることができます。認証にネットワーク通信が使用されないように管理者アクセスを物理ハードウェア (コンソール、サーバー) に制限してください。

解決策

製品 コンポーネント アドバイザリー
Red Hat Enterprise Linux 5 samba (3.0) RHSA-2016:0621
Red Hat Enterprise Linux 5 samba3x (3.6) RHSA-2016:0613
Red Hat Enterprise Linux 6 samba (3.6) RHSA-2016:0611
Red Hat Enterprise Linux 6 samba4 (4.2) RHSA-2016:0612
Red Hat Enterprise Linux 7 samba (4.2) RHSA-2016:0612
Red Hat Gluster Storage 3 (EL6) samba (4.2) RHSA-2016:0306
Red Hat Gluster Storage 3 (EL7) samba (4.2) RHSA-2016:0306

謝辞

Red Hat は Samba プロジェクトがこの問題を報告してくださったことに感謝の意を表します。また、この脆弱性の最初の報告者である Stefan Metzmacher (SerNet ) に対してもアップストリームから感謝の意を表します。

補注

この脆弱性に対するセキュリティー更新には、以下に記載する smb.conf の新規オプションが導入されています。

  allow dcerpc auth level connect (G)

    このオプションは、DCE/RPC サービスを以下と一緒に使用できるかどうかを制御します。
    DCERPC_AUTH_LEVEL_CONNECT: これは、メッセージの整合性 (SIGN) やプライバシー保護 (SEAL) に基づかない認証を提供します。

    samr、lsarpc、および netlogon などのインターフェースにはハードコーディングされたデフォルト値
    no が使用され、epmapper、mgmt、および rpcecho にはハードコーディングされたデフォルト値の yes が使用されます。

    動作は、'allow dcerpc auth level connect:interface = yes' と指定することで、インターフェース名
     (例: lsarpc、netlogon、samr、srvsvc、winreg、または wkssvc) について上書きできます。


    実装固有の制限はこのオプションよりも優先されます。
    以下は例になります。
    * drsuapi および backupkey プロトコルには DCERPC_AUTH_LEVEL_PRIVACY が必要です。
    * dnsserver プロトコルには DCERPC_AUTH_LEVEL_INTEGRITY が必要です。

    デフォルト: allow dcerpc auth level connect = no
    例: allow dcerpc auth level connect = yes

よくある質問

使用するインフラストラクチャーで Samba サーバーおよび Samba クライアントの両方にパッチを適用する必要はありますか?

少なくとも Samba サーバーを更新する必要があります。Badlock はプロトコルの脆弱性であるため、Samba インフラストラクチャーの設定によってサーバーとクライアントの両方が影響を受ける可能性があります。Red Hat Product セキュリティーチームはサーバーとクライアントの両方を更新することを推奨します。

更新されたパッチにより、古いバージョンの Samba を実行する既存のクライアントに支障が生じる可能性ありますか?

このセキュリティーアドバイザリーでは Samba を設定するためのセキュリティーオプションの一部を制限してます。これにより、Samba サーバーは更新されるがクライアントは更新されない場合に設定が破損する可能性があります。相互運用性を継続的に確保するために古く安全でないオプションにロールバックすることはできますが (たとえば smb.conf ファイルに allow dcerpc auth level connect = yes を設定する)、Red Hat Product セキュリティーチームは、これにより一部の攻撃ベクトルが再度導入されることになるため、これを実行しないことを強く推奨します。

Samba サーバーインスタンスは Windows ドメインに接続されていませんが、それでも脆弱性の影響を受けますか?

はい。管理者ユーザーが安全ではないクライアントを使用して Samba サーバーと通信するか、または安全なクライアントを使用して安全ではない Samba サーバーと通信する場合、中間者攻撃でこの脆弱性が悪用される可能性があります。

パッチを Samba サーバーおよびクライアントに適用しましたが、何を再起動する必要がありますか?

いいえ。更新がシステムで適用されると、smb サービスは自動的に再起動されます。

暗号化はこの中間者攻撃 (MITM) の保護策となりますか?

SMB プロトコルは、デフォルトでファイルをプレーンテキストで転送する一方で、認証情報とコマンドを暗号化します。セキュリティーおよびプライバシーの保護が重要となる状況では、すべての通信を保護するために暗号を使用することを推奨します。暗号化はバージョン 3.2 の Samba に追加されていますが、Samba クライアントの場合に限られます。Microsoft は SMB 暗号化サポートを Windows 8 および Windows Server 2012 の SMB 3.0 に追加しました。ただし、これらの暗号化は、ファイル転送などの通信のみを保護し、SMB ネゴシエーションやコマンドの実行後に機能します。上記の脆弱性はこのフェーズで含まれるため、Samba/SMB 暗号化は良い取り組みですが、この脆弱性に対する保護策としては不十分です。

参考情報

http://badlock.org/

Comments