- - PR -
特定のサービスを起動する権限
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-02-01 21:54
一般のドメインユーザに特定のサービスのみの起動/停止権限を与えたいと思っております。
具体的にはWEBアプリケーションサーバである、Apache Tomcatだけを誰でも起動/停止できるようにしたいのです。 現在、[NET START/STOP]コマンドを記述したバッチファイルを作成し、タスクに登録して、そのタスクの実行権限を全員に与えると可能かと考えていますが、もっとスマートに、サービスそのもののセキュリティ設定ができないかと考えています。 良いヒントを頂ければと思います。 [ メッセージ編集済み 編集者: ryoichi 編集日時 2008-02-01 21:54 ] | ||||
|
投稿日時: 2008-02-01 21:56
OS の version がわかりませんけど、sc.exe sdset を利用して SDDL で DACL を書き換えましょう。
_________________ | ||||
|
投稿日時: 2008-02-02 15:07
ありがとうございました。できました。 1.以下のコマンドにて、現在のDACLを取得します。 C:\>sc sdshow Tomcat5 D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CR;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU) 2.EVERYONEにフルコントロールを追加したかったので、DACLの構文をよく理解 していないのですが、雑なファイルに権限を与えて、以下のコマンドで、 EVERYONE=WDであることを知りました。 C:\>cacls a.txt /s C:\a.txt "D:PAI(A;;FA;;;BA)(A;;0x1201bf;;;WD)" 3.以下のコマンドによる再設定で、うまくいきました。 C:\>sc sdset Tomcat5 D:A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CR;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU) [SC] SetServiceObjectSecurity SUCCESS | ||||
|
投稿日時: 2008-02-02 18:22
まず、EVERYONE に対して権限を付与する必要は全くないでしょう。 必要な user のみ所属させる group を作成し、その group に対して権限を付与しましょう。 組み込みの group ではなく、新たに作成した group に対し権限を SDDL 形式で割り当てるには、SID を直接指定してやればよいです。 次に必要以上の権利が割り当てられています。 今回の要件は対象の service 起動・停止ではないのですか? この設定では service 起動・停止だけではなく、多くの権利が付与されていますね。 下記を参考に必要な権利だけ割り当てるようにしましょう。 サービスの随意アクセス制御リストを作成する場合の推奨事項およびガイド [追記] 現状の構成では、認証 user すべてが NT AUTHORITY\SYSTEM に昇格可能な脆弱性を持ちます。 _________________ ちゃっぴ@わんくま同盟 ちゃっぴの監禁部屋 [ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2008-02-02 18:25 ] |
1