You are exactly right. You have done nothing wrong. This is a known bug in UTM.
I opened a support ticket, which was escalated to Level 2. This is a portion of his response:
"This behavior on the Webadmin / User Portal is known to us and is being looked at by Dev."
He proposed a workaround, which involves manipulating .pem files with OpenSSL and then using ssh to replace a certificates in a key folder.
I had some concerns about implementing his suggestion, and the ticket was closed because I did not follow up in a timely manner.
I was not too worried about it because I had only seen the problem using the SSL Labs tester, not an actual browser.
Since you report that Apple systems will be more particular, I will need to reopen the issue with Sophos.
However, I don't think Sophos would appreciate a minimally-supported hack being re-posted to this forum, so I will not post the fix even if I get it working.
I recommend pursuing this with Sophos Support, realizing that you will need to claw your way to Level 2.
Considering that Web Filtering enforces certificate chains very strictly (intermediate certificate required, root certificate not allowed), it blows my mind that UTM server functions cannot get the certificate chain correct. UserPortal/WebAdmin will omit the intermediate certificate, while WAF server will always include the root certificate.
In all the years that this product has been in development by both Astaro and Sophos, has no one ever tested two UTM devices talking to each other, with one running Webfilter functionsand one running UserPortal and WAF functions? If not, why not?
Considering that Web Filtering enforces certificate chains very strictly (intermediate certificate required, root certificate not allowed), it blows my mind that UTM server functions cannot get the certificate chain correct. UserPortal/WebAdmin will omit the intermediate certificate, while WAF server will always include the root certificate.
In all the years that this product has been in development by both Astaro and Sophos, has no one ever tested two UTM devices talking to each other, with one running Webfilter functionsand one running UserPortal and WAF functions? If not, why not?