Controla el acceso a tu sitio

AWSBeginner
Practicar Ahora

Introducción

Quita y restaura una regla EC2 para observar conexiones reales, conservando la regla SSH.

Completa antes los laboratorios anteriores del portafolio. Este laboratorio proporciona sus propios recursos y las capacidades de las etapas previas. Conserva conocimientos, no servidores, archivos ni credenciales anteriores.

Relación con la certificación

Certificación Tareas Práctica
AWS Certified Cloud Practitioner (CLF-C02) Task 3.5 Controlar conexiones a EC2 mediante un grupo de seguridad.

Vista general

Quita y restaura una regla EC2 para observar conexiones reales, conservando la regla SSH.

Observa una conexión bloqueada

En este paso, quitarás solo la regla del sitio y compararás la respuesta de la página con el estado del servidor.

Este laboratorio proporciona un servidor nuevo. Abre el portafolio desde su AWS View y confirma Alex Morgan antes de cambiar nada. Vuelve a Terminal y entra en el proyecto:

cd /home/labex/project

Como antes, source carga los identificadores del servidor actual. Muestra SECURITY_GROUP_ID, el grupo que modificarás:

source website.env
echo "$SECURITY_GROUP_ID"

Un grupo de seguridad controla conexiones de red de una instancia. Una regla de entrada permite conexiones que llegan a ella. Un puerto identifica el servicio: SSH usa 22 y este sitio HTTP usa 8081. Otros sitios suelen usar HTTP 80 o HTTPS 443; aquí usa el puerto configurado para esta aplicación.

Lee el grupo antes de cambiarlo:

Como en el primer laboratorio, --query selecciona parte de la respuesta. Aquí conserva solo las reglas de entrada del primer grupo, SecurityGroups[0].IpPermissions, para centrarse en los dos permisos necesarios.

aws ec2 describe-security-groups \
  --group-ids "$SECURITY_GROUP_ID" \
  --query 'SecurityGroups[0].IpPermissions'

La salida muestra solo las reglas de entrada. FromPort y ToPort indican el rango. Debes encontrar reglas separadas para 22 y 8081. La fuente 198.51.100.10/32 representa un visitante preparado para este ejercicio; /32 significa una dirección IPv4. No es la dirección pública de tu ordenador, así que conserva el valor dado.

Quita solo el permiso del sitio. revoke-security-group-ingress elimina una regla coincidente; --protocol tcp selecciona el protocolo, --port 8081 el servicio web y --cidr la fuente permitida:

aws ec2 revoke-security-group-ingress \
  --group-id "$SECURITY_GROUP_ID" \
  --protocol tcp \
  --port 8081 \
  --cidr 198.51.100.10/32

La respuesta confirma el cambio. Recarga el portafolio: debe indicar Website connection unavailable, mientras AWS View sigue mostrando la instancia como running.

Una petición nueva falla tras quitar la regla web, pero el servidor sigue en ejecución.

AWS View sigue mostrando running aunque la conexión web está bloqueada; los identificadores son ejemplos.

La aplicación no se ha desinstalado ni el servidor se ha detenido: una regla de red bloquea la conexión. Los grupos registran las conexiones permitidas; la nueva petición de este ejercicio prueba la regla modificada. Conserva la regla SSH.

Restaura el acceso al sitio

En este paso, restaurarás el permiso concreto y comprobarás que la aplicación responde de nuevo.

authorize-security-group-ingress añade una regla de entrada. Usa el mismo grupo, puerto TCP y dirección del visitante preparado:

aws ec2 authorize-security-group-ingress \
  --group-id "$SECURITY_GROUP_ID" \
  --protocol tcp \
  --port 8081 \
  --cidr 198.51.100.10/32

Recarga el portafolio. Deben volver Alex Morgan y los tres proyectos, sin reinstalar la aplicación ni reiniciar el servidor. Lee también el grupo para comprobar la configuración:

Tras restaurar la regla prevista, la página real vuelve a responder.

aws ec2 describe-security-groups \
  --group-ids "$SECURITY_GROUP_ID" \
  --query 'SecurityGroups[0].IpPermissions'

Confirma la regla web 8081 y la regla SSH 22 intacta, ambas para 198.51.100.10/32. 0.0.0.0/0 permitiría cualquier fuente IPv4 y es más amplio de lo necesario. Restaura la fuente dada sin añadir permisos extra.

Has comprobado la configuración y el resultado real: existe la regla necesaria y la petición del visitante funciona. El siguiente laboratorio proporciona otro sitio e introduce almacenamiento privado para sus materiales.

Resumen

Quitaste y restauraste una regla web, observaste el fallo y la recuperación reales y conservaste SSH. Distinguiste un servidor en ejecución de una aplicación accesible y verificaste que el permiso restaurado se limita al visitante previsto.

Referencias oficiales: security group rules.