ドメイン メンバー サーバーからのリモート コード実行を防ぐにはどうすればよいでしょうか?

ドメイン メンバー サーバーからのリモート コード実行を防ぐにはどうすればよいでしょうか?

ファイアウォール、グループポリシー設定、またはその他の制御を使用して、ドメインメンバーにログインした人がドメインコントローラー(通常はネットワークアクセスできない)でリモートコードを実行できないようにする方法はありますか?ドメイン管理者の資格情報を盗んだ可能性がある場合、または、通常のADメンバーシップに必要なネットワークアクセスは、たとえばリモート実行に必要なネットワークアクセスと永久に切り離せないものなのでしょうか?PsExecまたは PowerShell ですか?

例を挙げると次のようになります。

  • Windows サーバー「member1」は、単純な AD ドメインのドメイン メンバーです。
  • Windowsサーバー「dc1」と「dc2」は、この単純なドメインのドメインコントローラーです。
  • メンバー1とDCの間にはハードウェアファイアウォールがあり、TCPおよびUDPポートドメイン メンバーシップに必要なものは、member1 と DC 間で許可されます。
  • ユーザー「Jack」は「member1」のユーザーであり、前の項目で説明したアクセス権以外に、DC へのネットワーク アクセス権はありません。
  • ジャックは狡猾であり、ソーシャル エンジニアリング攻撃またはその他の方法を通じてドメイン管理者「ジル」の資格情報を取得することができます。
  • ジャックはこれらの資格情報を取得し、メンバー1にログインし、おそらく次のような方法でdc1またはdc2のコードをリモートで実行できます。PsExecまたは、PowerShell は .NET を使用して独自のユーティリティを作成することもできます。これは、ドメイン メンバーシップに必要なネットワーク アクセスに、このようなリモート呼び出しを実行するために必要なネットワーク アクセスが含まれるためです。

この攻撃を阻止するには、member1 がドメイン上で通常の AD 機能 (認証、グループ ポリシーの更新、時刻同期など) のみを実行できるようにし、DC 上のプロセスのリモート実行などの他のアクションを防止します。

答え1

これは不可能です。ドメインに参加すると、ドメインはコンピューターにユーザーをサインインさせ、GPO を適用できるようになります。GPO により、ネットワークからソフトウェアがインストールされ、任意のレジストリ エントリが変更される可能性があります。

エンクレーブで RODC を使用すると、ドメインはエンクレーブから保護されますが、エンクレーブはドメインから保護されません。ただし、これを逆に使用してセキュリティを強化し、管理対象のすべてのコンピューターが RODC とのみ通信し、他の DC のみが書き込み可能な DC にアクセスできるようにすることができます。

ドメイン上での侵害から保護したい機密性の高いコンピュータがある場合は、それらのホスト用に別のドメイン (別のフォレスト) を作成し、個別に管理することを検討してください。これは、セキュア エンクレーブが必要な場合に非常に一般的です。特にコンピュータの数が非常に少ない場合は、ドメインにコンピュータをまったく参加させないことも検討できます。

あなたのコメントを見ると、あなたの脅威モデルが何なのかよく分かりません。

具体的に何をするかは、脅威モデルによって大きく異なります。ただし、通常、ドメイン メンバーと任意のユーザーは、ドメイン コントローラーでコードを実行することはできません。エクスプロイトが懸念される場合は、パッチを適用するのがよい方針です。いずれの場合も、RODC を使用すると、ドメイン内の何も変更できないため、影響を制限するのに役立ちます。

ユーザーがリモートでコマンドを実行したり、ドメイン コントローラーにログインしたりすることが心配な場合は (何らかの権限昇格エクスプロイトなどを使用しない限り、ドメインにソフトウェアを展開するなどの権限は付与されません)、グループ ポリシーによって DC へのログインを禁止できます。

Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignmentこれが実行しようとしていることであれば、この設定は DC に適用される GPO の ... の下にあります。

ユーザー (およびその他のセキュリティ プリンシパル) はドメインまたはマシンにバインドされますが、両方にバインドされるわけではありません。AD で接続しているコンピューターに基づいてドメイン管理者権限を拒否するなどの操作は実際には実行できません。ただし、RODC ではない DC へのネットワーク アクセスを制限することはできます。これにより、ランダムなユーザー ワークステーションからの管理操作を阻止できる可能性があります (脅威モデルによって異なります)。ユーザーが RODC をピボット ポイントとして使用できないようにする場合 (それが目的ですか?)、すべてのログイン権限を拒否できると思いますが、管理がかなり困難になります。代わりに、RODC と他の DC 間のファイアウォールで DS レプリケーション ポートのみを許可することをお勧めします。

開く必要があるポートは、RODC展開のドキュメントに記載されているポートです。「必要な通信ポート」のセクションを参照してください。https://technet.microsoft.com/library/dd728028%28v=ws.10%29.aspxしかし、残念ながら、RPC を許可する必要があり、それが psexec の動作方法です。これにより、RDP などによるログインを禁止することしかできなくなります。

盗まれた資格情報による psexec の使用を防ぐには、書き込み可能なドメイン コントローラ上の前述の GPO を通じて、ドメイン管理者によるバッチ ジョブ ログインを禁止することもできます。これにより管理性が若干低下しますが、これは自分で決定できます。これに関する非常に優れたドキュメントと、ドメイン管理者アカウントのセキュリティに関するその他のヒントについては、次の Web サイトをご覧ください。https://technet.microsoft.com/ja-jp/library/dn487454.aspx より包括的なドメイン管理者ではなく委任を通じて管理アカウントに特定の管理権限を付与する委任アクセスを使用することも、オプションとして考えられます。

答え2

ドメイン コントローラーからアクセスする必要があるものは何ですか? member1 とドメイン コントローラーの間にファイアウォールがあるため、dc1 と dc2 へのすべてのアクセスをブロックし、読み取り専用ドメイン コントローラーや Web フロントエンドなどを、member1 がアクセスできるファイアウォールの外側に配置することができます。

答え3

この問題には、SRP または AppLocker を使用して、事前に承認したものを除き、すべての実行可能ファイル (exe、bat、ps1 など) が DC 上で実行されないようにブロックするという別の方向から対処することもできます。こうすることで、たとえアクセスできたとしても、深刻な妨害を受けることになります。

しかし、誰かが管理者権限を持っていると仮定すると、ほとんどのコンピューターからドメインに対して何でも実行できます。DC は主に認証のために存在します...

そして、トッドが言ったように、ジルを信頼できないなら、彼女の権利を削除したほうがよいでしょう...

答え4

簡単に言えば、ドメイン管理者はやりたいことを何でもできます (つまり、ドメイン管理者です)。ドメイン管理者の資格情報を盗んだ人をブロックする方法はありません。その人は、あなたが導入したセキュリティ対策を何でも上書きできます。

関連情報