- PR -

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

投稿者投稿内容
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-18 19:52
こんばんわ。
いろいろと聞きたいことばかりですみません。
ローカルで出来ていたことがサーバーに配置したら認証や権限で上手く動かず
本気で困っているのでお助け下さい。

Windows2003
IIS6.0
認証方法は「基本認証」Windowsのアカウントとパスワードでログインさせます。

配置した画面などは表示されるのですが、サーバー内にあるフォルダやファイルに
アクセスできなかったり、イベントログやレジストリが書けないなど、ぼろぼろです。
自分の理解不足を痛感しています。

@.まずIISの設定は仮想ディレクトリに対してディレクトリ権限を「基本認証」に
  チェックを入れ、ドメインの設定を行っています。
A.web.configには以下のように記述しています。
コード:
       (省略)
    <authentication mode="Windows"/>
    <authorization>
	<deny users="?"/>
    </authorization>
       (省略)
    <identity impersonate="true"/>




この状態で、サーバー内に共有フォルダを用意し、その中のPDFファイルを参照する場合
共有フォルダの権限に個別のアカウントを追加しないとファイルが参照できませんでした。
(NETWORK SERVICEやIUSR_マシン名のユーザー追加ではダメでした)

Windows認証でログインさせ、サーバー内のフォルダやファイルにアクセスするには
どのように設定したらよいのでしょうか、宜しくお願い致します。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-18 20:35
IIS6.0 での基本認証では、default で NETWORK logon とほぼ同じ NT AUTHORITY\NETWORK_CLEARTEXT として扱われるので、例え別の server と認証情報が共有できていたとしても、3 台目の制限に引っかかって logon することができません。

PC - Web - File

この場合、Web server へ network logon するとその資格情報を利用して file server へ接続できません。

回避するには、Windows 統合認証を利用し、Kerberos 委任を行う。
もしくは、security level の低下を覚悟の上で LogonMethod metabase property を変更する。
なんてものがあります。

あとは application 側の作りこみが必要になりますが、COM+ を利用するというのも手ですね。

IIS からネットワーク ファイルへのアクセス方法
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-18 20:53
ちゃっぴさん
コメントありがとう御座います。

基本認証では3台目の制限があるのですね。
そこでWindows統合認証を利用し、Kerberos委任とありますが、

Windows統合認証はIISの設定で
「Windows統合認証」のチェックボックスをONにしますが、
Kerberos委任はweb.configの設定で最初に記述してある内容ではダメなのでしょうか。

上記だけではファイルにアクセスできませんでした。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-18 21:13
引用:
基本認証では3台目の制限があるのですね。



ではないです。Windows は内部でどのような logon したかを access token に記録します。その logon の種類で access control することが可能です。

Logon 種類として access token に記録されるもには下記等があります。
  • INTERACTIVE
  • NETWORK
  • SERVICE
  • BATCH
  • NETWORK_CLEARTEXT


2 台目に INTERACTIVE logon している場合には、3 台目も扱えます。
NETWORK や NETWORK_CLEARTEXT では無理です。

引用:
Kerberos委任はweb.configの設定で最初に記述してある内容ではダメなのでしょうか。



Kerberos のプロトコル遷移と制約付き委任
Kerberos の制限された委任を構成する

_________________
ちゃっぴ@わんくま同盟
ちゃっぴの監禁部屋

[ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2008-07-18 21:15 ]
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-18 21:31
間違えた。3 台目の話ではないですね。

引用:
共有フォルダの権限に個別のアカウントを追加しないとファイルが参照できませんでした。


Windows 統合認証を利用しているのですから当然です。
Application pool 内で logon した user に偽装して動作していますので。

利用する user の group を追加して ACL に加えてくださいな。

引用:
イベントログやレジストリが書けないなど


こちらも ACL の編集が必要です。
_________________
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-23 10:29
こんにちわ。ちゃっぴさんコメントありがとうございます、
ごたごたしていてサイトの閲覧できてませんでした。

再確認したところ、今回のシステムではやはりWindows統合認証で実施することで
進めても問題ないと判断しました。
【条件として】
・イントラネット内のシステム利用であること
・既にドメイン環境が構築されていること
・ActiveDirectory環境が構築されていること
・ドメイン参加しているユーザーのみがシステムを利用可能であること

改めて作業を見直して以下の設定を行いましたが
レジストリ書込みとイベントログ書込みが出来ません。
作業漏れなどありましたらご指摘お願い致します。

【作業内容】
@.IISで匿名アクセスをOFFにし、Windows統合認証をONにする、仮想ディレクトリ作成
A.ユーザーグループに利用するアカウントとNETWORK SERVICEを追加作成
B.アクセスするフォルダおよびレジストリに上記で作成したグループを権限付与
 レジストリ(イベントログ):
HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/SERVICES/EVENTLOG/APPLICATION
 のサブキーに記録したい文字列を追加
 レジストリ(記録したい値):
HKEY_CURRENT_USER/SOFTWARE/xxx/xxx/SETTINGS
 ↑xxx/xxx/SETTINGSは独自の記録先
C.Global.asax、Web.configに以下の記述を追加
コード:
<Globale.asax>
            //イベントログ出力
            string LogName = "TEST_LOG";
            EventLog Log = new EventLog("Application");
            Log.Source = LogName;
            Log.WriteEntry(serverMsg.ToString(), EventLogEntryType.Error);
            Log.Close();
            Log.Dispose();

<Web.config>
	<authentication mode="Windows"/>
	<authorization>
		<deny users="?"/>
	</authorization>
         (省略)
         <identity impersonate="true"/>



ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-23 12:20
Windows Server 2003 のイベント ログのセキュリティをローカルまたはグループ ポリシーで設定する方法

脅威とその対策 第 6 章 : イベント ログ
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-24 00:38
こんばんわ。
流石に納期もせまってきて笑ってごまかせなくなってきたので
とにかく動くものと、少々強引ですがいろいろ試してみました。

Windows統合認証の状態で以下の権限を付与しました。
・利用ユーザーを登録したグループユーザーを作成(ACL)し
 使用するフォルダに追加。
・NETWORK SERVICEにAdmin権限を付与

この状態だと、以下のことが可能になりました。
・イベントログの書込み
・Excelファイルの編集(COMなどの設定はしてません)

しかしながら、まだ以下のことができず困っています。
・レジストリへの書込み
・Acrobatのexeを指定しての印刷

※レジストリの書込みについては、HKEY_LOCAL_MACHINEに対しては権限を付与
 することで書込みができるのですが、HKEY_CURRENT_USERに対しては同じ事をしても
 書込みができません。なぜでしょうか。

Acrobatについてはexeの実行権限を明日また確認してみます。
みなさんご指摘(突っ込み)宜しくお願いいたします。
それでは。

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