So we know that JAMF recommends to enable HSTS on Jamf Pro on-prem instances. However, I find the article lacking in several aspects.
If we start with what I'm most curious about - Why? For instance, these specific questions come to mind:
* If HSTS isn't enabled, can the MDM connection be downgraded to HTTP when the device is already enrolled, and thus can the device be tricked into executing MDM commands on either a HTTP session or a HTTPS session with an invalid certificate? Is the user prompted in this case and can the user choose to continue?
* Is the HSTS recommendation meant or administrative access only instead?
* Is the HSTS recommendation there to prevent MITM attacks for initial enrollment only? Or a combination of that and administrative access? In essence, describe the risks if it isn't enabled in a JAMF pro specific scenario.
* Are there any downsides or pitfalls when enabling HSTS? A far-fetched thing would be that it automatically also enables certificate pinning so that an unexpected change of JAMF pro's SSL certificate would lock out devices even though the new certificate is valid?
* What problems/risks does it solve specific for JAMF pro in addition to the questions listed above?
In addition to the above, the article seems to be a bit misleading. I assume most of us who run JAMF on-prem have more than one tomcat server running? And that those have a load balancer in front of them? In that case, HSTS headers should be set by whatever LB that's in front, right? And tomcat needs no change if the back-end communication is HTTP? Perhaps a few example configs for common load balancers such as KEMP, apache mod_proxy and F5 would be appropriate - or at least a clarification that you need to figure out how to implement this properly for your Vendor X LB product? Also list if it's really recommended to enable this for all sub-domains as well (I doubt it, at least if you have plenty of other hosts in the same DNS domain). A recommended lifetime would also be appropriate.
