TMAegisBeta
More rules for office

Microsoft Office

TMA-OFFICE-2.5.14.4.2

Ensure 'Security setting for macros' is set to 'Enabled: Warn for signed, disable unsigned'

HighLevel 1Automatedoffice

Description

This policy setting controls the security level for macros in Outlook. Macros are a single instruction that expands automatically into a set of instructions to perform a particular task. Available Policy Options: Always warn = This option corresponds to the "Warnings for all macros" option in the "Macro Security" section of the Outlook Trust Center. Rationale: To protect users from dangerous code, the disabling of macros that are not trusted, including unsigned macros, macros with expired or invalid signatures, and macros with valid signatures from publishers who are not on users' Trusted Publishers lists is recommended to help against would allow dangero... User setting: the audit checks HKEY_USERS\<SID>\SOFTWARE\Policies\Microsoft\office\16.0\outlook\security:level (REG_DWORD) in every loaded user hive (S-1-5-21-*) and is compliant when each holds 3. 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\outlook\security') -Name 'level' -ErrorAction SilentlyContinue).'level'; if (-not ($null -ne $v -and @(3) -contains [int64]$v)) { $bad += $s + ':level=' + $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 Outlook 2016\Security\Trust Center\Security setting for macros = Enabled: Warn for signed, disable unsigned

Properties

Operating systems
Any
Tags
officeproductivitycis-l1
Reference
CIS Microsoft Office Enterprise Benchmark v2.0.0 - 2.5.14.4.2 Ensure 'Security setting for macros' is set to 'Enabled: Warn for signed, disable unsigned'

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target office