■SQL Slammerに対して脆弱なコンピュータを見つける方法
新種のコンピュータ・ワーム「SQL Slammer(SQLスラマー)」によって、韓国でインターネットが利用不能になるなど、甚大な被害を発生したのは2003年1月25日のことです。その後、多くのユーザーが修正プログラムを適用したことなどにより、現在は沈静化しています。しかし、SQL
Slammerがインターネット上から絶滅したわけではありません。未だにインターネット上にはSQL Slammerの感染パケットが流れています。対策を施していないSQL
Server 2000があれば、感染してしまう可能性があります。ちなみに、SQL Serverをインストールする際は、ネットワークから物理的に切り離し、別途用意した修正プログラムを適用するとよいでしょう。
SQL Slammerは知名度が高いワームとなったことから、ほとんどの管理者がSQL Serverに対して修正プログラムの適用を行っているようです。ところが、SQL
Slammerは、SQL Server 2000のデータベース・エンジン「Microsoft Desktop Engine 2000(MSDE 2000)」も攻撃の対象としています。このMSDE
2000は、マイクロソフトが無償配布しているほか、ソフトウェア・ベンダにも提供しており、多くの業務アプリケーション(バックアップ・ソフトウェアや会計ソフトウェアなど)がシステムの一部として採用しています。つまり、ユーザーが意識しないところでMSDE
2000がインストールされている可能性があるわけです。もちろん、MSDE 2000に対しても修正プログラムの適用が必要になりますが、MSDE 2000がインストールされているかどうかを調べるのは容易ではありません。
そこで、マイクロソフトはSQL Slammerに対して脆弱なコンピュータを検出するツール「SQL Scan」を提供しています。このツールを使うことで簡単にSQL
ServerならびにMSDEがインストールされているコンピュータを探し、対策済みかどうかを検出してくれます。SQL Scanは、「SQL Server 2000
セキュリティ ツール」の一部として提供されていますので、まずSQL Server 2000 セキュリティ ツールをダウンロードし、インストールしてくだい。
・SQL Server 2000 セキュリティ ツールのダウンロード・ページ:
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9552D43B-04EB-4AF9-9E24-6CDE4D933600
インストールしたフォルダの下にSQLScanというサブフォルダが作られているはずです。このフォルダにある「Sqlscan.exe」をコマンド・プロンプト上で実行します。-dオプションを使いドメイン名を指定することで、ドメイン内のすべてのコンピュータをチェックします。
C:\SQLCritUpdPkg\SQLScan>sqlscan -d <ドメイン名>
Scanning: SERVER01 (platform = NT, version = 5.0)
Scanning: SERVER02 (platform = NT, version = 5.0)
FOUND: sqlservr.exe @productversion=8.00.731 @fileversion=2000.080.0731.00 found
: ssnetlib.dll @productversion=8.00.731 @fileversion=2000.080.0731.00 Action Recommended
for this instance. Run the SQL Critical Update Utility. See readme for details.
server=SERVER02 instance=MSSQL$UDDI version=pre-SP3 language=1041 MSDEProductCode={C5B59406-E985-4187-84E8-68E2D9F89A47}
MSDEPackageName=SqlRun08.msi platform=NT os=5.0
Scanning: SERVER03 (platform = NT, version = 5.1)
FOUND: sqlservr.exe @productversion=8.00.760 @fileversion=2000.080.0760.00 found
: ssnetlib.dll @productversion=8.00.766 @fileversion=2000.080.0766.00 No need
to run the SQL Critical Update utility for this instance at this time.
server=SERVER03 instance=MSSQL$NETSDK
version=SP3 language=1041 MSDEProductCode={E09B48B5-E141-427A-AB0C-D3605127224A}
MSDEPackageName=SqlRun01.msi platform=NT os=5.1
|
このような出力を得ることができます(コンピュータの台数が多い場合は、数分かかります)。この場合、SERVER01にはSQL ServerならびにMSDEがインストールされておらず、SERVER02がSQL
Slammerに対して脆弱である可能性を示しています。SERVER03は、SQL ServerならびにMSDEを検出したものの、対策済みであることが分かります。
-cオプションを付けることで、CSV出力とし、ファイルにリダイレクトすることで、Microsoft Excelなどで管理することも可能です。また、-bオプションで開始IPアドレス、-eオプションで終了IPアドレスを指定することで、指定範囲内のIPアドレスに含まれるコンピュータをチェックすることもできます。
1カ月に1度程度、このツールを使ってドメイン内のコンピュータをチェックするとよいでしょう。なお、さらに詳しい使い方については、ツールに付属する「readme_SQLScan.txt」を参照してください。
|