Création d'un groupe de sécurité à l'aide de Windows PowerShell - AWS Tools for PowerShell

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un groupe de sécurité à l'aide de Windows PowerShell

Vous pouvez utiliser les AWS Tools for PowerShell pour créer et configurer un groupe de sécurité. Lorsque vous créez un groupe de sécurité, vous devez spécifier s'il s'applique à EC2-Classic ou EC2-VPC. La réponse est l'ID du groupe de sécurité.

Si vous devez vous connecter à votre instance, vous devez configurer le groupe de sécurité afin d'autoriser le trafic SSH (Linux) ou le trafic RDP (Windows).

Prérequis

Vous aurez besoin de l'adresse IP publique de votre ordinateur, en notation CIDR. Vous pouvez obtenir l'adresse IP publique de votre ordinateur local à l'aide d'un service. Par exemple, Amazon fournit le service suivant : http://checkip.amazonaws.com/ ou https://checkip.amazonaws.com/. Pour trouver un autre service qui fournit votre adresse IP, utilisez l'expression de recherche « what is my IP address » (quelle est mon adresse IP). Si votre connexion s'effectue via un fournisseur de services Internet (ISP) ou derrière un pare-feu sans adresse IP statique, vous devez déterminer la plage d'adresses IP pouvant être utilisée par les ordinateurs clients.

Avertissement

Si vous spécifiez 0.0.0.0/0, vous autorisez le trafic à partir de n'importe quelle adresse IP dans le monde. Pour les protocoles SSH et RDP, vous pouvez considérer que cette solution est acceptable pour une brève durée dans un environnement de test, mais elle n'est pas sécurisée pour les environnements de production. En production, assurez-vous d'autoriser l'accès uniquement à partir de l'adresse IP individuelle ou de la plage d'adresses appropriée.

Création d'un groupe de sécurité pour EC2-Classic

Avertissement

Nous retirons EC2-Classic le 15 août 2022. Nous vous recommandons de migrer d'EC2-Classic vers un VPC. Pour plus d'informations, consultez Migrer d'EC2-Classic vers un VPC dans le Guide de l'utilisateur Amazon EC2 pour les instances Linux ou dans le Guide de l'utilisateur Amazon EC2 pour les instances Windows. Consultez également le billet de blog EC2-Classic Networking is Retiring – Here's How to Prepare (Se préparer au retrait de la mise en réseau EC2-Classic).

L'exemple suivant utilise l'applet de commande New-EC2SecurityGroup pour créer un groupe de sécurité pour EC2-Classic.

PS > New-EC2SecurityGroup -GroupName myPSSecurityGroup -GroupDescription "EC2-Classic from PowerShell" sg-0a346530123456789

Pour afficher la configuration initiale du groupe de sécurité, utilisez l'applet de commande Get-EC2SecurityGroup.

PS > Get-EC2SecurityGroup -GroupNames myPSSecurityGroup Description : EC2-Classic from PowerShell GroupId : sg-0a346530123456789 GroupName : myPSSecurityGroup IpPermissions : {} IpPermissionsEgress : {Amazon.EC2.Model.IpPermission} OwnerId : 123456789012 Tags : {} VpcId : vpc-9668ddef

Pour configurer le groupe de sécurité afin d'autoriser le trafic entrant sur le port TCP 22 (SSH) et le port TCP 3389, utilisez l'applet de commande Grant-EC2SecurityGroupIngress. Par exemple, l'exemple de script suivant montre comment activer le trafic SSH à partir d'une seule adresse IP, 203.0.113.25/32.

$cidrBlocks = New-Object 'collections.generic.list[string]' $cidrBlocks.add("203.0.113.25/32") $ipPermissions = New-Object Amazon.EC2.Model.IpPermission $ipPermissions.IpProtocol = "tcp" $ipPermissions.FromPort = 22 $ipPermissions.ToPort = 22 ipPermissions.IpRanges = $cidrBlocks Grant-EC2SecurityGroupIngress -GroupName myPSSecurityGroup -IpPermissions $ipPermissions

Pour vérifier que le groupe de sécurité a été mis à jour, exécutez à nouveau l'applet de commande Get-EC2SecurityGroup. Notez que vous ne pouvez pas spécifier de règle de trafic sortant pour EC2-Classic.

PS > Get-EC2SecurityGroup -GroupNames myPSSecurityGroup OwnerId : 123456789012 GroupName : myPSSecurityGroup GroupId : sg-0a346530123456789 Description : EC2-Classic from PowerShell IpPermissions : {Amazon.EC2.Model.IpPermission} IpPermissionsEgress : {} VpcId : Tags : {}

Pour afficher la règle du groupe de sécurité, utilisez la propriété IpPermissions.

PS > (Get-EC2SecurityGroup -GroupNames myPSSecurityGroup).IpPermissions IpProtocol : tcp FromPort : 22 ToPort : 22 UserIdGroupPairs : {} IpRanges : {203.0.113.25/32}

Création d'un groupe de sécurité pour EC2-VPC

L'exemple New-EC2SecurityGroup suivant ajoute le paramètre -VpcId pour créer un groupe de sécurité pour le VPC spécifié.

PS > $groupid = New-EC2SecurityGroup ` -VpcId "vpc-da0013b3" ` -GroupName "myPSSecurityGroup" ` -GroupDescription "EC2-VPC from PowerShell"

Pour afficher la configuration initiale du groupe de sécurité, utilisez l'applet de commande Get-EC2SecurityGroup. Par défaut, le groupe de sécurité d'un VPC inclut une règle qui autorise la totalité du trafic sortant. Notez que vous ne pouvez pas faire référence à un groupe de sécurité pour EC2-VPC par son nom.

PS > Get-EC2SecurityGroup -GroupId sg-5d293231 OwnerId : 123456789012 GroupName : myPSSecurityGroup GroupId : sg-5d293231 Description : EC2-VPC from PowerShell IpPermissions : {} IpPermissionsEgress : {Amazon.EC2.Model.IpPermission} VpcId : vpc-da0013b3 Tags : {}

Pour définir les autorisations pour le trafic entrant sur le port TCP 22 (SSH) et le port TCP 3389, utilisez l'applet de commande New-Object. L'exemple de script suivant définit les autorisations pour les ports TCP 22 et 3389 à partir d'une seule adresse IP, 203.0.113.25/32.

$ip1 = new-object Amazon.EC2.Model.IpPermission $ip1.IpProtocol = "tcp" $ip1.FromPort = 22 $ip1.ToPort = 22 $ip1.IpRanges.Add("203.0.113.25/32") $ip2 = new-object Amazon.EC2.Model.IpPermission $ip2.IpProtocol = "tcp" $ip2.FromPort = 3389 $ip2.ToPort = 3389 $ip2.IpRanges.Add("203.0.113.25/32") Grant-EC2SecurityGroupIngress -GroupId $groupid -IpPermissions @( $ip1, $ip2 )

Pour vérifier que le groupe de sécurité a été mis à jour, utilisez à nouveau l'applet de commande Get-EC2SecurityGroup.

PS > Get-EC2SecurityGroup -GroupIds sg-5d293231 OwnerId : 123456789012 GroupName : myPSSecurityGroup GroupId : sg-5d293231 Description : EC2-VPC from PowerShell IpPermissions : {Amazon.EC2.Model.IpPermission} IpPermissionsEgress : {Amazon.EC2.Model.IpPermission} VpcId : vpc-da0013b3 Tags : {}

Pour afficher les règles de trafic entrant, vous pouvez récupérer la propriété IpPermissions de l'objet de collection renvoyé par la commande précédente.

PS > (Get-EC2SecurityGroup -GroupIds sg-5d293231).IpPermissions IpProtocol : tcp FromPort : 22 ToPort : 22 UserIdGroupPairs : {} IpRanges : {203.0.113.25/32} IpProtocol : tcp FromPort : 3389 ToPort : 3389 UserIdGroupPairs : {} IpRanges : {203.0.113.25/32}