| Description | This article describes how to configure TCP Authentication Option (TCP-AO) for BGP peering between FortiGate firewalls and third-party vendors (Cisco or Juniper routers, for example). It also provides comprehensive troubleshooting guidance based on real interoperability issues, including:
|
| Scope | FortiGate 7.4 / 7.6. |
| Solution |
Background TCP Authentication Option (TCP-AO) enhances BGP session security by replacing TCP-MD5 with modern, stronger cryptographic methods. However, interoperability between vendors requires precise alignment of:
Any mismatch causes the peer to silently drop SYN packets, preventing BGP from forming.
Creating a Key-Chain for TCP-AO (FortiGate):
Example using HMAC-SHA256:
config router key-chain end
Example using AES-128 CMAC:
config router key-chain
Applying the Key-Chain to a BGP Neighbor:
One command links the key-chain to the BGP Neighbor:
config router bgp
FortiGate automatically assigns send/receive identifiers internally - there is no manual ID configuration on FortiOS.
Verifying TCP-AO on a FortiGate:
diagnose sys tcp-auth-options
The command confirms:
Cisco Configuration:
Key-Chain for TCP-AO:
key chain BGP-AO-CHAIN tcp
Bind the key-chain to a BGP Neighbor.
router bgp 65000
Ensure TCP Options are included in AO MAC
Some Cisco platforms do not include MSS, SACK, timestamps, or window-scaling in the AO digest unless explicitly configured. This will cause errors such as:
Enforce option inclusion:
tcp ao include-options
Juniper Configuration:
set routing-options tcp-session authentication algorithm hmac-sha-256
set protocols bgp group FGT type internal
Troubleshooting: why TCP-AO BGP sessions fail to establish.
Peer silently drops SYN packets.
Symptoms:
Cause:
Algorithm compatibility problems:
Common platform behavior:
Resolution:
TCP Options not included in AO Computation:
If one peer includes TCP:
If the other peer does not, AO digests differ.
Symptoms:
Fix:
tcp ao include-options
Key-Chain Not Activated / TCB Not Initialized:
Symptoms:
Key-chain not bound to AO subsystem:
Resolution:
Key-Chain lifetime or ID mismatches: AO requires:
Any mismatch prevents TCP session establishment.
Interoperability best practices:
For Cisco, always evaluate:
tcp ao include-options
Verify SYN packets contain the same TCP options.
Conclusion: TCP-AO significantly enhances BGP security, but successful operation in multi-vendor environments requires strict alignment of algorithms, key parameters, and TCP option handling. |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.