- PR -

認証およびNTFSアクセス権限について

投稿者投稿内容
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2008-07-24 00:57
引用:

・NETWORK SERVICEにAdmin権限を付与



怖い怖い。
専用のアカウントを作成して、それで偽装するんじゃダメなんすかね。

引用:

・イベントログの書込み



は、適切なセットアップを作れば、Web アプリケーションに Admin 権を付与する必要は無いはずです。

引用:

HKEY_CURRENT_USERに対しては同じ事をしても
 書込みができません。なぜでしょうか。



HKEY_CURRENT_USER はユーザアカウント毎に切り替えられるものなので。




[ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2008-07-24 01:10 ]
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-24 01:10
別のところで引っかかっているかもしれないので Process Monitor で access denied になっているところ調査してみてくださいな。

「イベントログの書込み」についてはその前で示した event log の ACL を変更することで間違いなく対処可能です。

また、COM+ (DCOM) についても ACL があるので必要に応じて ACL を構成してください。

引用:
HKEY_CURRENT_USERに対しては同じ事をしても 書込みができません。なぜでしょうか。



HKEY_CURRENT_USER というのはその名の通り現在 logon している user の current なわけです。Web 経由で access した user の current ではないですよ。
つまり、user がいっぱいいたらその user 毎に設定を変更する必要あります。
Group policy とかで何とかなるかな?
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-24 01:19
たしか、記憶によると network logon の場合には group policy は適切に処理されなかった記憶があるので。。。

Default user profile の customize の方がいいですね。

あと、network logon の場合にはそもそも user profile load されなかった記憶が。
先に profile を作成しておけば load されましたっけ?
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-24 01:24
ひどりさん、こんな時間にコメントありがとうございます!

おっしゃるとおり、NETWORK SERVICEにAdmin権限を付与は危険だと思っています。
今日は現場で作業できる時間がなくなってしまったので明日試してみますが、
偽装で出来たら、と考えています。

偽装はたとえば1つユーザーを作成して、そのユーザーをweb.configの
identityタグにtrue、userNam、passwordを指定するということですよね。
※生成したユーザーにAdmin権限を与え・・・

イベントログの書込みは、適切なセットアップを作れば・・・
というのが良くわからない状態でして。
少し調べて以下を試してみました。
・レジストリのHKEY_LOCAL_MACHINE〜EventlogにNETWORK SERVICEの権限を追加
・事前にレジストリの上記フォルダ?に対してサブキーを作成し、
 その後、VS2008のクラスライブラリ(EventlogInstaller)で作成したDLLを
 コマンドで実行(InstallUtil.exe)

※SDDLの編集も試みようとしたのですが、怖くてやめてしまいました。

なるほど、HKEY_CURRENT_USERはユーザーアカウントごとなのですね、納得です。
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-24 01:34
うわっ!ちゃっぴさんまでありがとうございます。

>Default user profile の customize の方がいいですね。

今確認できないのですが、↑これって「ファイル名を指定して実行」に
"gpedit.msc"と入力して表示される「グループポリシーエディタ」での
編集のことですよね、確か。

明日試してみます、遅い時間にありがとうございます。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-24 01:58
Event log は ACL をいじらない (SDDL で設定しない) と書き込むこと出来ないですね。
一般的な user では IU つまり interactive logon しないと書き込めないように ACL が構成されていますので。

引用:
今確認できないのですが、↑これって「ファイル名を指定して実行」に
"gpedit.msc"と入力して表示される「グループポリシーエディタ」での
編集のことですよね、確か。



ではないです。User profile が格納されている dirctory に .defalut という profile があるはずです。その profile の ntuser.dat が user profile がない場合の既定の設定になります。

ただ、network logon の場合には対象の user profile が存在しない場合 load されない仕様だった記憶があります。なので、Windows 統合認証を利用するような場合には、user profile を load しなくてはならない applicaiton を起動する場合には、COM+ とかを使って別の資格情報で起動するようにした方がいいと思います。

今回の場合では Excel を扱う部分がもろにそれにあたりますので、その部分だけ COM+ として登録し、ASP.NET から call する方がいいのではないのかと。
_________________
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-24 02:08
なお、COM+ の作成方法および登録方法についてには、下記が参考になるでしょう。

ASP(VBSCRIPT)でのネットワークドライブへのファイルコピーについて

扱う対象が Excel なのですから、clasic な VB の方が扱いやすいと思います。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2008-07-24 02:23
引用:

Event log は ACL をいじらない (SDDL で設定しない) と書き込むこと出来ないですね。



でしたっけ? アプリケーションログには書けたようなするんですが、ログオンセッションからだったのかな>じぶん

スキルアップ/キャリアアップ(JOB@IT)