TMA-OFFICE-2.8.4.1.5
Ensure 'VBA Macro Notification Settings' is set to 'Require macros to be signed by a trusted publisher'
Description
This policy setting controls how the specified applications warn users when Visual Basic for Applications (VBA) macros are present. The recommended state for this setting is: Require macros to be signed by a trusted publisher. Rationale: By default, when a user opens a file that contains VBA macros, the macros are disabled, and a warning is displayed on the Trust Bar that the macro has been disabled. User setting: the audit checks HKEY_USERS\<SID>\SOFTWARE\Policies\Microsoft\office\16.0\publisher\security:vbadigsigtrustedpublishers (REG_DWORD) in every loaded user hive (S-1-5-21-*) and is compliant when each holds 1. It prints 'no-user-hive-loaded' (FAIL) when no user profile is loaded, so scan while users are logged on.
How it is checked
Audit method: Windows registry
$sids = @(Get-ChildItem -Path 'Registry::HKEY_USERS' -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -match '^S-1-5-21-\d+-\d+-\d+-\d+$' } | ForEach-Object { $_.PSChildName }); if ($sids.Count -eq 0) { 'no-user-hive-loaded' } else { $bad = @(); foreach ($s in $sids) { $v = (Get-ItemProperty -Path ('Registry::HKEY_USERS\' + $s + '\SOFTWARE\Policies\Microsoft\office\16.0\publisher\security') -Name 'vbadigsigtrustedpublishers' -ErrorAction SilentlyContinue).'vbadigsigtrustedpublishers'; if (-not ($null -ne $v -and @(1) -contains [int64]$v)) { $bad += $s + ':vbadigsigtrustedpublishers=' + $v } }; if ($bad.Count -eq 0) { 'compliant' } else { 'non-compliant: ' + ($bad -join ', ') } }- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Configure through Group Policy (User Configuration): User Configuration\Administrative Templates\Microsoft Publisher 2016\Security\Trust Center\VBA Macro Notification Settings = Require macros to be signed by a trusted publisher
Properties
- Operating systems
- Any
- Tags
- officeproductivitycis-l1
- Reference
- CIS Microsoft Office Enterprise Benchmark v2.0.0 - 2.8.4.1.5 Ensure 'VBA Macro Notification Settings' is set to 'Require macros to be signed by a trusted publisher'
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target office