First of all - Merry Christmas everybody! 🎄Regardless if you celebrate it or not - may it be a peaceful, healthy and happy year for us all!
ElasticXL is definitely a good idea, and definitely might help, provided it's implemented correctly.
Speaking of management over "clustered bridge". This topology is described in, for example, R77 (https://sc1.checkpoint.com/documents/R77/CP_R77_SecurityGatewayTech_WebAdmin/96332.htm), and in R81.20 (https://sc1.checkpoint.com/documents/R81.20/WebAdminGuides/EN/CP_R81.20_Installation_and_Upgrade_Gui...)
It's not a new concept. In both documents "a security gateway" is mentioned, not "a cluster". At the same time, it's nowhere stated, that this topology is not supported by ClusterXL.
Please correct me if I'm wrong, but it resembles a typical situation, when a project is officially completed, but some features are either not tested, or not implemented correctly and not working. But since the project is "completed and paid successfully", these "features" are simply not mentioned anywhere: in either supported or unsupported sections 😊
My cumulative 30+ hour testing rather confirms this "theory". Also, it appeared, that the documentation is either absent, or not 100% correct, or not up-to-date (e.g. R81.20 is not in the list of related OSes).
Examples:
https://support.checkpoint.com/results/sk/sk105899
- R81.20 is not in the version list
- fwx_perform_gateway_hide does not change anything related
- fw_local_interface_anti_spoofing - not mentioned that the policy must be installed
- fwx_bridge_reroute_enabled - not mentioned that it's not applicable for ClusterXL (it breaks it)
- sim_anti_spoofing_enabled - does not change anything related
- fw_antispoofing_enabled - does not change anything related
https://sc1.checkpoint.com/documents/R81.20/WebAdminGuides/EN/CP_R81.20_Installation_and_Upgrade_Gui...
- it does not matter if the bridge interfaces or subordinates are in the Topology, it does not change anything
- it's not mentioned what topology should be applied to the management interface: Internet or According to the routing table. Even if the default route goes through the management interface, the result is different (even if all traffic is allowed by the FW)
https://sc1.checkpoint.com/documents/R81.20/WebAdminGuides/EN/CP_R81.20_Installation_and_Upgrade_Gui...
- "A Security Gateway cannot filter or transmit packets that it inspected before on a Bridge interface (to avoid double-inspection)." - and next doco section describes how to configure it (isn't what fwx_bridge_reroute_enabled is for?)
https://sc1.checkpoint.com/documents/R81.20/WebAdminGuides/EN/CP_R81.20_Installation_and_Upgrade_Gui...
- "Assigning an IP address to a Bridge interface in ClusterXL." - OK, while I do agree, that assigning IP-addresses to the bridge interfaces on CusterXL breaks cluster synchronization (the bridge subordinates on the active firewall begin to flap - what looks like a bug, rather than a "feature"), I managed to configure addresses on the bridges and keep the cluster in sync (OK, it was not easy, and the config was not 100% symmetrical). What again hints on a "non fully completed project" 😉
As a workaround, I tried MDPS, but it's even more buggy and even less documented - the Sync interface (while up and passing the sync traffic) was not visible on the dplane, so the cluster sync was broken. I did not waste time on the troubleshooting and removed MDPS for the time being.
... and I can keep going on and on ...
What I achieved so far ( and more indications of a non-finished project 😉
- the cluster is in full sync
- both members are reachable rom the management station
- both members are pingable from everywhere
- both members send logs to the management station
- both members can access DNS everywhere
What is not working:
- the cluster members can not PING anything on the North side
- the cluster members can not reach the CheckPoint site for updates or use RAD (possibly can be solved by adding a proxy on the South side of the FW).
In both cases, the return traffic is blocked on the "internal" bridge subordinate - see above
Anyway, the quest continues!