Règle entrante Amazon EC2 Security Group avec une IP dynamique

12

Je cherche des éclaircissements sur ce que je considère comme un problème potentiel avec les groupes de sécurité EC2.

Je mets en place un groupe de sécurité pour la connexion aux instances Linux. J'ai créé des règles "n'importe où" pour l'accès HTTP et HTTPS.

Pour ma règle SSH, le tutoriel amazon dit que je devrais limiter l'accès entrant à mon adresse IP publique .

  1. Ce que je ne comprends pas, c'est comment c'est sécurisé ou réalisable si votre adresse IP publique est dynamique?

  2. Mon adresse IP est dynamique, alors que se passe-t-il lorsque mon FAI change mon IP publique et que je ne peux plus ssh dans mon instance?

Lien vers le guide de configuration que j'utilise: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html (Étape 7 de «Créer un groupe de sécurité 'est ce qui me semble problématique)

Will Byrne
la source

Réponses:

6

Ce que je ne comprends pas, c'est comment c'est sécurisé ou réalisable si votre adresse IP publique est dynamique?

Cette solution pourrait fonctionner si vous trouvez que votre adresse IP ne change pas souvent ou si vous n'avez besoin que d'un accès pour une courte période. Il ajoute une couche de sécurité supplémentaire car SSH n'est pas exposé au trafic en dehors du CIDR que vous fournissez.

Si un CIDR spécifique ne fonctionne pas, vous pouvez essayer une ou plusieurs plages de CIDR embarquées que votre FAI est susceptible d'utiliser, cela limitera toujours l'accès à partir d'un grand pourcentage d'Internet, et c'est une victoire pour la sécurité.

que se passe-t-il lorsque mon FAI change mon adresse IP publique et que je ne peux plus envoyer de ssh dans mon instance?

Vous pouvez vous connecter à la console AWS ou utiliser la CLI pour mettre à jour la règle du groupe de sécurité à la volée.

Vous pouvez écrire un script qui interagit directement avec la CLI. Cela peut être aussi simple que quelque chose qui vérifie la valeur par Port 22 rulerapport à votre adresse IP actuelle et la met à jour si elle est différente. Bien sûr, l'exécution d'un tel script peut poser davantage de questions de sécurité :)

Un pare-feu IP est-il le meilleur moyen de sécuriser SSH?

Bien qu'il soit agréable de limiter le trafic ssh aux seules sources IP de confiance lorsque cela est possible, la chose qui sécurise ssh est l'utilisation de clés privées et d'une configuration sensible.

Éléments clés à considérer:

  • Ajoutez une phrase secrète à votre clé privée SSH
  • Désactiver l'authentification par mot de passe sur SSH
  • Désactiver la connexion root à SSH
  • Auditer tous les comptes d'utilisateurs pour les clés publiques SSH

Vous pouvez également faire quelques choses pour vous débarrasser du «bruit» associé aux attaques par force brute:

  • Exécutez ssh sur un port supérieur
  • Utilisez un logiciel comme fail2ban qui enregistrera dynamiquement de nombreuses tentatives échouées et bloquera les plages d'adresses IP pendant des périodes spécifiées
Drew Khoury
la source
4

C'est bien de restreindre l'accès à votre serveur SSH par adresse IP, mais SSH ne compte pas sur cela pour sa sécurité. Si vous désactivez les connexions par mot de passe ( PasswordAUthentication no) et utilisez uniquement l'authentification par clé privée, personne ne peut entrer sans votre clé privée. C'est sur.

En d'autres termes, vous n'avez pas à vous soucier des règles de pare-feu si vous ne le souhaitez pas.

Andrew Schulman
la source
1
Vous devez vous inquiéter d'une attaque ciblée sur votre ordinateur local pour récupérer le fichier de clé, mais si vous n'exécutez pas quelque chose qui traite des données de santé / carte de crédit / gouvernement, les chances de cela sont probablement minimes.
ceejayoz
3

Vous pouvez ajouter une plage CIDR au groupe de sécurité qui représente le sur-ensemble de toutes les adresses IP que votre FAI peut vous attribuer.

Soit cela, soit utilisez l'API AWS pour mettre à jour dynamiquement votre groupe de sécurité.

dmourati
la source
3

Il existe quelques solutions plus récentes à cette question plus ancienne:

Depuis AWS: comment mettre à jour automatiquement vos groupes de sécurité pour Amazon CloudFront et AWS WAF à l'aide d'AWS Lambda

Mise à jour à distance à partir de la source dynamique (script node.js): script de noeud aws-ec2-ssh-secgroup-update

Mise à jour à distance à partir de la source dynamique (script Python): ajoutez automatiquement l'IP publique actuelle au groupe de sécurité pour autoriser le trafic sur un port spécifique

Ville
la source
0

Vous pouvez utiliser la commande aws_ipadd pour mettre à jour et gérer facilement les règles du groupe de sécurité AWS et mettre en liste blanche votre adresse IP publique avec le port chaque fois qu'il est modifié.

$ aws_ipadd my_project_ssh
 Your IP 10.10.1.14/32 and Port 22 is whitelisted successfully.

$ aws_ipadd my_project_ssh
 Modifying existing rule...
 Removing old whitelisted IP '10.10.1.14/32'.
 Whitelisting new IP '10.4.10.16/32'.
 Rule successfully updated!
Piyush Sonigra
la source