Security enforcement is done in our own kernel modules that are very different from iptables and the like.
The policy (Access and Threat Prevention) is actually compiled from the configuration and loaded into our kernel modules.
For our non-SMB gateways, and when SMB gateways are managed by external management, there are explicit actions that take place:
- Make policy configuration changes (either SmartConsole or API)
- Publishing the configuration changes (required because of multiple administrator support)
- Install policy to relevant gateways, which actually compiles the configuration into the code that is run in the various kernel modules
On a self-managed SMB appliance, which use a similar code base, but different implementation, there is no concept of concurrent administrators, so no publish action is required.
However, the rest of the architecture is more or less the same.
Change to Access, Threat Prevention, VPN, or other policy requires compilation and installation before it is active.
While there's no actual "Install Policy" action you take in the WebUI or CLI, I can assure you it is happening.
It would be highly inefficient to recompile and reinstall the policy after each change in the WebUI or via the CLI.
I assume, and your experience seems to suggest, that we check every so often for configuration changes and only if there are changes, compile and install the policy.
Given that your current issue seems to be "I have to wait 10 minutes before the policy is active" I assume you want a way to force this.
I believe you're on the right track.
fw_configload appears to compile the basic access policy.
There are a couple of public references to it, one of which is: https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solut...
Given that you execute it when you modify certain .def files, which are not in the UI but affect the security configuration, it's a pretty safe bet that's what the command does.
As there are other commands under $FWDIR/bin for other parts of the config (App Control, URL Filtering, QoS, NAT, etc), fw_configload may not be enough on its own to effect the necessary changes.
Given these commands aren't documented, I'm not precisely sure if/when they need to be executed.
Given your use case, it could be one or more of: appi_configload, appi_cmi_configload, urlf_configload
There may be others I do not know about.
cpstat fw simply tells you when the access policy was last loaded to the kernel module and some additional details (similar to the fw stat command I mentioned earlier).
All of that said, leveraging external management is probably the way to go here if you are managing more than a couple of these appliances.
This could be one or more of (depending on your precise requirements):
- Smart-1 Appliance (either physical or virtual)
- Smart-1 Cloud
- SMP (Also Cloud-Based, included in the purchase price of a 1500 series)
This would provide other benefits (ensuring the same policy is configured on every gateway, centralized logging/reporting, API support, etc).
It would also provide a much more deterministic policy installation process.