Comment obtenir une IP Publique fixe pour un Client VPN point à site (Client VPN Endpoints) pour accéder à Internet ?
I] Introduction:
Migrer entièrement son système d’information dans le cloud AWS peut prendre un certain temps, et même être impossible pour diverses raisons (amortissement du matériel sur site toujours en cours, contraintes techniques, coûts de migration trop élevés etc). C’est pourquoi beaucoup d’entreprises choisissent de fonctionner en mode hybride, à savoir déporter une partie de leurs services dans le cloud et conserver les autres sur site (=On Premise).
A l’heure d’aujourd’hui où le télétravail occupe une vraie place au sein de l’entreprise, il peut vite devenir contraignant d’avoir à gérer différents flux entre le domicile des collaborateurs, le site de l’entreprise et l’environnement AWS. C’est pourquoi il peut être intéressant de monter un tunnel VPN point à site entre les collaborateurs et AWS et n’autoriser l’accès On premise qu’uniquement depuis l’environnement AWS qui est connu et maitrisé.
II] Contexte:
Dans notre cas un collaborateur cherche à se connecter à son serveur applicatif situé dans l’environnement On premise depuis son domicile. Il va alors lancer son client Open VPN qui se charge de monter un tunnel VPN entre sa machine et le endpoint AWS (=Point à site). A noter qu’il n’est pas obligatoire de filtrer au niveau de l’adresse IP source car les collaborateurs peuvent être n’importe où. La sécurité se fera alors au niveau de l’authentification par certificat / active directory.
III] Prérequis:
- 1 VPC
- 1 Sous réseau Publique
- 1 Sous réseau Prive
- 1 Nat Gateway
- 1 elastic IP
- 1 point de terminaison VPN Client
IV] Schéma:
V] Explications:
Dans notre cas il faut donc veiller à positionner le point de terminaison VPN client sur un sous réseau privé qui dispose dans sa table de routage d’une route 0.0.0.0/0 à destination d’une NAT Gateway sur laquelle nous avons affecté une IP Elastic (= IP Fixe).
Une fois connecté le client VPN recevra une route à destination du serveur applicatif pour rediriger le trafic correspondant dans le tunnel VPN (Ajout d’un acheminement dans table de routage sur le point de terminaison VPN client), et devra pouvoir ressortir sur internet (Ajout d’une règle d’autorisation toujours sur le point de terminaison VPN Client).
Table de routage du point de terminaison VPN Client
Règles d’autorisation du point de terminaison VPN Client
Ensuite il n’y a plus qu’à configurer le firewall du côté de notre serveur On Premise pour n’autoriser que le trafic en provenance de notre NAT Gateway (dans notre exemple 53.49.35.12).
Attention ici l’erreur consisterai à positionner le point de terminaison VPN client sur un subnet public. Les clients connectés à ce endpoint se verraient alors sortir sur internet via une IP Publique non fixe…
VI] Conclusion:
Il s’agit ici d’une solution simple à mettre en œuvre afin de permettre l’accès à des utilisateurs itinérants aux ressources AWS ainsi qu’aux ressources sur site sans multiplier les serveurs VPN tout en évitant d’ouvrir des flux trop permissifs (=0.0.0.0/.0 en IP Source…)
A noter qu’il ne s’agit que d’un exemple d’application concernant l’intérêt d’avoir une IP Fixe publique et que tout trafic situé entre la NAT Gateway et le serveur On Premise devra être fait via des protocoles sécurisé (ex: SSL, TTL, HTTPS) pour des raisons évidentes de sécurité car hors tunnel VPN. Dans les faits on préconise souvent de mettre en place un VPN site à site entre l’environnement On Premise et AWS, mais on peut très bien imaginer qu’il s’agisse d’un serveur publique isolé quelque part accessible via une IP reconnue…
Documentations diverses:
https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html
https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-endpoints.html
Continuez votre lecture sur le blog :
- SQL Server 2022 Backup / Restore via un bucket S3 sous AWS (Louis PROU) [AWSSQL Server]
- Export d’une VM d’un ESX vers une EC2 AWS (Emmanuel RAMI) [AWS]
- AWS : Backup Restore SQL Server RDS vers une EC2 ou On-Premise et vice versa ! (Emmanuel RAMI) [AWSSQL Server]
- AWS : Configurer un cluster PostgreSQL HD avec Corosync/Pacemaker sur des EC2 Amazon (Emmanuel RAMI) [AWSPostgreSQL]
- Se connecter à SQL Server à travers Oracle, quelle drôle d’idée ? (Capdata team) [OracleVintage]