これは、個人的にセキュリティの専門家として長い間私を悩ませてきた質問です。
したがって、XP 10までのデフォルトのWindowsインストールには、通常、クワッドゼロ(いくつかの専門用語にあまり慣れていない場合は0.0.0.0)でリッスンするいくつかのサービスがあります)ドメイン環境でのセットアップを支援すると思いますが、リンクローカル名解決やNetBIOSなど、これらのサービスの多くは、少しの作業で無効にできます。
Windows RPCサブシステムがシステムにインストールされたほぼすべてのサービスに依存していることは理解していますが、RPCエンドポイントマッパーは、すべてのインターフェイスの一般的なmsrpcポート(ポート135)にバインドします。セキュリティの高い環境や家庭環境では、RPCポートをリッスンすることは、悪用される可能性があるため望ましくない場合があります。
私は、主にWindows RPCサーバーをローカルホストでリッスンするように設定しようとして、テスト環境でこれらの事実のいくつかを台無しにしました。私はRPCCFGを使用して、DCOMを無効にしています。これは、一部の古いフォーラムで見つけられる通常の手順です。完全に無効にすることはできないので、機能はほとんど変わらないという印象で、少なくともソフトウェアで表示できるようにしました。マッパーはそこにあり、ハードウェアをリッスンしないだけです。 XP= 10から、これを機能させる唯一の場所はWindows Server 2008 R2 Datacenterのインストールであり、それ以来、それを複製することができませんでした。
高セキュリティ環境では、セキュリティ上の懸念からWindowsを使用しない方が望ましいと思いますが、このサービスを構成してWindowsがCRITICAL_PROCESS_DIEDをスローせずに機能しないようにすることはできません。愛好家と呼んでください。でも、いつも面白いと思っています。
それで、Windows RPCサブシステムはエラーなしでlocalhostでリッスンできますか?または、Windows内のすべての機能を壊さずに構成することはできませんか?
ファイアウォールで関連するポートを単にブロックすることを検討しましたか?すべての外部ホストからのアクセスを拒否します。 [高度なネットワークを備えたWindowsファイアウォール]ウィンドウ(wf.msc
)、ルールを編集して[スコープ]タブに移動し、ローカルIPアドレス127.0.0.1でのみ機能するように設定するか、リモートコンピュータからの接続を受け入れないように設定します(またはその両方)。リモートマシンから135への接続を明示的にブロックするルールを追加することもできます。攻撃者が悪意のあるRPCサーバーを提示し、返されたデータまたはコールバックを介して攻撃する可能性があるため、本当に偏執的である場合は、受信と送信の両方をブロックするのが最善です。
認めますが、私はこれを自分で試したことはありません。それが機能するかどうか聞いて興味があります。 Windowsは明らかにrequireネットワークRPCを使用できません-OSはネットワークインターフェイスがなくても問題なく動作しますが、すべてのリモートRPCエンドポイントマッピングをブロックすると、一部のネットワーク機能が動作しなくなると思います。