トップページへ PASSJ ブログへ
トップページへ
分科会
特集!
コミュニケーション
資格
セミナー・コンファレンス
インフォメーション



セキュリティ ボードリーダー:河端 善博

毎月第2、第4木曜日はボードリーダーからのレポートを掲載いたします。
 
   

2003年5月22日
『OPENROWSET とレジストリ設定』


現実の世界で猛威をふるっているウィルス「 SARS 」。
被害にあわれていた方々、対策にされている方々、経済的に影響を受けている 方々が、より早くいい方向に向かうことを祈っています。

一方で、サイバー世界のリスクと現実世界のリスクという面から、各国、関係 機関、メディアの対応、その評価すべき点と、問題点、影響をみさせていただ いております。コンピュータが着実に生活に入ってきている今、今後のサイバ ー世界のリスクは、今回の SARS と同様な対応、リスク評価が必要になると思 われます。

つい昨日、知人がいったことばがあります。

「被害にあっていない人には、被害にあったことの  ある人の危機感は、なかなか伝わらない」

それは、SARS についていえば、渦中にある台湾の対応と、日本の対応となっ て現れているように思います。SARS 対策について情報を集められるのでした ら、できれば台湾など SARS の渦中にある国々の対応が参考になると思います。
また、アジア貿易に関連する日本のサイトも参考になります。

■OPENROWSET とレジストリ設定

今月中旬、二回目の読み合わせ会を、マイクロソフトで SQL Server のサポー トされている平山様におこなっていただきました。

報告: 5 / 15 (木) 16 : 00 〜第 2 回サポート情報読み合わせ会のお知らせ
http://www.sqlpassj.org/bbs/ml_disp.aspx?forum_id=5&current_page=1&disp_mode=0&detail_mode=1&message_id=15701

この中で取り上げたサポート情報について、まとめておきたいと思います。

◇[FIX] SQL Server Service Pack 3 ではシステム管理者のみが  アドホック クエリを実行できる
http://support.microsoft.com/default.aspx?scid=kb;ja;327969

このサポート情報をまとめると次のようになります。
SQL Server は、Transact-SQL の中で、外部のデータを利用することができま す。たとえば、次のようになります。

SELECT *
FROM OPENROWSET(
'SQLOLEDB'
, 'ServerX';'Taro';'PASSWORD'
, 'select * from pubs.dbo.authors'
)

SELECT *
FROM OPENROWSET(
'MSDASQL'
, 'DRIVER={Microsoft Text Driver (*.txt;
*.csv)};DBQ=C:\;Extensions=txt;Persist Security Info=False'
, 'SELECT * FROM test.csv'
)

上のクエリーは、ServerX の pubs.dbo.authors に SELECT を実行して結果を 取得しています。下のクエリーは、カンマ形式ファイル「 C:\test.csv 」に
SELECT して、結果を取得しています。
外部のデータとしては、OLEDB, ODBCプロバイダの提供されているデータが対 象となります。外部のデータには、SQL Server, Oracleなどの RDBMS、Access,
Excel,カンマ形式ファイル、テキストファイル、また、Active Directory、
LDAP、ハードディスク中のファイルなどがあります。

●問題点
ここで、問題があります。
不正アクセス者が、SQL Serverの脆弱性または、システムの脆弱性をついて、 OPENROWSET を利用し、外部データを参照、更新する可能性があるのです。

●仕様
このため、 SQL Server Service Pack 3 は、次のような仕様になっています。

1. SQL Server の sysadmins に所属するアカウントを利用する場合、  OPENROWSET は制限なく利用できる。
 例: Windows の Administrators グループのユーザや、sa など。
2. sysadmins 以外のアカウントは、レジストリにて明示的に利用を許可され  た OLEDB プロバイダのみ OPENROWSET を利用してアクセスすることができ  る。

 レジストリは、次の場所にある
 キー: HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLSERVER\Providers\プロバイダ名
 値: DisallowAdhocAccess
 タイプ: REG_DWORD
 
 DisallowAdhocAccess = 0 の場合、OPENROWSET(プロバイダ名, )は 許可。
 DisallowAdhocAccess = 1 の場合、OPENROWSET(プロバイダ名, ) 不許可
 DisallowAdhocAccess がない場合も、不許可。

 普通にセットアップした場合、プロバイダ名 「SQLOLEDB」でのみ
DisallowAdhocAccess = 0
 と定義されている。他のプロバイダには、DisallowAdhocAccess はない。
 SQLOLEDB は、SQL Server用 OLEDB プロバイダ。

以上です。
このサポート情報では、SP3 での仕様がどうなのか、SP3 より前にはどのよう な問題があったのか、よくわかりませんでした。
そこで、サポート情報読み合わせ会の後、再度、マイクロソフトの技術者の方
に確認をとって、今回の情報をまとめました。

サポート情報読み合わせ会は、重点的なサポート情報を確認するだけでなく、 さらに、その情報に関連する問題、課題、疑問点を明らかにするいい機会です。
ぜひ、ストリーミングやチャットでも参加できますので、ぜひ一度、ご参加い ただければと思います。

次回予定: 6 / 12 (木) 16 : 00 - 17 : 30 ( 90 分)
意見交換分科会 : pml-web

さて、この原稿を書いている間にも、SARS 対応に関する報道が次々と 行われています。今年はじめの Slammer のときのマイクロソフトを含む 関係各位の対応とも比較しつつ、対応していきたいと思います。





ボードリーダーレポート トップページへ

 

 
PASSJメールニュース 著作権ついて プライバシーポリシー リンクポリシー お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.