Support certificate filtering during IPSEC authentication#40
Merged
dmitryperets merged 2 commits intorelease/7.4from Jan 31, 2025
Merged
Support certificate filtering during IPSEC authentication#40dmitryperets merged 2 commits intorelease/7.4from
dmitryperets merged 2 commits intorelease/7.4from
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
By default, when certificate-based IPSEC authentication is implemented, we accept any valid and trusted certificate.
Users may want to restrict the list of accepted certificates.
The most common example is to restrict the list of trusted CAs, because the full list of CAs trusted by the FortiGate normally contains the default Fortinet CA, it might contain public Internet CAs and so on. For the SD-WAN overlay network, the user might want to restrict the list only to the CA actually used to issue the SD-WAN node certificates (it could be a built-in FortiManager CA or an external corporate CA). Optionally, the user may want to add other constraints too.
FOS supports certificate filtering using the
config user peerobject that is then referred under the IPSEC configuration. At the moment, we do not plan generating that object, because it would require to pass to the Jinja Orchestrator the actual names of the CA certificates the user would like to trust, as well as any other FOS-supported parameters. Instead, we add the capability to add this object to the generated IPSEC configuration, assuming that the object itself has been created by the user elsewhere (for example, using the FortiManager GUI or using an additional CLI Template added by the user).This way, we leave it to the user to define any type of constraints and any list of trusted CAs they may desire. We will simply reference the object in the IPSEC configuration, as follows:
Configuration
To enable this functionality (on all Hubs and Spokes, including the Hub-to-Hub tunnels), the following two global options must be configured:
Naming Convention
By default, we expect the
config user peerobject called "TheCA".Its content can be anything supported by the FOS.
The name can be customized, using the following global optional parameters:
Example
Here is an example of the
config user peerobject limiting the list of trusted CAs.This configuration is NOT generated by the Jinja Orchestrator, it is prepared by the user elsewhere.