Connecter Sophos Firewall à AWS Site-to-Site VPN
Un AWS Site-to-Site VPN connecte un réseau local derrière Sophos Firewall à une VPC AWS ou à un Transit Gateway. Techniquement, il s’agit d’un VPN IPsec, mais son exploitation diffère d’un tunnel Sophos à Sophos classique: AWS crée deux tunnels par connexion VPN, utilise les objets Customer Gateway et passerelle cible, et le routage dépend fortement du choix entre routes statiques et BGP.
Cet article explique la mise en place pratique avec Sophos Firewall et AWS. Il complète le guide général Configurer un VPN IPsec site à site Sophos Firewall avec les points spécifiques à AWS: deux tunnels, voisins BGP, route tables, security groups, NACLs et contrôles de statut dans AWS et Sophos. Si un tunnel est déjà établi mais que le trafic ne passe pas, consulter Dépannage VPN IPsec Sophos Firewall.
Quand cet article convient
Cet article convient lorsqu’un site, un datacenter ou un réseau local doit être connecté à AWS via Sophos Firewall. Il couvre AWS Site-to-Site VPN vers une VPC, un Virtual Private Gateway ou un Transit Gateway. Il ne couvre pas Sophos Firewall comme appliance virtuelle directement dans AWS.
Scénarios typiques:
- réseau serveur local vers des instances EC2 dans une VPC
- trafic de sauvegarde, de supervision ou de gestion vers AWS
- DNS hybride, AD, jump hosts ou réseaux d’administration
- migration d’un VPN statique vers un routage BGP dynamique
- exploitation redondante avec deux tunnels AWS
AWS et Sophos n’emploient pas les mêmes termes. Dans AWS, on travaille avec Customer Gateway, Virtual Private Gateway ou Transit Gateway, Site-to-Site VPN connection, Tunnel Details, Route Tables, Security Groups et Network ACLs. Sur Sophos Firewall, les éléments importants sont les connexions Amazon VPC, les profils IPsec, les interfaces XFRM, BGP, les routes et les règles firewall.
Planifier avant la configuration
AWS Site-to-Site VPN ne doit pas être traité comme un simple import d’un exemple de configuration téléchargé. Le fichier AWS est utile, mais la validation de production dépend du routage, des security groups, des NACLs, des règles firewall et de tests avec du trafic réel.
Définir les réseaux et la passerelle cible
Il faut d’abord décider quelle passerelle AWS sera utilisée:
- Virtual Private Gateway pour une VPC unique classique.
- Transit Gateway pour plusieurs VPC, plusieurs sites ou un design de routage plus large.
- Cloud WAN ou d’autres variantes uniquement si l’architecture AWS l’exige explicitement.
Documenter au préalable:
- CIDR de la VPC AWS, par exemple
10.60.0.0/16 - subnets AWS et route tables concernés
- réseaux locaux derrière Sophos Firewall, par exemple
172.16.20.0/24 - adresse IP publique de Sophos Firewall ou du routeur amont
- mode de routage: statique ou BGP dynamique
- ASN local et AWS si BGP est utilisé
- cibles de test attendues des deux côtés
- options de tunnel prévues, version IKE, preshared keys et lifetimes
Les réseaux qui se chevauchent devraient être corrigés avant le design VPN. Le NAT sur IPsec peut fonctionner, mais il complique les route tables, les security groups, les logs et le dépannage ultérieur.
Prendre les deux tunnels au sérieux
AWS crée deux tunnels par connexion Site-to-Site VPN, chacun avec un endpoint AWS différent. Les deux tunnels devraient être configurés et vérifiés sur Sophos Firewall. Construire un seul tunnel peut suffire pour un lab, mais cela supprime la redondance AWS en production.
L’attente doit être claire: le chemin retour depuis AWS préfère un tunnel selon le routage et le côté AWS, puis peut basculer en cas d’incident. Cela ne signifie pas que les deux tunnels sont toujours utilisés de manière équilibrée. L’essentiel est que les deux tunnels montent, que BGP ou les routes statiques soient corrects et que le failover soit testé.
Routage statique ou BGP
AWS Site-to-Site VPN prend en charge les routes statiques et le routage dynamique avec BGP. BGP est généralement préférable avec plusieurs préfixes, des extensions futures ou Transit Gateway. Les routes statiques sont plus simples, mais chaque changement réseau doit être maintenu manuellement.
En pratique:
- BGP nécessite des ASN cohérents des deux côtés.
- Sophos Firewall doit annoncer les préfixes locaux prévus.
- Les route tables AWS doivent réellement utiliser les routes propagées ou statiques.
- Les security groups et NACLs doivent également autoriser le trafic.
- Des routes statiques et BGP identiques peuvent créer une priorité inattendue.
Préparer AWS
Les étapes suivantes décrivent le flux habituel. Les détails varient entre Virtual Private Gateway et Transit Gateway, mais le principe reste le même.
Créer le Customer Gateway
Le Customer Gateway décrit le côté Sophos local dans AWS.
Renseigner:
- Définir un Name tag, par exemple
cgw-sophos-hq. - Choisir le routage: statique ou dynamique.
- Entrer l’adresse IP publique du côté Sophos.
- Pour BGP, entrer l’ASN local de Sophos.
- Créer la ressource et garder un tagging cohérent.
Si Sophos Firewall se trouve derrière un routeur ou un équipement opérateur, il faut savoir quelle IP publique AWS voit et si NAT-T fonctionne correctement. L’IP saisie dans AWS doit correspondre à la négociation réelle du tunnel.
Créer ou sélectionner la passerelle cible
Pour une seule VPC, on crée généralement un Virtual Private Gateway et on l’attache à la VPC. Les environnements AWS plus grands utilisent souvent un Transit Gateway.
Vérifier:
- La passerelle est attachée à la bonne VPC ou au bon Transit Gateway.
- L’ASN côté AWS ne collisionne pas avec l’ASN Sophos.
- Les route tables de la VPC ou du Transit Gateway sont planifiées.
- Les subnets utilisés pour les tests utilisent la bonne route table.
Créer la connexion Site-to-Site VPN
Créer ensuite la Site-to-Site VPN connection dans AWS.
Points importants:
- Choisir le bon target gateway type.
- Sélectionner le Customer Gateway.
- Définir Routing Options sur statique ou dynamique.
- En routage statique, saisir les préfixes locaux.
- Examiner les Tunnel Options, surtout IKE version, encryption, integrity, DH/PFS et DPD.
- Documenter les preshared keys par tunnel ou les faire générer volontairement par AWS.
Après la création, télécharger le fichier de configuration. Comme Vendor, on peut choisir Sophos, Platform Sophos Firewall et une version logicielle adaptée. Le fichier est un bon point de départ, mais il ne remplace pas la revue technique des options de tunnel.
Vérifier route tables, security groups et NACLs
Un tunnel VPN vert dans AWS ne signifie pas encore qu’une instance EC2 est joignable.
Pour la validation, vérifier:
- La route table de la VPC contient une route vers le réseau local via Virtual Private Gateway ou Transit Gateway.
- Avec Virtual Private Gateway, la route propagation est activée ou la route est statique.
- Les route tables du Transit Gateway contiennent les attachments et propagations corrects.
- Le security group de l’instance cible autorise le trafic requis depuis le réseau local.
- Les Network ACLs autorisent l’aller et le retour.
- Le firewall du système d’exploitation de l’instance ne bloque pas le test.
Cette partie est souvent oubliée, car Sophos et AWS peuvent tous deux afficher un tunnel connecté alors que l’instance ne répond pas à cause d’un security group ou d’une route retour.
Configurer Sophos Firewall
Sophos propose deux voies pratiques pour AWS: l’import via Site-to-site VPN > Amazon VPC ou la configuration manuelle comme connexion IPsec route-based. Pour beaucoup de déploiements AWS, l’import est le meilleur point de départ, mais les objets générés doivent tout de même être vérifiés.
Importer la configuration AWS
Sophos Firewall peut importer la connexion Amazon VPC depuis le fichier de configuration AWS téléchargé.
Étapes:
- Ouvrir Sophos Firewall.
- Aller dans Site-to-site VPN > Amazon VPC.
- Sélectionner Use VPC configuration file.
- Téléverser le fichier de configuration AWS.
- Lancer l’import.
- Vérifier les connexions, profils IPsec, interfaces XFRM et paramètres BGP créés.
Si le firewall se trouve derrière un équipement NAT, le fichier de configuration ou la configuration Sophos résultante doit être vérifié avec une attention particulière. Sophos indique que le fichier contient des valeurs par tunnel et que les deux tunnels doivent être pris en compte.
Vérifier le profil IPsec et les tunnels
Après l’import, ou en configuration manuelle, il ne faut pas se fier uniquement au statut.
Vérifier:
- Les deux tunnels AWS existent.
- La version IKE correspond à la configuration AWS.
- Encryption, authentication, DH group, PFS et lifetimes correspondent pour chaque tunnel.
- La preshared key est correcte pour chaque tunnel.
- Gateway type et remote gateway pointent vers les endpoints AWS correspondants.
- Les interfaces XFRM existent et sont nommées clairement.
Si les options de tunnel AWS sont modifiées plus tard, le côté Sophos doit suivre. Les changements unilatéraux causent souvent des erreurs de phase 1 ou de phase 2.
Configurer BGP ou les routes statiques
Avec BGP, vérifier sous Routing > BGP que l’ASN local, le voisin, l’ASN distant et les réseaux annoncés sont corrects. Sous Routing > Information > BGP, Neighbors, Summary et Routes doivent afficher les valeurs attendues.
Avec le routage statique, les routes vers les réseaux AWS doivent pointer vers la bonne interface XFRM. AWS doit aussi connaître les préfixes locaux, soit par des routes VPN statiques, soit via la route table concernée.
Dans les deux variantes, le routage doit être correct dans les deux sens. Un tunnel peut être connecté alors que le retour passe par Internet, une NAT Gateway ou une mauvaise route table.
Créer les règles firewall
Le route-based IPsec ne crée pas automatiquement des règles firewall de production suffisamment propres. Il faut les créer et les journaliser volontairement.
Recommandé:
- Créer une règle du réseau local vers les destinations AWS.
- Autoriser le sens inverse uniquement si AWS doit joindre activement des systèmes locaux.
- Limiter strictement source, destination et services.
- Activer le logging pour la validation.
- Vérifier la position de la règle avant les règles drop ou catch-all générales.
Si la règle attendue ne matche pas, utiliser Règle Sophos Firewall sans correspondance: trouver la cause.
Vérifier la connexion
La validation doit toujours inclure les deux plateformes et du trafic applicatif réel. Un statut de tunnel vert ne suffit pas.
Vérifier AWS
Dans AWS, vérifier:
- VPC > Site-to-Site VPN Connections > Tunnel Details affiche les deux tunnels.
- Le statut du tunnel est
UP. - Avec BGP, les routes sont visibles.
- La route table de la VPC ou du Transit Gateway contient les routes attendues.
- Les security groups et NACLs autorisent le test.
- Les métriques CloudWatch ou les VPN logs ne montrent pas de problèmes IKE ou DPD répétés.
Vérifier Sophos Firewall
Sur Sophos Firewall, vérifier:
- Site-to-site VPN > Amazon VPC ou Site-to-site VPN > IPsec affiche des tunnels actifs.
- Routing > Information > BGP affiche les voisins et routes apprises si BGP est utilisé.
- Network > Interfaces affiche les interfaces XFRM.
- Log Viewer montre la règle firewall attendue.
- Packet Capture confirme l’interface d’entrée et de sortie si les logs ne suffisent pas.
Choisir un trafic de test pertinent
Un test doit utiliser un hôte source, un hôte cible et un service précis, par exemple ICMP, RDP, SSH, HTTPS ou DNS. Si ICMP est bloqué, un ping n’est pas parlant. Mieux vaut tester le service qui sera réellement utilisé.
Erreurs fréquentes
Les erreurs AWS VPN ressemblent souvent à des problèmes IPsec, même lorsque le routage ou les contrôles de sécurité AWS sont la cause. Ces cas sont particulièrement fréquents.
Un seul tunnel est actif
Un tunnel suffit pour un premier test, mais pas pour une exploitation correcte. Les deux tunnels AWS ont leurs propres endpoints et paramètres. Vérifier par tunnel la preshared key, les paramètres IKE/IPsec, l’interface XFRM, le voisin BGP et le statut AWS.
BGP ne monte pas
Si le tunnel est connecté mais que BGP ne forme pas de peering, vérifier d’abord l’ASN, l’IP du voisin, les annonces locales et les adresses inside tunnel. Sophos documente aussi des cas où le peering BGP ne se forme pas automatiquement même si le tunnel AWS VPC est connecté.
Tunnel vert, instance injoignable
La cause est souvent hors IPsec: mauvaise route table AWS, route propagation absente, security group, NACL, firewall de l’OS, mauvais réseau source ou règle Sophos manquante.
Le chemin retour est incorrect
AWS doit connaître le retour vers le réseau local via VPN. Localement, le retour vers la VPC AWS doit passer par XFRM ou BGP. Un routage asymétrique peut paraître normal dans le statut du tunnel, mais casser les sessions réelles.
MTU ou fragmentation perturbent les applications
AWS Site-to-Site VPN et l’overhead IPsec peuvent révéler des problèmes de MTU. Si les petits tests fonctionnent mais que les gros transferts ou certaines applications se bloquent, vérifier MSS/MTU, fragmentation et captures de paquets.
Exploitation et revue
Après la mise en service, le tunnel doit entrer dans le processus d’exploitation normal. Cela inclut un owner, un processus documenté pour les preshared keys, une fenêtre de changement pour les paramètres IPsec, le monitoring des tunnels, des tests réguliers de failover et une procédure claire pour les changements AWS ou ISP.
À chaque changement de CIDR VPC, routage Transit Gateway, route tables, security groups, réseaux locaux ou annonces BGP, la validation VPN doit être répétée. Le VPN cloud n’est pas un clic unique, mais une partie de l’architecture réseau.