TMAegis
More rules for office

TMA-OFFICE-2.8.4.1.5

Ensure 'VBA Macro Notification Settings' is set to 'Require macros to be signed by a trusted publisher'

HighLevel 1Automatedoffice

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

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.

shell
tmaegis scan --target office