Netwrix Auditor for Active Directory
- Netwrix Auditor を実行 → 「Reports」に移動 → 「Active Directory」セクションを展開 → 「Active Directory - State-in-Time」に移動 → 「Account Permissions in Active Directory」を選択 → 「View」をクリックします。
- 下のフィルターの値を指定してから、「View Report」をクリックしてください:
- アカウントの UNC パス
- 付与された手段
- アクセス許可
- レポートを保存するには、「Export」ボタンをクリック → ドロップダウン メニューから形式を選択 → 「Save」をクリックします。
詳しく見る:Netwrix Auditor for Active Directory
ネイティブ監査
- Powershell ISE を開きます → 次のコードで新しいスクリプトを作成し、エクスポート用のユーザー名とパスを指定します → スクリプトを実行します。
Import-Module ActiveDirectory
# Array for report.
$report = @()
$schemaIDGUID = @{}
# ignore duplicate errors if any #
$ErrorActionPreference = 'SilentlyContinue'
Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -LDAPFilter '(schemaIDGUID=*)' -Properties name, schemaIDGUID |
ForEach-Object {$schemaIDGUID.add([System.GUID]$_.schemaIDGUID,$_.name)}
Get-ADObject -SearchBase "CN=Extended-Rights,$((Get-ADRootDSE).configurationNamingContext)" -LDAPFilter '(objectClass=controlAccessRight)' -Properties name, rightsGUID |
ForEach-Object {$schemaIDGUID.add([System.GUID]$_.rightsGUID,$_.name)}
$ErrorActionPreference = 'Continue'
# Get a list of AD objects.
$AOs = @(Get-ADDomain | Select-Object -ExpandProperty DistinguishedName)
$AOs += Get-ADOrganizationalUnit -Filter * | Select-Object -ExpandProperty DistinguishedName
$AOs += Get-ADObject -SearchBase (Get-ADDomain).DistinguishedName -SearchScope Subtree -LDAPFilter '(objectClass=*)' | Select-Object -ExpandProperty DistinguishedName
# Loop through each of the AD objects and retrieve their permissions.
# Add report columns to contain the path.
ForEach ($AO in $AOs) {
$report += Get-Acl -Path "AD:\$AO" |
Select-Object -ExpandProperty Access |
Select-Object @{name='organizationalunit';expression={$AO}}, `
@{name='objectTypeName';expression={if ($_.objectType.ToString() -eq '00000000-0000-0000-0000-000000000000') {'All'} Else {$schemaIDGUID.Item($_.objectType)}}}, `
@{name='inheritedObjectTypeName';expression={$schemaIDGUID.Item($_.inheritedObjectType)}}, `
*
} # Filter by single user and export to a CSV file.
$User ='Username'
$report | Where-Object {$_.IdentityReference -like "*$User*"} | Select-Object IdentityReference, ActiveDirectoryRights, OrganizationalUnit, IsInherited -Unique |
Export-Csv -Path "C:\data\explicit_permissions.csv" -NoTypeInformation
- MS Excel を起動し、スクリプトによって作成されたファイルを開きます。
サンプル レポート:
Active Directory ユーザー権限レポートを継続的に確認して攻撃対象領域を削減しましょう
Active Directory を適切に管理し、より高いセキュリティを実現するためのベストプラクティスでは、権限は Active Directory のグループ メンバーシップを通じて継承されるべきであり、明示的に割り当てるべきではないとされています。とはいえ、アクセス権がこの原則に従っていることを確実にするのは難しい場合があります。IT 管理者は、権限がどのように付与されたかを詳しく示す Active Directory ユーザー権限レポートを定期的に確認し、明示的に割り当てられた権限を削除できるようにする必要があります。また、データ所有者と連携して、日常業務に必要のない権限を付与するグループからユーザーを削除することも求められます。定期的な権限の見直しとクリーンアップは、特権の悪用やデータ侵害のリスクを最小限に抑えるのに役立ちます。しかし、PowerShell などのレポート作成ツールに頼ってレポートを作成し、判読しづらい出力を確認する作業は、時間がかかり、かつエラーが起こりやすくなります。
Netwrix Auditor for Active Directory は、PowerShell スクリプト作成の制約を、包括的なレポートの提供によって克服します。このレポートでは、特定のユーザーがアクセスできるすべてのオブジェクトを一覧表示し、権限がグループ メンバーシップによって付与されたのか、あるいは明示的に付与されたのかを明確にします。ユーザーが特定のオブジェクトに対して持っている権限を正確に把握するなど、より詳細な情報も簡単に掘り下げて確認できます。
共有する