Crear un grupo de seguridad
Para crear una configuración de seguridad (security group) puedes correr el siguiente comando,
create-security-group –description {Ingresa una descripción} –group-name {Ingresa un nombre} –vpc-id {Ingresa el id de la VPC a la que pertenecen tus recursos}
Ej.
create-security-group –description “Grupo de seguridad” –group-name “Grupo 1” –vpc-id “vpc-123a4b6c”
Este comando te arrojará el id del grupo recién creado.
IMPORTANTE: Para saber el id de la VPC de tus instancias EC2 puedes ejecutar,
Ej.
aws ec2 describe-vpcs –profile=cuenta1
El dato que nos interesa es VpcId
Aquí puedes ver mayor información acerca del comando, https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html
Agregar reglas a tu configuración de seguridad
Mediante el siguiente comando podrás agregar una regla para lograr cosas como,
- Aislar el acceso de la base de datos exclusivamente desde tu instancia EC2
- Controlar el acceso SSH a tus instancias EC2 o RDS por ejemplo
- Acceso HTTP y HTTPS a toda la internet
- Entre otros
aws ec2 authorize-security-group-ingress –group-name {Ingresa el nombre del grupo} \
–protocol {Ingresa protocolo tcp o udp} –port {Puerto a autorizar} –cidr {IP del host a autorizar en formato v.w.x.y/zz} –profile cuenta1
Ej. Si quisiéramos autorizar el acceso MySQL debemos abrir el puerto tcp 3306, para el host de ip 106.196.254.55. En este ejemplo solo abarcaremos un solo host, pero recuerda que asignando una máscara de subred inferior a 32, estarías abarcando un rango de ips. Si quisieras dejar abierto el acceso a cualquiera puedes poner 0.0.0.0/32
aws ec2 authorize-security-group-ingress –group-name “Grupo 1” \
–protocol tcp –port 3306 –cidr 106.196.254.55/32 –profile cuenta1
Por si no recuerdas como subnetear, te dejo un enlace donde puedes refrescar la memoria y una calculadora que te puede facilitar las cosas a la hora de obtener la ip de tu subred.
Eliminar una regla de tu configuración de seguridad
De esta manera podrás eliminar una regla mediante la indicación del protocolo, puerto e ip/cidr ingresados en algún momento anteriormente.
aws ec2 revoke-security-group-ingress –group-name {Ingresa el nombre del grupo} \
–protocol{Ingresa protocolo tcp o udp} –port {Puerto a desautorizar} –cidr {IP del host a desautorizar en formato v.w.x.y/zz} –profile cuenta1
Ej. para eliminar la regla anteriormente creada puedes ejecutar lo siguiente,
aws ec2 revoke-security-group-ingress –group-name {Ingresa el nombre del grupo} \
–protocol{Ingresa protocolo tcp o udp} –port {Puerto a desautorizar} –cidr {IP del host a desautorizar en formato v.w.x.y/zz} –profile cuenta1
Eso es todo, cualquier cosa no duden en escribirme.