DCOM(分散COM)を無効にする

Windows XPにはDCOMという機能があります。 インターネット経由で他の機器にインストールされたCOMを利用できるという本来ならば便利であるはずの機能なのですが、Windows Updateをしていないマシンではウィルスに感染する元になったりします。 ここでは、DCOMの無効化する方法を説明したいと思います。

DCOM

DCOMは、COMをリモートマシンから実行できるようにしたものです。 COMとは、アプリケーションに色々なサービスを提供します。(仕様だったりもします。) Windows XPにとってCOM自体は非常に重要なものです。 (ただし、説明を始めると長くなってしまうので割愛させて頂きたいと思います。。。)

ローカルマシンで動作しているCOMは、それぞれ特定のサービスを提供しています。 アプリケーションはCOMに対して要求を出すと、COMは要求を処理して結果を返します。 DCOMは、それらの動作をローカルマシン内だけではなく、インターネット経由でできるようにしたものです。

一見便利なDCOMですが、場合によってはウィルスにこの機能を利用されて感染することもあります。 DCOMを利用したウィルスはメールに添付されてくるものと違い、何もしないでインターネットに接続しているだけで感染します。 DCOMを利用して感染するウィルスとしては、2003年に大流行したBlasterが有名です。 Windows Updateを定期的に行っていれば、このウィルスに感染することはありませんが、将来的にDCOMサービスに脆弱性が発見されたときに同じ問題が発生する可能性があります。 このようなウィルスへの感染を防ぐ方法としてDCOMの無効化が一般的です。

DCOMを無効化して発生する不具合としては、WMI(Windows Management Instrumentation)を使った遠隔マシンへのQueryが正常に動作しなくなることなどが挙げられるそうですが、普通はあまりその機能を使わないと思います。 それ以外のサードパーティのアプリケーションに不具合が発生する可能性があるらしいので、管理に使っているマシンで影響があるかどうかに自信が持てない場合には、DCOMの無効化は控える事をお勧めいたします。 私の手元の機器は全てDCOMを無効化してありますが、今のところ不具合は発生していません。

DCOMの無効化

DCOMを無効化するには、まず、dcomcnfg(DCOM config[もしくはdcomconfig]の略だと思われます)というコマンドを実行します。 「スタート > ファイル名を指定して実行 > dcomcnfg」でdcomcnfgコマンドを実行できます。


次に、出てきたウィンドウ中の左側にある「コンポーネントサービス」という部分をクリックします。 すると、「コンピュータ」というサブカテゴリが表示されるので、それをクリックします。 すると、「マイコンピュータ」というアイコンが表示されるので、そこで右クリックをして「プロパティ」を選びます。


「マイコンピュータ」でプロパティを選ぶと「マイコンピュータのプロパティ」というダイアログが出現します。 その中にある「既定のプロパティ」タブを選択します。 「既定のプロパティ」タブの一番上に「このコンピュータ上で分散COMを有効にする」というチェックボックスがありますが、そのチェックを外すとDCOMは無効化されます。 (Windows XPの初期設定では、このチェックボックスが有効になっています。)

WinXP高速化手法