icon/x Created with Sketch.

Splunk Cookie Policy

We use our own and third-party cookies to provide you with a great online experience. We also use these cookies to improve our products and services, support our marketing campaigns, and advertise to you on our website and other websites. Some cookies may continue to collect information after you have left our website. Learn more (including how to update your settings) here.
Accept Cookie Policy

We are working on something new...

A Fresh New Splunkbase
We are designing a New Splunkbase to improve search and discoverability of apps. Check out our new and improved features like Categories and Collections. New Splunkbase is currently in preview mode, as it is under active development. We welcome you to navigate New Splunkbase and give us feedback.
Splunkbase will be undergoing a scheduled migration and will be unavailable on Saturday, Oct 1, 2022, from 11AM to 3PM PDT

Accept License Agreements

This app is provided by a third party and your right to use the app is in accordance with the license provided by that third-party licensor. Splunk is not responsible for any third-party apps and does not provide any warranty or support. If you have any questions, complaints or claims with respect to this app, please contact the licensor directly.

Thank You

Downloading Add-on for Apple Unified Logging
SHA256 checksum (add-on-for-apple-unified-logging_101.tgz) 98139a353bd80e8154850fa336a0530801c8a34b9b5fe2ab88915242d02fc16d SHA256 checksum (add-on-for-apple-unified-logging_100.tgz) 01470afd10e17df3062f36ed04ad81261df18a31391e8945424e10d5b9d19cdd
To install your download
For instructions specific to your download, click the Details tab after closing this window.

Flag As Inappropriate

splunk

Add-on for Apple Unified Logging

Splunk Cloud
Overview
Details
Technology add-on for mapping Apple Unified Logging logs from MacOS endpoints ingested via logd to Splunk CIM.

All improvement suggestions are more than welcome. Email me at ziga.humar@osap.si

Logd input can generate tremendous amout of data (up to 10 GB per day per workstation). It is recommended to configure inputs.conf logd-predicate felters in a way that only relevant data is collected. There is a sample configuration for inputs.conf documented in app's README.txt file. Sample configuration will cover the needs of this technology add-on and the App for Apple Unified Logging.

Big thanks goes to Sarah Edwards (http://www.mac4n6.com) and Covid-19. During the pandemic she wrote series of "Analysis of Apple Unified Logs" articles which were foundation for logd-predicates and big help for decyphering AUL logs.

Add-on is compatible with the following datamodels:

  • Endpoint (process)
  • Authentication

Installation

This add-on should be installed on:

  • Indexers / heavy forwarders
  • Search heads

To gather the logs from MacOS operting systems, install Splunk Universal Forwarder 9.0.0+ to MacOS endpoints and distribute inputs.conf file to forwarders.

Once you install the TA and when you start ingesting the logs you can speed up the process of populating the identity lookup manually by running saved search: Lookup gen - populate user identities - macos_identities.csv. It is scheduled to run every hour.

Sample inputs.conf configuration for Logd:

[logd]
interval = 120
logd-exclude-fields=formatString,timestamp,timezoneName

[logd://SplunkSecurity]
interval = 120
logd-predicate =  ((process == "sshd" and (eventMessage contains "PAM" or eventMessage contains "keyboard-interactive/pam" or eventMessage contains "disconnected")) OR (process beginswith "su" and eventMessage contains "tty") OR (processImagePath contains "loginwindow" and eventMessage contains "SessionAgentNotificationCenter" and (eventMessage contains "com.apple.sessionagent.screenIs" or eventMessage contains "com.apple.fastUserSwitchBegin" or eventMessage contains "com.apple.system.loginwindow.shutdownInitiated" or eventMessage contains "com.apple.system.loginwindow.logoutcancelled" or eventMessage contains "com.apple.system.loginwindow.restartinitiated" or eventMessage contains "com.apple.sessionDidLogin" )) OR (process == "pppd") OR (process == "logind" and eventMessage contains "SessionAgent for") OR (process == "screensharingd" and eventMessage contains "Authentication:") OR (processImagePath CONTAINS[c] "backupd" && eventMessage CONTAINS[c] "backup") OR (subsystem == "com.apple.opendirectoryd" and eventMessage CONTAINS "Password changed for") OR (subsystem == "com.apple.loginwindow.logging" and eventMessage CONTAINS "LWAccountTracking handleUserListChangeNotification") OR (process == "loginwindow" and eventMessage LIKE[c] "*AccountTrackingCommon doAccountsScanWithSearchNode*local account names*") OR (processImagePath contains "sharingd" and subsystem contains "com.apple.sharing" and (eventMessage contains "New incoming transfer" or eventMessage contains "User response updated" or eventMessage contains "Progress for transfer" or eventMessage contains "startSending")) OR (process == "coreauthd" and subsystem == "com.apple.BiometricKit" and eventMessage contains "BKMatchOperation::matchResult:withDictionary:") or (process == "opendirectoryd" and (eventMessage contains "Failed kerberos password verification" or eventMessage contains "Successful kerberos password verification")) OR (process == "apsd" and eventMessage contains "Changing status for uid") OR (process == "authorizationhost" and eventMessage contains "Failed to authenticate user") OR (process == "kernel" and eventMessage LIKE[c] "*mounted*on device*") OR (process == "deleted" and eventMessage contains "Disk mounted at") )
logd-backtrace = true
logd-debug = true
logd-info = true
logd-loss = no
logd-signpost = yes
logd-exclude-fields = bootUUID, timestamp, formatString
index=macOS

[logd://SplunkProcesses]
interval = 120
logd-predicate =  ((subsystem == "com.apple.launchservices" and eventMessage beginswith "NotifyAboutLaunchedApplication") or (subsystem == "com.apple.CommCenter" and eventMessage contains "handleLSNotitifcation_sync: Application"))
logd-backtrace = true
logd-debug = true
logd-info = true
logd-loss = no
logd-signpost = yes
logd-exclude-fields = bootUUID, timestamp, formatString
index=macOS

[logd://SplunkNetworkState]
interval = 120
logd-predicate =  (subsystem == "com.apple.CoreUtils" and process == "rapportd" and (eventMessage contains "PrimaryIP changed" or eventMessage contains "SysMon: WiFi state" or eventMessage contains "SysMon: WiFi SSID" or eventMessage contains "SysMon: WiFi join"))
logd-backtrace = true
logd-debug = true
logd-info = true
logd-loss = no
logd-signpost = yes
logd-exclude-fields = bootUUID, timestamp, formatString
index=macOS

[logd://SplunkSandboxBreakouts]
interval = 120
logd-predicate =  (senderImagePath contains "Sandbox" and messageType == 16 and (eventMessage LIKE[c] "*deny(*file-read-data*" or eventMessage LIKE[c] "*deny(*file-write-data*"))
logd-backtrace = true
logd-debug = true
logd-info = true
logd-loss = no
logd-signpost = yes
logd-exclude-fields = bootUUID, timestamp, formatString
index=macOS

Customization

This technology add-on is by default configured that events from Apple Unified logging are stored into macos index. If you change the index, you should adjust macos_event eventtype.

Troubleshooting

Sometimes the data input interval is set to too small value and execution of the previous input is not completed when new input process starts. Result is missing data in Splunk. In that case I recommend setting the interval to higher value (eg. 120 seconds).

Release Notes

Version 1.0.1
Aug. 26, 2022

Minor fix in UserID to username mapping lookup generating search.

Version 1.0.0
Aug. 17, 2022

Initial release, tested on macOS 11 and 12.


Subscribe Share

Are you a developer?

As a Splunkbase app developer, you will have access to all Splunk development resources and receive a 10GB license to build an app that will help solve use cases for customers all over the world. Splunkbase has 1000+ apps from Splunk, our partners and our community. Find an app for most any data source and user need, or simply create your own with help from our developer portal.

Follow Us:
Splunk, Splunk>,Turn Data Into Doing, Data-to-Everything, and D2E are trademarks or registered trademarks of Splunk Inc. in the United States and other countries. All other brand names,product names,or trademarks belong to their respective owners.