Anyone know where is the plist for Traps Settings or way to set up the settings at all?
Been scanning for plist and any config file to set up the settings but couldnt find any.
Palo Alto Traps For Mac is not like a standard application.
Here is where the Palo Alto Traps For Mac installs on the local computer:
However within Traps for Mac Client Agent, there are no static/local configurations. The specific location where there are configurations which is in config folder is synced with the Palo Alto Server that manages the client. So if you are updating these xml files, it will get over written when the Traps client checks in with the server. The only configurations that you can edit during installation time is the Palo Alto Traps Server address Traps Client should initially connect (server.xml) to which is located in the install zip file provided by the person that manage your Palo Alto Servers:
Has anyone deployed this properly with JAMF?
Yes, I have the Traps for Mac working with jamf. There are 2 options that you can use to deploy traps with jamf.
I prefer the pkg with postinstall script because if we have to manually install traps, the experience is the same.
Thought I would add to my original response since I had to make documentation for my company on how to build this installer:
- Traps for Mac Installer from console. Usually comes in a ZIP file.- Custom XML file provided by Traps Administrator with organization server addresses in xml format
Process1. Place Traps installer, .version, xml file in a folder named Traps_macOS_installer and move folder to a temporary location on your computer. I usually use /tmp (/private/tmp). This way it will be removed at next restart.2. Open Composer.3. Create a new package by dragging and droping the Traps folder located in your temporary location into composer.4. Go to the Scripts folder within your new Traps Source Package in Composer and create a postinstall script.
- Enter the following as shown in screenshot:
/usr/sbin/installer -allowUntrusted -pkg /private/tmp/Traps_macOS_installer/Traps.pkg -target /
5. Build as PKG file since you have setup the postinstall script other wise the script will be stripped from the compiled installer/dmg.
Note: As long as you keep the Traps_macOS_installer consistant and all the file names are the same then you will just need to updated the .version file and traps.pkg file and recompile.
Thank you so much! I was almost on the right track to do so with packages.app instead of composer. I didn't think about using Composer in this way.
@matin Thanks for sharing, worked perfectly and saved me some time!
Such a good post. Thanks man.
Hey,Thanks so much for this article, its super helpful. Where do I find the .version file? Also is Config.xml the new Server.xml?Thanks!
The following files are create from the Traps Console. Unfortunately, I do not have access and these files are provided to me by my IT Security Team:- .version- Servers.xml
Thank you @matin ! Issue right now is that Gatekeeper seems to be preventing the extension from running, which borks the install initially. Do you have any advice on how to disable or enable this app from running in Gatekeeper? A little cloudy on the process.
@mm13 - I think you are referring to User Approved Kernel Extension Loading. My company has a hybrid of mac hardware that have been imaged via Apple DEP and QuickAdd/Jamf Imaging. We manually authorize the User Approved Kernel Extension via Security and Privacy > General tab and manually approve the User Approved MDM via profiles. For Apple DEP and Jamf 10, we are whitelisting these Kernel Extension via Configuration Profile. Hope that helps.
thanks @matin you have saved me a whole load of time ! much appreciated
@matin Thank you for all your information. It's been a great deal of help. I did get stuck on the Kernel Extension via Configuration Profile. I did look at the links you provided, however, I can't seem to figure out how to create the profile and upload it into Jamf. We are not using a Mac Server. I do apologize since I'm really new to Jamf and Apple products in general.
All the documentation I've been reading through referred to using Profile Manager, which, appears to only be available on MacOS Server? Any tips you have will be helpful. FYI, I created a package following your instruction above and found that it would download locally to the Mac, however, never installed. Again, I suspect that the Kernel Extension Loading is what prevented that, even though nothing prompted about allowing it. In the \private\tmp folder I see it there, however, it has a red circle with a line in the circle (similar to a hyphen).
Whatever help you can lend will be greatly appreciated. Thanks again!
@bcbackes - If you are using jamf (like I am), you would use the built in options to create a white list configuration profile in Jamf as described by @rtrouton article Whitelisting third-party kernel extensions using profiles. You would need to scrolling down the bottom of the article on how to create one in Jamf Pro.
Note, You must be running Jamf Pro 10.3.1 or higher I think for these configuration profile options to be available.
Thanks @matin ! That was my issue all along. I'm running Jamf Pro 10.0.0. We are in the process of migrating our server and updating Jamf, however, we are not there yet. I've just setup a DEV Server and installed the latest Jamf Pro 10.7.0. I found the "Approved Kernel Extensions" you were talking about. I'm excited to test this out. Thanks again!
@matin Hello, I'm running Jamf 10.7 and have setup the Kernel Extension via Configuration Profile. I followed your instructions above as well. Palo Traps does install automatically, however, it doesn't appear to have any of the server settings in it.
I did verify that the "Servers.xml" is present with the Traps.pkg and the version file. I did create the postinstall script using the settings below:
wait 10/usr/sbin/installer -allowUntrusted -pkg /private/tmp/Traps_macOS_installer/Traps.pkg -target /exit 0
I've packaged this as a PKG using Composer and uploaded this to the Jamf DP. I created a Policy to deploy this to all computers (doing this in my Dev environment). It deploys out when the computer checks in, however, after it installs and I open the Traps Console, there isn't anything in there. If I try to check-in I get an error. I'm not sure what I'm missing. Any ideas?
@bcbackes - Is the target client a DEP computer, user-enrolled computer or QuickAdd/Casper imaging client? Can you also verify that the target client MDM Profile is approved? This is required for the Kernel Approved Configuration Profile to deploy properly to macOS 10.13 or above clients. However, Traps for Mac install process sounds like all the components installed on the target system fine. Traps just cannot connect initially to the Traps Server. I would suggest trying the installation process on a 10.12 target client or below to verify the process.
Note, We are still utilizing the process that I wrote out in this document for 10.13 however we had to add Palo Alto to the kernel white list. Note, after the initial installation the client may require a restart.
Just to follow up with everyone. I did get Traps to install correctly and contain all our server information. I've even tested using @matin's suggestion on making the package name generic (versionless). Then, I drop in the new pkg, save it in Composer, then, upload it using Jamf Admin. I've deployed out newer versions to existing installations and found that they upgrade without issues. I've even created an uninstaller that seems to work just fine.
Thanks for all the help!!! This was my first successful package that I've created in Composer!
EDIT- Nevermind I just noticed it was a hidden file!
So our zip folder does not contain a .version can anyone confirm this is the new normal with version 5 or am I missing something?
So I was struggling in just about every way to get this working. Both using composer and also the solution shared by Martin.
I decided to get have a zoom meeting with Palo Alto and wanted to share my findings and what got it working for me so others don't go through my pain.
Anywho, I am not sure if its a new thing or what, but you can literally drag the Zip file into JAMF Admin and create a new policy to deploy the Zip. As long as you have the right whitelist information done its as smooth as any other deployment. Blew my mind it was that easy.
Oh wow, I came to this page after googling for Jamf palo alto traps and i was the OP.....I managed to get it working and just couldnt remember this thread...
Here how i got it working.FYI, this is for the Cloud version and should be the same as ESM Version.Composer - Put the Installer under /Users/Shared
Post install Script
Check for Log file
if [ -f $logFile ]; then
echo "$(date)" >> $logFile
echo "Log Present" >> $logFile
echo "$(date)" >> $logFile
echo "Log file Created" >> $logFile
Install the package
echo "Installing Traps Package..." >> $logFile
/usr/sbin/installer -pkg "/Users/Shared/TRAPS_Cloud_Agent_macOS_6_1.0/Traps.pkg" -target /
echo "Package installed..." >> $logFile
Launch Traps Service
echo "launch Traps plist..." >> $logFile
sudo launchctl load /Library/LaunchDaemons/com.paloaltonetworks.trapsd.plist
Remove installer file
sudo rm -rf "/Users/Shared/TRAPS_Cloud_Agent_macOS_6_1.0"
echo "deleting Traps folder"
echo "complete" >> $logFile
if [ -f /Library/Application\ Support/PaloAltoNetworks/Traps/version.txt ]; then
version=$(cat /Library/Application\ Support/PaloAltoNetworks/Traps/version.txt | tail -1)
echo "<result>Not Installed</result>"
Hi, just wanted to post in this thread to see if anyone was able to resolve the issue when deploying (using Matin's steps of making a custom package in Composer) and getting a System Extension blocked pop-up for Security & Privacy. It pops up and but still allows the install to take place. What am I doing wrong that causes the pop-up?
I have the below Configuration Profile payload for Approved Kernel Extensions that is pushed before I run the policy to install the software.
Approved Team IDDISPLAY NAME
Palo Alto TrapsTEAM ID
PXPZ95SK77Approved Kernel Extensions(Optional) Approve the following bundle IDs onlyDISPLAY NAME KERNEL EXTENSION BUNDLE ID
@villap5 Add Traps to an Approved Extensions Configuration Profile.
See this list for the Team ID and other information regarding Extensions.