Vulnerability Discussion
The macOS Application Firewall is the built-in firewall that comes with
macOS, and it must be enabled.
When the macOS Application Firewall is enabled, the flow of information within the information system
and between interconnected systems will be controlled by approved authorizations.
Check
Verify the macOS system is configured to enable the application firewall with the
following command:
profile="$(/usr/bin/osascript -l JavaScript << EOS
$.NSUserDefaults.alloc.initWithSuiteName('com.apple.security.firewall')\
.objectForKey('EnableFirewall').js
EOS
)"
plist="$(/usr/bin/defaults read /Library/Preferences/com.apple.alf globalstate 2>/dev/null)"
if [[ "$profile" == "true" ]] && [[ "$plist" =~ [1,2] ]]; then
echo "true"
else
echo "false"
fi
If the result is not "true", this is a finding.
Fix
Configure the macOS system to enable the application firewall with the
following command:
/usr/bin/defaults write /Library/Preferences/com.apple.alf globalstate -int 1