読者です 読者をやめる 読者になる 読者になる

なんえ?なんえ?

記憶の片隅として利用

security descriptor とは?

セキュリティディスクリプタは以下の6点を含む。

  1. Owner SID
  2. Group SID
  3. Control Flags
  4. Revision
  5. DACL (Discretionary Access Control List, 任意アクセス制御)
  アクセス権(ACE (Access Control Entry))の集合体の様なもの

  6. SACL (System Access Control List, システムアクセス制御リスト)
  システムの監査方法(ACE)を記述している集合体の様なもの


security descriptorはどんな時に必要?

例えば、2台のサーバ上に2つのフォルダが存在している
  ・Server1 : A
  ・Server2 : A

この時、各サーバ上の "A" フォルダで security descriptor で差分が発生したとする。
一般的には、フォルダのプロパティからアクセス権を一つ一つ確認するが、
差分が見受けられない場合がある。そんな時は、「あ!!security descriptorには
上記6個の情報を含んでいるから、フォルダの所有者や監査設定も対象だった」
と思い出す必要があります。

整理すると、
security descriptor には複数の情報が含まれるため、
アクセス権だけでなく、所有者や監査設定も確認しましょう。

<参考文献>
http://keicode.com/windows/security-descriptor.php
http://www.atmarkit.co.jp/fwin2k/win2ktips/725sddl/sddl.html

 

セキュリティサブスクリプションの確認方法は?

1. subinacl コマンド
ファイル・フォルダ・レジストリ・プロセス・サービス・共有・カーネルオブジェクトなど、
Windows OS に含まれる様々なオブジェクトのセキュリティ情報を表示および設定するコマンドである。

■ インストールパスに移動後、subiacl コマンド実行

>subinacl


SubInAcl version 5.2.3790.1180

Invalid Argument !
Use :
SubInacl /help to get the usage information
or
SubInAcl /help syntax to understand SubInAcl syntax.

■ ヘルプ確認

subinacl /help

SubInAcl version 5.2.3790.1180

USAGE
-----

Usage :
     SubInAcl [/option...] /object_type object_name [[/action[=parameter]...]



 /options    :
    /outputlog=FileName                 /errorlog=FileName
    /noverbose                          /verbose (default)
    /notestmode (default)               /testmode
    /alternatesamserver=SamServer       /offlinesam=FileName
    /stringreplaceonoutput=string1=string2
    /expandenvironmentsymbols (default) /noexpandenvironmentsymbols
    /statistic (default)                /nostatistic
    /dumpcachedsids=FileName            /separator=character
    /applyonly=[dacl,sacl,owner,group]
    /nocrossreparsepoint (default)      /crossreparsepoint

 /object_type :
    /service            /keyreg             /subkeyreg
    /file               /subdirectories[=directoriesonly|filesonly]
    /clustershare       /kernelobject       /metabase
    /printer            /onlyfile           /process
    /share              /samobject

 /action      :
    /display[=dacl|sacl|owner|primarygroup|sdsize|sddl] (default)
    /setowner=owner
    /replace=[DomainName\]OldAccount=[DomainName\]New_Account
    /accountmigration=[DomainName\]OldAccount=[DomainName\]New_Account
    /changedomain=OldDomainName=NewDomainName[=MappingFile[=Both]]
    /migratetodomain=SourceDomain=DestDomain=[MappingFile[=Both]]
    /findsid=[DomainName\]Account[=stop|continue]
    /suppresssid=[DomainName\]Account
    /confirm
    /ifchangecontinue
    /cleandeletedsidsfrom=DomainName[=dacl|sacl|owner|primarygroup|all]
    /testmode
    /accesscheck=[DomainName\]Username
    /setprimarygroup=[DomainName\]Group
    /grant=[DomainName\]Username[=Access]
    /deny=[DomainName\]Username[=Access]
    /sgrant=[DomainName\]Username[=Access]
    /sdeny=[DomainName\]Username[=Access]
    /sallowdeny==[DomainName\]Username[=Access]
    /revoke=[DomainName\]Username
    /perm
    /audit
    /compactsecuritydescriptor
    /pathexclude=pattern
    /objectexclude=pattern
    /sddl=sddl_string
    /objectcopysecurity=object_path
    /pathcopysecurity=path_container

Usage  : SubInAcl   [/option...] /playfile file_name

Usage  : SubInAcl   /help [keyword]
         SubInAcl   /help /full
    keyword can be :
    features  usage syntax sids  view_mode test_mode object_type
    domain_migration server_migration substitution_features editing_features
     - or -
    any [/option] [/action] [/object_type]


■ ディレクトリのセキュリティディスクリプションを確認


======================================================
+File C:\Users\administrator.T\Desktop\share_list\a\1
======================================================
/control=0x0
/owner             =t\domain admins
/primary group     =t\domain users
/audit ace count   =0
/perm. ace count   =3
/pace =system     ACCESS_ALLOWED_ACE_TYPE-0x0
    CONTAINER_INHERIT_ACE-0x2      OBJECT_INHERIT_ACE-0x1         
    Type of access:
    Special acccess :  -Read  -Write  -Execute -Delete  -Change Permissions  -Take Ownership
    Detailed Access Flags :
    FILE_READ_DATA-0x1          FILE_WRITE_DATA-0x2         FILE_APPEND_DATA-0x4        
    FILE_READ_EA-0x8            FILE_WRITE_EA-0x10          FILE_EXECUTE-0x20            FILE_DELETE_CHILD-0x40      
    FILE_READ_ATTRIBUTES-0x80   FILE_WRITE_ATTRIBUTES-0x100 DELETE-0x10000              READ_CONTROL-0x20000        
    WRITE_DAC-0x40000           WRITE_OWNER-0x80000         SYNCHRONIZE-0x100000        
/pace =builtin\administrators     ACCESS_ALLOWED_ACE_TYPE-0x0
    CONTAINER_INHERIT_ACE-0x2      OBJECT_INHERIT_ACE-0x1         
    Type of access:
    Special acccess :  -Read  -Write  -Execute -Delete  -Change Permissions  -Take Ownership
    Detailed Access Flags :
    FILE_READ_DATA-0x1          FILE_WRITE_DATA-0x2         FILE_APPEND_DATA-0x4        
    FILE_READ_EA-0x8            FILE_WRITE_EA-0x10          FILE_EXECUTE-0x20            FILE_DELETE_CHILD-0x40      
    FILE_READ_ATTRIBUTES-0x80   FILE_WRITE_ATTRIBUTES-0x100 DELETE-0x10000              READ_CONTROL-0x20000        
    WRITE_DAC-0x40000           WRITE_OWNER-0x80000         SYNCHRONIZE-0x100000        
/pace =t\administrator     ACCESS_ALLOWED_ACE_TYPE-0x0
    CONTAINER_INHERIT_ACE-0x2      OBJECT_INHERIT_ACE-0x1         
    Type of access:
    Special acccess :  -Read  -Write  -Execute -Delete  -Change Permissions  -Take Ownership
    Detailed Access Flags :
    FILE_READ_DATA-0x1          FILE_WRITE_DATA-0x2         FILE_APPEND_DATA-0x4        
    FILE_READ_EA-0x8            FILE_WRITE_EA-0x10          FILE_EXECUTE-0x20            FILE_DELETE_CHILD-0x40      
    FILE_READ_ATTRIBUTES-0x80   FILE_WRITE_ATTRIBUTES-0x100 DELETE-0x10000              READ_CONTROL-0x20000        
    WRITE_DAC-0x40000           WRITE_OWNER-0x80000         SYNCHRONIZE-0x100000        


■ ネットワーク越しにコマンド実行

subinacl /subdirectories \\x.x.x.x\a\1


=======================
+File \\10.0.6.169\a\1
=======================
/control=0x0
/owner             =t\domain admins
/primary group     =t\domain users
/audit ace count   =0
/perm. ace count   =3
/pace =system     ACCESS_ALLOWED_ACE_TYPE-0x0
    CONTAINER_INHERIT_ACE-0x2      OBJECT_INHERIT_ACE-0x1         
    Type of access:
    Special acccess :  -Read  -Write  -Execute -Delete  -Change Permissions  -Take Ownership
    Detailed Access Flags :
    FILE_READ_DATA-0x1          FILE_WRITE_DATA-0x2         FILE_APPEND_DATA-0x4        
    FILE_READ_EA-0x8            FILE_WRITE_EA-0x10          FILE_EXECUTE-0x20            FILE_DELETE_CHILD-0x40      
    FILE_READ_ATTRIBUTES-0x80   FILE_WRITE_ATTRIBUTES-0x100 DELETE-0x10000              READ_CONTROL-0x20000        
    WRITE_DAC-0x40000           WRITE_OWNER-0x80000         SYNCHRONIZE-0x100000        
/pace =builtin\administrators     ACCESS_ALLOWED_ACE_TYPE-0x0
    CONTAINER_INHERIT_ACE-0x2      OBJECT_INHERIT_ACE-0x1         
    Type of access:
    Special acccess :  -Read  -Write  -Execute -Delete  -Change Permissions  -Take Ownership
    Detailed Access Flags :
    FILE_READ_DATA-0x1          FILE_WRITE_DATA-0x2         FILE_APPEND_DATA-0x4        
    FILE_READ_EA-0x8            FILE_WRITE_EA-0x10          FILE_EXECUTE-0x20            FILE_DELETE_CHILD-0x40      
    FILE_READ_ATTRIBUTES-0x80   FILE_WRITE_ATTRIBUTES-0x100 DELETE-0x10000              READ_CONTROL-0x20000        
    WRITE_DAC-0x40000           WRITE_OWNER-0x80000         SYNCHRONIZE-0x100000        
/pace =t\administrator     ACCESS_ALLOWED_ACE_TYPE-0x0
    CONTAINER_INHERIT_ACE-0x2      OBJECT_INHERIT_ACE-0x1         
    Type of access:
    Special acccess :  -Read  -Write  -Execute -Delete  -Change Permissions  -Take Ownership
    Detailed Access Flags :
    FILE_READ_DATA-0x1          FILE_WRITE_DATA-0x2         FILE_APPEND_DATA-0x4        
    FILE_READ_EA-0x8            FILE_WRITE_EA-0x10          FILE_EXECUTE-0x20            FILE_DELETE_CHILD-0x40      
    FILE_READ_ATTRIBUTES-0x80   FILE_WRITE_ATTRIBUTES-0x100 DELETE-0x10000              READ_CONTROL-0x20000        
    WRITE_DAC-0x40000           WRITE_OWNER-0x80000         SYNCHRONIZE-0x100000        



<参考文献>
subinaclコマンドでオブジェクトのセキュリティ情報を表示させる(subinaclの基本)
http://www.atmarkit.co.jp/fwin2k/win2ktips/1328subinacl/subinacl.html