Having studied lots of reference material:
it is very clear that the true situation is not very clear. However, a few things appear consistent.
First of all the IP range. Apple has
126.96.36.199/8 reserved to itself, that’s every IP4 address starting with 17. So if you were to configure your firewall to allow everything outbound to that gigantic range, it appears you’re done. That is a huge range though, and although it appears to be controlled by Apple, it is not clear that Apple is vetting all data at all of those IPs.
So we have the DNS hostnames.
*.apple.com seems to cover everything, as long as “*” is multilevel in its reference, i.e.., as long as the rule refers not only to
a.a.apple.com as well. If your firewall is one of the better ones which allows FQDN rule lookups, this is a much better choice than that huge subnet.
Thirdly, the ports. Apple gives this unbelievably huge list of ports, including (for just one example of strangeness) the long-obsolete “finger” protocol port. This writer will not consider opening that entire list. Happily, other references (when combined!) suggest that the following list should do nicely, in TCP only:
80 443 8088 2195 2196