Bloqueo de acceso público de las VPC y subredes - Amazon Virtual Private Cloud

Bloqueo de acceso público de las VPC y subredes

El Bloqueo del acceso público (BPA) de la VPC es una característica de seguridad centralizada que le permite impedir de forma autorizada el acceso público desde la Internet a los recursos de la VPC en toda una cuenta de AWS, lo que garantiza el cumplimiento de los requisitos de seguridad y, al mismo tiempo, proporciona flexibilidad para excepciones específicas y capacidades de auditoría.

La característica de BPA de la VPC tiene los siguientes modos:

  • Bidireccional: se bloquea todo el tráfico hacia y desde las puertas de enlace de Internet y las puertas de enlace de Internet de solo salida de esta región (excepto las VPC y las subredes excluidas).

  • Solo de entrada: se bloquea todo el tráfico de Internet a las VPC de esta región (excepto las VPC o subredes excluidas). Solo se permite el tráfico hacia y desde las puertas de enlace NAT y las puertas de enlace de Internet solo de salida, ya que estas puertas de enlace solo permiten establecer conexiones salientes.

También puede crear “exclusiones” para esta característica para el tráfico que no desee bloquear. Una exclusión es un modo que se puede aplicar a una sola VPC o subred que la exime del modo BPA de la cuenta y permitirá el acceso bidireccional o solo de salida.

Las exclusiones pueden tener cualquiera de los siguientes modos:

  • Bidireccional: se permite todo el tráfico de Internet hacia y desde las VPC y subredes excluidas.

  • Solo de salida: se permite el tráfico de Internet saliente desde las VPC y subredes excluidas. Se bloquea el tráfico de Internet entrante a las VPC y subredes excluidas. Esto solo se aplica cuando el BPA está establecido en modo Bidireccional.

Conceptos básicos del BPA

En esta sección, se describen detalles importantes sobre el BPA de la VPC, incluidos los servicios que lo admiten y cómo puede trabajar con él.

Disponibilidad regional

El BPA de la VPC está disponible en todas las regiones de AWS comerciales, incluso GovCloud y las regiones de China.

En esta guía, también encontrará información sobre el uso del Analizador de acceso a la red y el Analizador de accesibilidad con el BPA de la VPC. Tenga en cuenta que el Analizador de acceso a la red y el Analizador de accesibilidad no están disponibles en todas las regiones comerciales. Para obtener información sobre la disponibilidad regional del Analizador de acceso a la red y el Analizador de accesibilidad, consulte Limitaciones en la Guía del Analizador de acceso a la red y Consideraciones de la Guía del Analizador de accesibilidad.

Impacto en los servicios de AWS y cuáles lo admiten

Los siguientes recursos y servicios admiten el BPA de la VPC y el tráfico a estos servicios y recursos se ve afectado por el BPA de la VPC:

  • Puerta de enlace de Internet: se bloquea todo el tráfico entrante y saliente.

  • Puerta de enlace de Internet solo de salida: se bloquea todo el tráfico saliente. Las puertas de enlace de Internet de solo salida no permiten el tráfico entrante.

  • Puerta de enlace NAT: se bloquea todo el tráfico entrante y saliente. Las puertas de enlace NAT requieren una puerta de enlace de Internet para la conectividad a Internet.

  • Equilibrador de carga de red orientado a Internet: se bloquea todo el tráfico entrante y saliente. Los equilibradores de carga de red orientados a Internet requieren una puerta de enlace de Internet para conectarse a la Internet.

  • Equilibrador de carga de aplicación orientado a Internet: se bloquea todo el tráfico entrante y saliente. Los equilibradores de carga de aplicaciones orientados a Internet requieren una puerta de enlace de Internet para conectarse a la Internet.

  • Acelerador global de AWS: se bloquea el tráfico entrante a las VPC.

El BPA de la VPC no bloquea ni afecta al tráfico relacionado con la conectividad privada, como el tráfico de los siguientes servicios y recursos:

  • AWS Client VPN

  • Orígenes de la VPC de Amazon CloudFront

  • AWS CloudWAN

  • Puerta de enlace local de AWS Outposts

  • AWS Site-to-Site VPN

  • Puerta de enlace de tránsito

  • Acceso verificado de AWS

  • Puerta de enlace de operador de AWS Wavelength

importante

El tráfico que se envía de forma privada desde los recursos de la VPC a otros servicios que se ejecutan en la VPC, como el Resolver DNS de EC2, está permitido incluso cuando el BPA está activado, ya que no pasa a través de una puerta de enlace de Internet de la VPC. Es posible que estos servicios realicen solicitudes a recursos externos a la VPC en su nombre, por ejemplo, para resolver una consulta de DNS, y que expongan información sobre la actividad de los recursos de la VPC si no se mitigan mediante otros controles de seguridad.

Limitaciones del BPA

El modo de solo entrada del BPA de VPC no se admite en las zonas locales (LZ) donde no se permiten las puertas de enlace NAT ni las puertas de enlace de Internet de solo salida.

Controlar el acceso al BPA de la VPC con una política de IAM

Para ver ejemplos de políticas de IAM que permiten o deniegan el acceso a la característica de BPA de la VPC, consulte Bloqueo de acceso público de las VPC y subredes.

Habilitar el modo bidireccional del BPA para su cuenta

El modo bidireccional del BPA de la VPC bloquea todo el tráfico hacia y desde las puertas de enlace de Internet y las puertas de enlace de Internet de solo salida en esta región (excepto las VPC y las subredes excluidas). Para obtener más información acerca de las exclusiones, consulte Crear y eliminar exclusiones.

importante

Se recomienda que revise detenidamente las cargas de trabajo que requieren acceso a Internet antes de habilitar el BPA de la VPC en sus cuentas de producción.

nota
  • Para habilitar el BPA de la VPC en las VPC y las subredes de su cuenta, debe ser propietario de las VPC y las subredes.

  • Si actualmente comparte subredes de VPC con otras cuentas, el modo del BPA de la VPC impuesto por el propietario de la subred también se aplica al tráfico de los participantes, pero los participantes no pueden controlar la configuración del BPA de la VPC que afecta a la subred compartida.

AWS Management Console
  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación izquierdo, elija Configuración.

  3. Elija Editar la configuración del acceso público.

  4. Seleccione Activar el bloqueo del acceso público y Bidireccional y, a continuación, seleccione Guardar cambios.

  5. Espere a que el Estado cambie a Activado. Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

El modo bidireccional del BPA de la VPC ya está activado.

AWS CLI
  1. Activar el BPA de la VPC:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-options --internet-gateway-block-mode block-bidirectional

    Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

  2. Ver el estado del BPA de la VPC:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-options

Cambiar el modo del BPA de la VPC a modo de solo entrada

El modo del BPA de la VPC de solo entrada bloquea todo el tráfico de Internet a las VPC de esta región (excepto las VPC o subredes que están excluidas). Solo se permite el tráfico hacia y desde las puertas de enlace NAT y las puertas de enlace de Internet solo de salida, ya que estas puertas de enlace solo permiten establecer conexiones salientes.

AWS Management Console
  1. Modifique la configuración de acceso público en la consola de la VPC y cambie la dirección a Solo entrada.

  2. Guarde los cambios y espere a que se actualice el estado. Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

AWS CLI
  1. Modifique la dirección del bloqueo del BPA de la VPC:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-options --internet-gateway-block-mode block-ingress

    Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

  2. Ver el estado del BPA de la VPC:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-options

Crear y eliminar exclusiones

Una exclusión de BPA de la VPC es un modo que se puede aplicar a una sola VPC o subred, lo que la exime del modo BPA de la cuenta y permitirá el acceso bidireccional o solo de salida. Puede crear exclusiones de BPA para las VPC y las subredes incluso cuando el BPA no esté habilitado en la cuenta para garantizar que las exclusiones no interrumpan el tráfico cuando el BPA de la VPC está activado.

Puede crear un máximo de 50 exclusiones. Para obtener información acerca de cómo solicitar un aumento del límite, consulte Exclusiones de BPA de la VPC por cuenta en Cuotas de Amazon VPC.

AWS Management Console
  1. En la pestaña Bloquear el acceso público, en Exclusiones, seleccione Crear exclusiones.

  2. Elija una VPC o una subred, elija una dirección de bloqueo:

    • Bidireccional: permite que todo el tráfico de Internet entre y salga de las VPC y subredes excluidas.

    • Solo de salida: permite el tráfico de Internet saliente desde las VPC y subredes excluidas. Bloquea el tráfico de Internet entrante a las VPC y subredes excluidas. Esta configuración se aplica cuando el BPA está establecido en Bidireccional.

  3. Seleccione Crear exclusiones.

  4. Espere a que el Estado de exclusión cambie a Activo. Puede que tenga que actualizar la tabla de exclusión para ver el cambio.

Se ha creado la exclusión.

AWS CLI
  1. Modifique la dirección permitida de la exclusión:

    aws ec2 --region us-east-2 create-vpc-block-public-access-exclusion --subnet-id subnet-id --internet-gateway-exclusion-mode allow-bidirectional
  2. El estado de exclusión puede tardar un tiempo en actualizarse. Para ver el estado de la exclusión:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-exclusions --exclusion-ids exclusion-id

Evaluar el impacto del BPA y controlar el BPA

Esta sección contiene información sobre cómo evaluar el impacto del BPA de la VPC antes de activarla y cómo supervisar si el tráfico se bloquea después de activarla.

Evaluar el impacto del BPA con Analizador de acceso de red

En esta sección, utilizará Analizador de acceso de red para ver los recursos de su cuenta que utilizan una puerta de enlace de Internet antes de habilitar el BPA de la VPC y bloquear el acceso. Utilice este análisis para comprender el impacto de activar el BPA de la VPC en su cuenta y bloquear el tráfico.

nota
  • El analizador de acceso a la red no es compatible con IPv6, por lo que no podrá utilizarlo para ver el posible impacto del BPA en el tráfico de IPv6 saliente de las puertas de enlace de Internet solo de salida.

  • Se le cobrará por los análisis que realice con el analizador de acceso a la red. Para obtener más información, consulte Precios en la Guía de Analizador de acceso de red.

  • Para obtener información sobre la disponibilidad regional del analizador de acceso a la red, consulte Limitaciones en la Guía del analizador de acceso a la red.

AWS Management Console
  1. Abra la consola de AWS Network Insights en https://console.aws.amazon.com/networkinsights/.

  2. Seleccione Analizador de acceso a la red.

  3. Seleccione Crear alcance de acceso a la red.

  4. Seleccione Identificar el acceso a o desde las puertas de enlace de Internet y elija Siguiente.

  5. La plantilla ya está configurada para analizar el tráfico hacia y desde las puertas de enlace de Internet de su cuenta. Puede verlo en Origen y Destino.

  6. Elija Siguiente.

  7. Seleccione Crear alcance de acceso a la red.

  8. Elija el alcance que acaba de crear y seleccione Analizar.

  9. Espere a que el análisis finalice.

  10. Visualice los resultados del análisis. Cada fila de la sección Resultados muestra la ruta de red que un paquete puede recorrer en una red hacia o desde una puerta de enlace de Internet de su cuenta. En este caso, si activa el BPA de la VPC y ninguna de las VPC o subredes que aparecen en estos resultados está configurada como exclusión de BPA, se restringirá el tráfico a esas VPC y subredes.

  11. Analice cada resultado para comprender el impacto del BPA en los recursos de sus VPC.

El análisis de impacto está completo.

AWS CLI
  1. Crear un alcance de acceso a la red:

    aws ec2 create-network-insights-access-scope --region us-east-2 --match-paths "Source={ResourceStatement={ResourceTypes=["AWS::EC2::InternetGateway"]}}" "Destination={ResourceStatement={ResourceTypes=["AWS::EC2::InternetGateway"]}}"
  2. Comenzar el análisis del alcance:

    aws ec2 start-network-insights-access-scope-analysis --region us-east-2 --network-insights-access-scope-id nis-id
  3. Obtener los resultados del análisis:

    aws ec2 get-network-insights-access-scope-analysis-findings --region us-east-2 --network-insights-access-scope-analysis-id nisa-0aa383a1938f94cd1 --max-items 1

    Los resultados muestran el tráfico hacia y desde las puertas de enlace de Internet en todas las VPC de su cuenta. Los resultados se organizan como “hallazgos”. “FindingID”: “AnalysisFinding-1” indica que este es el primer resultado del análisis. Tenga en cuenta que hay varios resultados y cada uno indica un flujo de tráfico que se verá afectado por la activación del BPA de la VPC. El primer resultado mostrará que el tráfico comenzó en una puerta de enlace de Internet (“SequenceNumber”: 1), pasó a una NACL (“SequenceNumber”: 2) a un grupo de seguridad (“SequenceNumber”: 3) y terminó en una instancia (“SequenceNumber”: 4).

  4. Analice los resultados para comprender el impacto del BPA en los recursos de sus VPC.

El análisis de impacto está completo.

Monitorear el impacto del BPA con registros de flujo

Los registros de flujo de la VPC son una característica que permite capturar información acerca del tráfico de la IP que entra y sale de las interfaces de red Elastic en la VPC. Puede usar esta característica para supervisar el tráfico que el BPA de la VPC bloquea para que no llegue a las interfaces de red de la instancia.

Cree un registro de flujo para su VPC siguiendo los pasos que se indican en Trabajo con registros de flujo.

Al crear el registro de flujo, asegúrese de utilizar un formato personalizado que incluya el campo reject-reason.

Al ver los registros de flujo, si el tráfico a una ENI se rechaza por el BPA, verá una reject-reason del BPA en la entrada del registro de flujo.

Además de las limitaciones estándar para los registros de flujo de la VPC, tenga en cuenta las siguientes limitaciones específicas del BPA de la VPC:

  • Los registros de flujo del BPA de la VPC no incluyen los registros omitidos.

  • Los registros de flujo del BPA de la VPC no incluyen bytes incluso si incorpora el campo bytes en el registro de flujo.

Seguimiento de la eliminación de exclusiones con CloudTrail

En esta sección, se explica cómo puede usar AWS CloudTrail para supervisar y realizar un seguimiento de la eliminación de las exclusiones del BPA de la VPC.

AWS Management Console

Para ver las exclusiones eliminadas en el historial de eventos de CloudTrail, consulte Tipo de recurso > AWS::EC2::VPCBlockPublicAccessExclusion en la consola de AWS CloudTrail, en https://console.aws.amazon.com/cloudtrailv2/.

AWS CLI

Puede usar el comando lookup-events para ver los eventos relacionados con la eliminación de exclusiones:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceType,AttributeValue=AWS::EC2::VPCBlockPublicAccessExclusion

Verificar que la conectividad esté bloqueada con el Analizador de accesibilidad

El Analizador de accesibilidad de la VPC se puede utilizar para evaluar si se puede acceder o no a determinadas rutas de red según la configuración de la red, incluida la configuración del BPA de la VPC.

Para obtener información sobre la disponibilidad regional del Analizador de accesibilidad, consulte Consideraciones en la Guía del Analizador de accesibilidad.

AWS Management Console
  1. Abra la consola de Network Insights en https://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer.

  2. Haga clic en Crear y analizar la ruta.

  3. Para el Tipo de origen, elija Puertas de enlace de Internet y seleccione la puerta de enlace de Internet en la que desea bloquear el tráfico en el menú desplegable Origen.

  4. Para el Tipo de destino, elija Instancias y seleccione la instancia desde la que quiere bloquear el tráfico en el menú desplegable Destino.

  5. Haga clic en Crear y analizar la ruta.

  6. Espere a que el análisis finalice. Puede demorar unos minutos.

  7. Una vez completado, verá que el Estado de accesibilidad es No alcanzable y que los Detalles de la ruta muestran que VPC_BLOCK_PUBLIC_ACCESS_ENABLED es la causa de este problema de accesibilidad.

AWS CLI
  1. Cree una ruta de red con el ID de la puerta de enlace de Internet desde la que desea bloquear el tráfico (origen) y el ID de la instancia a la que desea bloquear el tráfico (destino):

    aws ec2 --region us-east-2 create-network-insights-path --source igw-id --destination instance-id --protocol TCP
  2. Iniciar un análisis de la ruta de la red:

    aws ec2 --region us-east-2 start-network-insights-analysis --network-insights-path-id nip-id
  3. Recuperar los resultados del análisis:

    aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
  4. Compruebe que VPC_BLOCK_PUBLIC_ACCESS_ENABLED es el ExplanationCode por la falta de accesibilidad.

Ejemplo avanzado

Esta sección contiene un ejemplo avanzado que lo ayudará a entender cómo funciona la característica de bloqueo del acceso público de la VPC en diferentes situaciones. Cada situación se basa en la anterior, por eso es importante completar los pasos en orden.

importante

No utilice este ejemplo en una cuenta de producción. Se recomienda que revise detenidamente las cargas de trabajo que requieren acceso a Internet antes de habilitar el BPA de la VPC en sus cuentas de producción.

nota

Para comprender por completo la característica del BPA de la VPC, necesitará disponer de determinados recursos en la cuenta. En esta sección, proporcionamos una plantilla de AWS CloudFormation que puede utilizar para aprovisionar los recursos que necesita para comprender bien el funcionamiento de esta característica. Hay costos asociados a los recursos que aprovisiona con la plantilla de CloudFormation y a los análisis que realiza con el Analizador de acceso a la red y el Analizador de accesibilidad. Si usa la plantilla de esta sección, asegúrese de completar los pasos de limpieza cuando termine con este ejemplo.

Implementar plantillas de CloudFormation

Para demostrar cómo funciona esta característica, necesita una VPC, subredes, instancias y otros recursos. Para facilitar la realización de esta demostración, a continuación incluimos una plantilla de AWS CloudFormation que puede utilizar para disponer rápidamente de los recursos necesarios para las situaciones de esta demostración.

nota

Hay costos asociados a los recursos que cree en esta sección con la plantilla de CloudFormation, como el costo de la puerta de enlace NAT y las direcciones IPv4 públicas. Para evitar costos excesivos, asegúrese de completar los pasos de limpieza para eliminar todos los recursos creados para los fines de este ejemplo.

La plantilla crea los siguientes recursos en su cuenta:

  • Gateway de Internet de solo salida

  • Puerta de enlace de Internet

  • Puerta de enlace de NAT

  • Dos subredes públicas

  • Una subred privada

  • Dos instancias EC2 con direcciones IPv4 privadas y públicas

  • Una instancia EC2 con una dirección IPv6 y una dirección IPv4 privada

  • Una instancia EC2 con una dirección IPv4 privada únicamente

  • Se permite un grupo de seguridad con tráfico entrante SSH e ICMP y se permite TODO el tráfico saliente

  • Registro de flujo de VPC

  • Un punto de conexión de EC2 Instance Connect en la subred B

Copie la siguiente plantilla y guárdela en un archivo .yaml.

AWSTemplateFormatVersion: '2010-09-09' Description: Creates a VPC with public and private subnets, NAT gateway, and EC2 instances for VPC BPA. Parameters: InstanceAMI: Description: ID of the Amazone Machine Image (AMI) to use with the instances launched by this template Type: AWS::EC2::Image::Id InstanceType: Description: EC2 Instance type to use with the instances launched by this template Type: String Default: t2.micro Resources: # VPC VPCBPA: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16 EnableDnsHostnames: true EnableDnsSupport: true InstanceTenancy: default Tags: - Key: Name Value: VPC BPA # VPC IPv6 CIDR VPCBPAIpv6CidrBlock: Type: AWS::EC2::VPCCidrBlock Properties: VpcId: !Ref VPCBPA AmazonProvidedIpv6CidrBlock: true # EC2 Key Pair VPCBPAKeyPair: Type: AWS::EC2::KeyPair Properties: KeyName: vpc-bpa-key # Internet Gateway VPCBPAInternetGateway: Type: AWS::EC2::InternetGateway Properties: Tags: - Key: Name Value: VPC BPA Internet Gateway VPCBPAInternetGatewayAttachment: Type: AWS::EC2::VPCGatewayAttachment Properties: VpcId: !Ref VPCBPA InternetGatewayId: !Ref VPCBPAInternetGateway # Egress-Only Internet Gateway VPCBPAEgressOnlyInternetGateway: Type: AWS::EC2::EgressOnlyInternetGateway Properties: VpcId: !Ref VPCBPA # Subnets VPCBPAPublicSubnetA: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPCBPA CidrBlock: 10.0.1.0/24 MapPublicIpOnLaunch: true Tags: - Key: Name Value: VPC BPA Public Subnet A VPCBPAPublicSubnetB: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPCBPA CidrBlock: 10.0.2.0/24 MapPublicIpOnLaunch: true Tags: - Key: Name Value: VPC BPA Public Subnet B VPCBPAPrivateSubnetC: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPCBPA CidrBlock: 10.0.3.0/24 MapPublicIpOnLaunch: false Ipv6CidrBlock: !Select [0, !GetAtt VPCBPA.Ipv6CidrBlocks] AssignIpv6AddressOnCreation: true Tags: - Key: Name Value: VPC BPA Private Subnet C # NAT Gateway VPCBPANATGateway: Type: AWS::EC2::NatGateway Properties: AllocationId: !GetAtt VPCBPANATGatewayEIP.AllocationId SubnetId: !Ref VPCBPAPublicSubnetB Tags: - Key: Name Value: VPC BPA NAT Gateway VPCBPANATGatewayEIP: Type: AWS::EC2::EIP Properties: Domain: vpc Tags: - Key: Name Value: VPC BPA NAT Gateway EIP # Route Tables VPCBPAPublicRouteTable: Type: AWS::EC2::RouteTable Properties: VpcId: !Ref VPCBPA Tags: - Key: Name Value: VPC BPA Public Route Table VPCBPAPublicRoute: Type: AWS::EC2::Route DependsOn: VPCBPAInternetGatewayAttachment Properties: RouteTableId: !Ref VPCBPAPublicRouteTable DestinationCidrBlock: 0.0.0.0/0 GatewayId: !Ref VPCBPAInternetGateway VPCBPAPublicSubnetARouteTableAssoc: Type: AWS::EC2::SubnetRouteTableAssociation Properties: SubnetId: !Ref VPCBPAPublicSubnetA RouteTableId: !Ref VPCBPAPublicRouteTable VPCBPAPublicSubnetBRouteTableAssoc: Type: AWS::EC2::SubnetRouteTableAssociation Properties: SubnetId: !Ref VPCBPAPublicSubnetB RouteTableId: !Ref VPCBPAPublicRouteTable VPCBPAPrivateRouteTable: Type: AWS::EC2::RouteTable Properties: VpcId: !Ref VPCBPA Tags: - Key: Name Value: VPC BPA Private Route Table VPCBPAPrivateRoute: Type: AWS::EC2::Route Properties: RouteTableId: !Ref VPCBPAPrivateRouteTable DestinationCidrBlock: 0.0.0.0/0 NatGatewayId: !Ref VPCBPANATGateway VPCBPAPrivateSubnetCRoute: Type: AWS::EC2::Route Properties: RouteTableId: !Ref VPCBPAPrivateRouteTable DestinationIpv6CidrBlock: ::/0 EgressOnlyInternetGatewayId: !Ref VPCBPAEgressOnlyInternetGateway VPCBPAPrivateSubnetCRouteTableAssociation: Type: AWS::EC2::SubnetRouteTableAssociation Properties: SubnetId: !Ref VPCBPAPrivateSubnetC RouteTableId: !Ref VPCBPAPrivateRouteTable # EC2 Instances Security Group VPCBPAInstancesSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupName: VPC BPA Instances Security Group GroupDescription: Allow SSH and ICMP access SecurityGroupIngress: - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: 0.0.0.0/0 - IpProtocol: icmp FromPort: -1 ToPort: -1 CidrIp: 0.0.0.0/0 VpcId: !Ref VPCBPA Tags: - Key: Name Value: VPC BPA Instances Security Group # EC2 Instances VPCBPAInstanceA: Type: AWS::EC2::Instance Properties: ImageId: !Ref InstanceAMI InstanceType: t2.micro KeyName: !Ref VPCBPAKeyPair SubnetId: !Ref VPCBPAPublicSubnetA SecurityGroupIds: - !Ref VPCBPAInstancesSecurityGroup Tags: - Key: Name Value: VPC BPA Instance A VPCBPAInstanceB: Type: AWS::EC2::Instance Properties: ImageId: !Ref InstanceAMI InstanceType: !Ref InstanceType KeyName: !Ref VPCBPAKeyPair SubnetId: !Ref VPCBPAPublicSubnetB SecurityGroupIds: - !Ref VPCBPAInstancesSecurityGroup Tags: - Key: Name Value: VPC BPA Instance B VPCBPAInstanceC: Type: AWS::EC2::Instance Properties: ImageId: !Ref InstanceAMI InstanceType: !Ref InstanceType KeyName: !Ref VPCBPAKeyPair SubnetId: !Ref VPCBPAPrivateSubnetC SecurityGroupIds: - !Ref VPCBPAInstancesSecurityGroup Tags: - Key: Name Value: VPC BPA Instance C VPCBPAInstanceD: Type: AWS::EC2::Instance Properties: ImageId: !Ref InstanceAMI InstanceType: !Ref InstanceType KeyName: !Ref VPCBPAKeyPair NetworkInterfaces: - DeviceIndex: '0' GroupSet: - !Ref VPCBPAInstancesSecurityGroup SubnetId: !Ref VPCBPAPrivateSubnetC Ipv6AddressCount: 1 Tags: - Key: Name Value: VPC BPA Instance D # Flow Logs IAM Role VPCBPAFlowLogRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: vpc-flow-logs.amazonaws.com Action: 'sts:AssumeRole' Tags: - Key: Name Value: VPC BPA Flow Logs Role VPCBPAFlowLogPolicy: Type: AWS::IAM::Policy Properties: PolicyName: VPC-BPA-FlowLogsPolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - 'logs:CreateLogGroup' - 'logs:CreateLogStream' - 'logs:PutLogEvents' - 'logs:DescribeLogGroups' - 'logs:DescribeLogStreams' Resource: '*' Roles: - !Ref VPCBPAFlowLogRole # Flow Logs VPCBPAFlowLog: Type: AWS::EC2::FlowLog Properties: ResourceId: !Ref VPCBPA ResourceType: VPC TrafficType: ALL LogDestinationType: cloud-watch-logs LogGroupName: /aws/vpc-flow-logs/VPC-BPA DeliverLogsPermissionArn: !GetAtt VPCBPAFlowLogRole.Arn LogFormat: '${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status} ${vpc-id} ${subnet-id} ${instance-id} ${tcp-flags} ${type} ${pkt-srcaddr} ${pkt-dstaddr} ${region} ${az-id} ${sublocation-type} ${sublocation-id} ${pkt-src-aws-service} ${pkt-dst-aws-service} ${flow-direction} ${traffic-path} ${reject-reason}' Tags: - Key: Name Value: VPC BPA Flow Logs # EC2 Instance Connect Endpoint VPCBPAEC2InstanceConnectEndpoint: Type: AWS::EC2::InstanceConnectEndpoint Properties: SecurityGroupIds: - !Ref VPCBPAInstancesSecurityGroup SubnetId: !Ref VPCBPAPublicSubnetB Outputs: VPCBPAVPCId: Description: A reference to the created VPC Value: !Ref VPCBPA Export: Name: vpc-id VPCBPAPublicSubnetAId: Description: The ID of the public subnet A Value: !Ref VPCBPAPublicSubnetA VPCBPAPublicSubnetAName: Description: The name of the public subnet A Value: VPC BPA Public Subnet A VPCBPAPublicSubnetBId: Description: The ID of the public subnet B Value: !Ref VPCBPAPublicSubnetB VPCBPAPublicSubnetBName: Description: The name of the public subnet B Value: VPC BPA Public Subnet B VPCBPAPrivateSubnetCId: Description: The ID of the private subnet C Value: !Ref VPCBPAPrivateSubnetC VPCBPAPrivateSubnetCName: Description: The name of the private subnet C Value: VPC BPA Private Subnet C VPCBPAInstanceAId: Description: The ID of instance A Value: !Ref VPCBPAInstanceA VPCBPAInstanceBId: Description: The ID of instance B Value: !Ref VPCBPAInstanceB VPCBPAInstanceCId: Description: The ID of instance C Value: !Ref VPCBPAInstanceC VPCBPAInstanceDId: Description: The ID of instance D Value: !Ref VPCBPAInstanceD
AWS Management Console
  1. Abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation/.

  2. Seleccione Crear pila y cargue el archivo de plantilla .yaml.

  3. Siga los pasos para usar la plantilla. Deberá introducir un ID de imagen y un tipo de instancia (como t2.micro). También tendrá que permitir que CloudFormation cree un rol de IAM para crear el registro de flujo y obtener permiso para iniciar sesión en Amazon CloudWatch.

  4. Una vez que haya lanzado la pila, consulte la pestaña Eventos para ver el progreso y asegurarse de que la pila se complete antes de continuar.

AWS CLI
  1. Para crear una pila de CloudFormation, ejecute el siguiente comando:

    aws cloudformation create-stack --stack-name VPC-BPA-stack --template-body file://sampletemplate.yaml --capabilities CAPABILITY_IAM --region us-east-2

    Salida:

    { "StackId": "arn:aws:cloudformation:us-east-2:470889052923:stack/VPC-BPA-stack/8a7a2cc0-8001-11ef-b196-06386a84b72f" }
  2. Consulte el progreso y asegúrese de que la pila se complete antes de continuar:

    aws cloudformation describe-stack-events --stack-name VPC-BPA-stack --region us-east-2

Ver el impacto del BPA de la VPC con el analizador de acceso a la red

En esta sección, utilizará el analizador de acceso a la red para ver los recursos de su cuenta que utilizan la puerta de enlace de Internet. Utilice este análisis para comprender el impacto de activar el BPA de la VPC en su cuenta y bloquear el tráfico.

Para obtener información sobre la disponibilidad regional del analizador de acceso a la red, consulte Limitaciones en la Guía del analizador de acceso a la red.

AWS Management Console
  1. Abra la consola de AWS Network Insights en https://console.aws.amazon.com/networkinsights/.

  2. Seleccione Analizador de acceso a la red.

  3. Seleccione Crear alcance de acceso a la red.

  4. Seleccione Identificar el acceso a o desde las puertas de enlace de Internet y elija Siguiente.

  5. La plantilla ya está configurada para analizar el tráfico hacia y desde las puertas de enlace de Internet de su cuenta. Puede verlo en Origen y Destino.

  6. Elija Siguiente.

  7. Seleccione Crear alcance de acceso a la red.

  8. Elija el alcance que acaba de crear y seleccione Analizar.

  9. Espere a que el análisis finalice.

  10. Visualice los resultados del análisis. Cada fila de la sección Resultados muestra la ruta de red que un paquete puede recorrer en una red hacia o desde una puerta de enlace de Internet de su cuenta. En este caso, si activa el BPA de la VPC y ninguna de las VPC o subredes que aparecen en estos resultados está configurada como exclusión de BPA, se restringirá el tráfico a esas VPC y subredes.

  11. Analice cada resultado para comprender el impacto del BPA en los recursos de sus VPC.

El análisis de impacto está completo.

AWS CLI
  1. Crear un alcance de acceso a la red:

    aws ec2 create-network-insights-access-scope --match-paths "Source={ResourceStatement={ResourceTypes=["AWS::EC2::InternetGateway"]}}" "Destination={ResourceStatement={ResourceTypes=["AWS::EC2::InternetGateway"]}}" --region us-east-2

    Salida:

    { "NetworkInsightsAccessScope": { "NetworkInsightsAccessScopeId": "nis-04cad3c4b3a1d5e3e", "NetworkInsightsAccessScopeArn": "arn:aws:ec2:us-east-2:470889052923:network-insights-access-scope/nis-04cad3c4b3a1d5e3e", "CreatedDate": "2024-09-30T15:55:53.171000+00:00", "UpdatedDate": "2024-09-30T15:55:53.171000+00:00" }, "NetworkInsightsAccessScopeContent": { "NetworkInsightsAccessScopeId": "nis-04cad3c4b3a1d5e3e", "MatchPaths": [ { "Source": { "ResourceStatement": { "ResourceTypes": [ "AWS::EC2::InternetGateway" ] } } }, { "Destination": { "ResourceStatement": { "ResourceTypes": [ "AWS::EC2::InternetGateway" ] } } } ] } }
  2. Comenzar el análisis del alcance:

    aws ec2 start-network-insights-access-scope-analysis --network-insights-access-scope-id nis-04cad3c4b3a1d5e3e --region us-east-2

    Salida:

    { "NetworkInsightsAccessScopeAnalysis": { "NetworkInsightsAccessScopeAnalysisId": "nisa-0aa383a1938f94cd1", "NetworkInsightsAccessScopeAnalysisArn": "arn:aws:ec2:us-east-2:470889052923:network-insights-access-scope-analysis/nisa-0aa383a1938f94cd", "NetworkInsightsAccessScopeId": "nis-04cad3c4b3a1d5e3e", "Status": "running", "StartDate": "2024-09-30T15:56:59.109000+00:00", "AnalyzedEniCount": 0 } }
  3. Obtener los resultados del análisis:

    aws ec2 get-network-insights-access-scope-analysis-findings --network-insights-access-scope-analysis-id nisa-0aa383a1938f94cd1 --region us-east-2 --max-items 1

    Salida:

    { "AnalysisFindings": [ { "NetworkInsightsAccessScopeAnalysisId": "nisa-0aa383a1938f94cd1", "NetworkInsightsAccessScopeId": "nis-04cad3c4b3a1d5e3e", "FindingId": "AnalysisFinding-1", "FindingComponents": [ { "SequenceNumber": 1, "Component": { "Id": "igw-04a5344b4e30486f1", "Arn": "arn:aws:ec2:us-east-2:470889052923:internet-gateway/igw-04a5344b4e30486f1", "Name": "VPC BPA Internet Gateway" }, "OutboundHeader": { "DestinationAddresses": [ "10.0.1.85/32" ] }, "InboundHeader": { "DestinationAddresses": [ "10.0.1.85/32" ], "DestinationPortRanges": [ { "From": 22, "To": 22 } ], "Protocol": "6", "SourceAddresses": [ "0.0.0.0/5", "100.0.0.0/10", "96.0.0.0/6" ], "SourcePortRanges": [ { "From": 0, "To": 65535 } ] }, "Vpc": { "Id": "vpc-0762547ec48b6888d", "Arn": "arn:aws:ec2:us-east-2:470889052923:vpc/vpc-0762547ec48b6888d", "Name": "VPC BPA" } }, { "SequenceNumber": 2, "AclRule": { "Cidr": "0.0.0.0/0", "Egress": false, "Protocol": "all", "RuleAction": "allow", "RuleNumber": 100 }, "Component": { "Id": "acl-06194fc3a4a03040b", "Arn": "arn:aws:ec2:us-east-2:470889052923:network-acl/acl-06194fc3a4a03040b" } }, { "SequenceNumber": 3, "Component": { "Id": "sg-093dde06415d03924", "Arn": "arn:aws:ec2:us-east-2:470889052923:security-group/sg-093dde06415d03924", "Name": "VPC BPA Instances Security Group" }, "SecurityGroupRule": { "Cidr": "0.0.0.0/0", "Direction": "ingress", "PortRange": { "From": 22, "To": 22 }, "Protocol": "tcp" } }, { "SequenceNumber": 4, "AttachedTo": { "Id": "i-058db34f9a0997895", "Arn": "arn:aws:ec2:us-east-2:470889052923:instance/i-058db34f9a0997895", "Name": "VPC BPA Instance A" }, "Component": { "Id": "eni-0fa23f2766f03b286", "Arn": "arn:aws:ec2:us-east-2:470889052923:network-interface/eni-0fa23f2766f03b286" }, "InboundHeader": { "DestinationAddresses": [ "10.0.1.85/32" ], "DestinationPortRanges": [ { "From": 22, "To": 22 } ], "Protocol": "6", "SourceAddresses": [ "0.0.0.0/5", "100.0.0.0/10", "96.0.0.0/6" ], "SourcePortRanges": [ { "From": 0, "To": 65535 } ] }, "Subnet": { "Id": "subnet-035d235a762eeed04", "Arn": "arn:aws:ec2:us-east-2:470889052923:subnet/subnet-035d235a762eeed04", "Name": "VPC BPA Public Subnet A" }, "Vpc": { "Id": "vpc-0762547ec48b6888d", "Arn": "arn:aws:ec2:us-east-2:470889052923:vpc/vpc-0762547ec48b6888d", "Name": "VPC BPA" } } ] } ], "AnalysisStatus": "succeeded", "NetworkInsightsAccessScopeAnalysisId": "nisa-0aa383a1938f94cd1", "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==" }

    Los resultados muestran el tráfico hacia y desde las puertas de enlace de Internet en todas las VPC de su cuenta. Los resultados se organizan como “hallazgos”. “FindingID”: “AnalysisFinding-1” indica que este es el primer resultado del análisis. Tenga en cuenta que hay varios resultados y cada uno indica un flujo de tráfico que se verá afectado por la activación del BPA de la VPC. El primer resultado mostrará que el tráfico comenzó en una puerta de enlace de Internet (“SequenceNumber”: 1), pasó a una NACL (“SequenceNumber”: 2) a un grupo de seguridad (“SequenceNumber”: 3) y terminó en una instancia (“SequenceNumber”: 4).

  4. Analice los resultados para comprender el impacto del BPA en los recursos de sus VPC.

El análisis de impacto está completo.

Escenario 1

En esta sección, para establecer una referencia y garantizar que, antes de activar el BPA, se pueda acceder a todas las instancias, se conectará a todas las instancias y hará ping a una dirección IP pública.

Diagrama de una VPC sin el BPA de la VPC activado:

Diagrama que muestra una VPC sin el BPA activado.

1.1 Conexión a instancias

Complete esta sección para conectarse a sus instancias con el BPA de la VPC desactivado y asegurarse de que puede hacerlo sin problemas. Todas las instancias creadas con CloudFormation para este ejemplo tienen nombres como “Instancia A del BPA de la VPC”.

AWS Management Console
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. Abra los detalles de la instancia A.

  3. Conéctese a la instancia A mediante la opción EC2 Instance Connect > Conexión mediante EC2 Instance Connect.

  4. Elija Conectar. Una vez que se haya conectado correctamente a la instancia, haga ping a www.amazon.com para comprobar que puede enviar las solicitudes salientes a Internet.

  5. Para conectarse a la instancia B, use el mismo método que usó para la A y compruebe si puede hacer ping para enviar solicitudes salientes a Internet.

  6. Conéctese a la instancia C mediante la opción EC2 Instance Connect > Conexión mediante el punto de conexión de EC2 Instance Connect. Debe usar la opción del punto de conexión, ya que las instancias C y D se encuentran en subredes privadas y no tienen direcciones IP públicas:

  7. Para conectarse a la instancia D, use el mismo método que usó para la C y compruebe si puede hacer ping para enviar solicitudes salientes a Internet.

AWS CLI
  1. Haga ping a la instancia A mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 18.225.8.244

    Salida:

    Pinging 18.225.8.244 with 32 bytes of data: Reply from 18.225.8.244: bytes=32 time=51ms TTL=110 Reply from 18.225.8.244: bytes=32 time=61ms TTL=110

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  2. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~_ ####_ Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ / / /m/' Last login: Fri Sep 27 18:27:57 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING www-amazon-com.customer.fastly.net (18.65.233.187) 56(84) bytes of data. 64 bytes from 18.65.233.187 (18.65.233.187): icmp_seq=15 ttl=58 time=2.06 ms 64 bytes from 18.65.233.187 (18.65.233.187): icmp_seq=16 ttl=58 time=2.26 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  3. Haga ping a la instancia B mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 3.18.106.198

    Salida:

    Pinging 3.18.106.198 with 32 bytes of data: Reply from 3.18.106.198: bytes=32 time=83ms TTL=110 Reply from 3.18.106.198: bytes=32 time=54ms TTL=110

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  4. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-08552a0774b5c8f72 --region us-east-2 --connection-type eice

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ / / /m/' Last login: Fri Sep 27 18:12:27 2024 from 3.16.146.5 [ec2-user@ip-10-0-2-98 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=249 time=1.55 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=249 time=1.67 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  5. Conéctese a la instancia C. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ / / /m/' Last login: Thu Sep 19 20:31:26 2024 from 10.0.2.86 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=248 time=1.75 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=248 time=1.97 ms 64 bytes from server-3-160-24-26.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=3 ttl=248 time=1.08 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  6. Conéctese a la instancia D. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2

    Salida:

    The authenticity of host '10.0.3.59 can't be established. ECDSA key fingerprint is SHA256:c4naBCqbC61/cExDyccEproNU+1HHSpMSzl2J6cOtIZA8g. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.3.59' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ _/ _/m/' [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:ee00:7:49a5:5fd4:b121 (2600:9000:25f3:ee00:7:49a5:5fd4:b121)) 56 data bytes 64 bytes from 2600:9000:25f3:ee00:7:49a5:5fd4:b121 (2600:9000:25f3:ee00:7:49a5:5fd4:b121): icmp_seq=1 ttl=58 time=1.19 ms 64 bytes from 2600:9000:25f3:ee00:7:49a5:5fd4:b121 (2600:9000:25f3:ee00:7:49a5:5fd4:b121): icmp_seq=2 ttl=58 time=1.38 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

Escenario 2

En esta sección, activará el BPA de la VPC y bloqueará el tráfico hacia y desde las puertas de enlace de Internet de su cuenta.

Diagrama del modo bidireccional del BPA de la VPC activado:

Diagrama que muestra la VPC con el BPA bidireccional activado.

2.1 Habilitar el modo bidireccional de bloque del BPA de la VPC

Complete esta sección para habilitar el BPA de la VPC.

AWS Management Console
  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación izquierdo, elija Configuración.

  3. Seleccione Editar la configuración del acceso público.

  4. Seleccione Activar el bloqueo del acceso público y Bidireccional y, a continuación, seleccione Guardar cambios.

  5. Espere a que el Estado cambie a Activado. Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

El BPA de la VPC ya está activado.

AWS CLI
  1. Use el comando modify-vpc-block-public-access-options para activar el BPA de la VPC:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-options --internet-gateway-block-mode block-bidirectional

    Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

  2. Ver el estado del BPA de la VPC:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-options

2.2 Conexión a instancias

Complete esta sección para conectarse a sus instancias.

AWS Management Console
  1. Haga ping a la dirección IPv4 pública de las instancias A y B, tal y como hizo en el escenario 1. Advierta que el tráfico está bloqueado.

  2. Conéctese a cada instancia mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com desde allí. Advierta que todo el tráfico de salida está bloqueado.

AWS CLI
  1. Haga ping a la instancia A mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 18.225.8.244

    Salida:

    Pinging 18.225.8.244 with 32 bytes of data: Request timed out.

    Advierta que el ping falla y el tráfico está bloqueado.

  2. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Salida:

    The authenticity of host '10.0.1.85' can't be established. ECDSA key fingerprint is SHA256:3zo/gSss+HAZ+7eTyWlOB/Ke04IM+hadjsoLJeRTWBk. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.1.85' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~_ ####_ Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ / / /m/' Last login: Fri Sep 27 14:16:53 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  3. Haga ping a la instancia B mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 3.18.106.198

    Salida:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Advierta que el ping falla y el tráfico está bloqueado.

  4. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-08552a0774b5c8f72 --region us-east-2 --connection-type eice

    Salida:

    The authenticity of host '10.0.2.98' can't be established. ECDSA key fingerprint is SHA256:0IjXKKyVlDthcCfI0IPIJMUiItAOLYKRNLGTYURnFXo. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.2.98' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ / / /m/' Last login: Fri Sep 27 14:18:16 2024 from 3.16.146.5 [ec2-user@ip-10-0-2-98 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  5. Conéctese a la instancia C. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ / / /m/' Last login: Tue Sep 24 15:17:56 2024 from 10.0.2.86 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  6. Conéctese a la instancia D. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ _/ _/m/' Last login: Fri Sep 27 16:42:01 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:8200:7:49a5:5fd4:b121 (2600:9000:25f3:8200:7:49a5:5fd4:b121)) 56 data bytes

    Advierta que el ping falla y el tráfico está bloqueado.

2.3: Opcional: Verificar que la conectividad esté bloqueada con el analizador de accesibilidad

El analizador de accesibilidad de la VPC se puede utilizar para comprender si se puede acceder o no a determinadas rutas de red según la configuración de la red, incluida la configuración del BPA de la VPC. En este ejemplo, analizará la misma ruta de red que se intentó anteriormente para confirmar que el BPA de la VPC es el motivo por el que falla la conectividad.

AWS Management Console
  1. Vaya a la consola de Network Insights en https://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer.

  2. Haga clic en Crear y analizar la ruta.

  3. Para el Tipo de origen, elija Puertas de enlace de internet y seleccione la puerta de enlace de Internet etiquetada Puerta de enlace de internet del BPA de la VPC en el menú desplegable Origen.

  4. Para el Tipo de destino, elija Instancias y seleccione la instancia etiquetada como Instancia A del BPA de la VPC en el menú desplegable Destino.

  5. Haga clic en Crear y analizar la ruta.

  6. Espere a que el análisis finalice. Puede demorar unos minutos.

  7. Una vez completado, verá que el Estado de accesibilidad es No alcanzable y que los Detalles de la ruta muestran que VPC_BLOCK_PUBLIC_ACCESS_ENABLED es la causa.

AWS CLI
  1. Cree una ruta de red con el ID de la puerta de enlace de Internet con la etiqueta Puerta de enlace de internet del BPA de la VPC y el ID de la instancia con la etiqueta Instancia A del BPA de la VPC:

    aws ec2 --region us-east-2 create-network-insights-path --source igw-id --destination instance-id --protocol TCP
  2. Iniciar un análisis de la ruta de la red:

    aws ec2 --region us-east-2 start-network-insights-analysis --network-insights-path-id nip-id
  3. Recuperar los resultados del análisis:

    aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
  4. Compruebe que VPC_BLOCK_PUBLIC_ACCESS_ENABLED es el ExplanationCode por la falta de accesibilidad.

Escenario 3

En esta sección, cambiará la dirección del tráfico del BPA de la VPC y permitirá solo el tráfico que utilice una puerta de enlace NAT o una puerta de enlace de Internet de solo salida.

Diagrama del modo de solo ingreso del BPA de la VPC activado:

Diagrama que muestra una VPC con el BPA de solo entrada habilitado.

3.1 Cambiar el modo al de solo entrada

Complete esta sección para cambiar el modo.

AWS Management Console
  1. Modifique la configuración de acceso público en la consola de la VPC y cambie la dirección a Solo entrada.

  2. Guarde los cambios y espere a que se actualice el estado. Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

AWS CLI
  1. Modifique el modo del BPA de la VPC:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-options --internet-gateway-block-mode block-ingress

    Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

  2. Ver el estado del BPA de la VPC:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-options

3.2 Conexión a instancias

Complete esta sección para conectarse a las instancias.

AWS Management Console
  1. Haga ping a la dirección IPv4 pública de las instancias A y B, tal y como hizo en el escenario 1. Advierta que el tráfico está bloqueado.

  2. Conéctese a las instancias A y B mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com desde allí. Advierta que no puede hacer ping a un sitio público de Internet desde las instancias A o B, ya que el tráfico está bloqueado.

  3. Conéctese a las instancias C y D mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com desde allí. Advierta que puede hacer ping a un sitio público de Internet desde la instancia C o D y que el tráfico está permitido.

AWS CLI
  1. Haga ping a la instancia A mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 18.225.8.244

    Salida:

    Pinging 18.225.8.244 with 32 bytes of data: Request timed out.

    Advierta que el ping falla y el tráfico está bloqueado.

  2. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Salida:

    The authenticity of host '10.0.1.85' can't be established. ECDSA key fingerprint is SHA256:3zo/gSss+HAZ+7eTyWlOB/Ke04IM+hadjsoLJeRTWBk. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.1.85' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~_ ####_ Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ / / /m/' Last login: Fri Sep 27 14:16:53 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  3. Haga ping a la instancia B mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 3.18.106.198

    Salida:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Advierta que el ping falla y el tráfico está bloqueado.

  4. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-08552a0774b5c8f72 --region us-east-2 --connection-type eice

    Salida:

    The authenticity of host '10.0.2.98 ' can't be established. ECDSA key fingerprint is SHA256:0IjXKKyVlDthcCfI0IPIJMUiItAOLYKRNLGTYURnFXo. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.2.98' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ / /m/' Last login: Fri Sep 27 14:18:16 2024 from 3.16.146.5 [ec2-user@ip-10-0-2-98 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  5. Conéctese a la instancia C. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2 A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Tue Sep 24 15:28:09 2024 from 10.0.2.86 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=248 time=1.84 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=248 time=1.40 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  6. Conéctese a la instancia D. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2 A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 16:48:38 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:5800:7:49a5:5fd4:b121 (2600:9000:25f3:5800:7:49a5:5fd4:b121)) 56 data bytes 64 bytes from 2600:9000:25f3:5800:7:49a5:5fd4:b121 (2600:9000:25f3:5800:7:49a5:5fd4:b121): icmp_seq=14 ttl=58 time=1.47 ms 64 bytes from 2600:9000:25f3:5800:7:49a5:5fd4:b121 (2600:9000:25f3:5800:7:49a5:5fd4:b121): icmp_seq=16 ttl=58 time=1.59 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

Escenario 4

En esta sección, creará una exclusión y solo bloqueará el tráfico hacia y desde la subred que no esté excluido del BPA de la VPC. Una exclusión de BPA de la VPC es un modo que se puede aplicar a una sola VPC o subred, lo que la exime del modo BPA de la cuenta y permitirá el acceso bidireccional o solo de salida. Puede crear exclusiones de BPA para las VPC y las subredes incluso cuando el BPA no esté habilitado en la cuenta para garantizar que las exclusiones no interrumpan el tráfico cuando el BPA de la VPC está activado.

En este ejemplo, crearemos una exclusión para la subred A para mostrar cómo afecta el BPA de la VPC al tráfico a las exclusiones.

Diagrama del modo de solo entrada del BPA de la VPC activado y de la exclusión de la subred A con el modo bidireccional activado:

Diagrama que muestra la VPC con BPA de solo entrada con una exclusión.

4.1 Crear una exclusión para la subred A

Complete esta sección para crear una exclusión. Una exclusión de BPA de la VPC es un modo que se puede aplicar a una sola VPC o subred, lo que la exime del modo BPA de la cuenta y permitirá el acceso bidireccional o solo de salida. Puede crear exclusiones de BPA para las VPC y las subredes incluso cuando el BPA no esté habilitado en la cuenta para garantizar que las exclusiones no interrumpan el tráfico cuando el BPA de la VPC está activado.

AWS Management Console
  1. En la pestaña Bloquear el acceso público, en Exclusiones, seleccione Crear exclusiones.

  2. Seleccione Subred pública A del BPA de la VPC, asegúrese de que esté seleccionada la opción de dirección Bidireccional permitida y elija Crear exclusiones.

  3. Espere a que el Estado de exclusión cambie a Activo. Puede que tenga que actualizar la tabla de exclusión para ver el cambio.

Se ha creado la exclusión.

AWS CLI
  1. Modifique la dirección permitida de la exclusión:

    aws ec2 --region us-east-2 create-vpc-block-public-access-exclusion --subnet-id subnet-id --internet-gateway-exclusion-mode allow-bidirectional
  2. El estado de exclusión puede tardar un tiempo en actualizarse. Para ver el estado de la exclusión:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-exclusions --exclusion-ids exclusion-id

4.2 Conexión a instancias

Complete esta sección para conectarse a las instancias.

AWS Management Console
  1. Haga ping a la dirección IPv4 pública de la instancia A. Advierta que el tráfico está permitido.

  2. Haga ping a la dirección IPv4 pública de la instancia B. Advierta que el tráfico está bloqueado.

  3. Conéctese a la instancia A mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com. Advierta que puede hacer ping a un sitio público de Internet desde la instancia A. El tráfico está permitido.

  4. Conéctese a la instancia B mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com desde allí. Advierta que no puede hacer ping a un sitio público de Internet desde la instancia B. El tráfico está bloqueado.

  5. Conéctese a las instancias C y D mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com desde allí. Advierta que puede hacer ping a un sitio público de Internet desde la instancia C o D. El tráfico está permitido.

AWS CLI
  1. Haga ping a la instancia A mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 18.225.8.244

    Salida:

    Pinging 18.225.8.244 with 32 bytes of data: Reply from 18.225.8.244: bytes=32 time=51ms TTL=110 Reply from 18.225.8.244: bytes=32 time=61ms TTL=110

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  2. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~_ ####_ Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ / / /m/' Last login: Fri Sep 27 17:58:12 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=249 time=1.03 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=249 time=1.72 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  3. Haga ping a la instancia B mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 3.18.106.198

    Salida:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Advierta que el ping falla y el tráfico está bloqueado.

  4. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-08552a0774b5c8f72 --region us-east-2 --connection-type eice

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ / /m/' Last login: Fri Sep 27 18:12:03 2024 from 3.16.146.5 [ec2-user@ip-10-0-2-98 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  5. Conéctese a la instancia C. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2

    Salida

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ / /m/' Last login: Tue Sep 24 15:28:09 2024 from 10.0.2.86 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=248 time=1.84 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=248 time=1.40 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  6. Conéctese a la instancia D. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2

    Salida

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:00:52 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(g2600-141f-4000-059a-0000-0000-0000-3bd4.deploy.static.akamaitechnologies.com (2600:141f:4000:59a::3bd4)) 56 data bytes 64 bytes from g2600-141f-4000-059a-0000-0000-0000-3bd4.deploy.static.akamaitechnologies.com (2600:141f:4000:59a::3bd4): icmp_seq=1 ttl=48 time=15.9 ms 64 bytes from g2600-141f-4000-059a-0000-0000-0000-3bd4.deploy.static.akamaitechnologies.com (2600:141f:4000:59a::3bd4): icmp_seq=2 ttl=48 time=15.8 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

4.3: Opcional: Verificar la conectividad con el analizador de accesibilidad

Con la misma ruta de red creada en el analizador de accesibilidad en el escenario 2, ahora puede ejecutar un nuevo análisis y confirmar que se puede acceder a la ruta ahora que se ha creado una exclusión para la subred pública A.

Para obtener información sobre la disponibilidad regional del Analizador de accesibilidad, consulte Consideraciones en la Guía del Analizador de accesibilidad.

AWS Management Console
  1. En la ruta de red que creó anteriormente en la consola de Network Insights, haga clic en Volver a ejecutar el análisis.

  2. Espere a que el análisis finalice. Esta operación puede tardar varios minutos.

  3. Confirme que ahora la ruta está Accesible.

AWS CLI
  1. Con el ID de ruta de red creado anteriormente, inicie un nuevo análisis:

    aws ec2 --region us-east-2 start-network-insights-analysis --network-insights-path-id nip-id
  2. Recuperar los resultados del análisis:

    aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
  3. Confirme que el código de explicación VPC_BLOCK_PUBLIC_ACCESS_ENABLED ya no está presente.

Escenario 5

En esta sección, cambiará la dirección del tráfico permitida en la exclusión para ver cómo afecta al BPA de la VPC. Advierta que el modo de solo salida para una exclusión no es realmente significativo con el BPA de la VPC habilitado en el modo de solo entrada por bloques. Es el mismo comportamiento que el del escenario 3.

Diagrama del modo de solo entrada del BPA de la VPC activado y de la exclusión de la subred A con el modo de solo salida activado:

Diagrama que muestra la VPC con el BPA en modo de solo entrada, lo que permite el tráfico saliente a través de la puerta de enlace NAT.

5.1 Cambiar la dirección permitida de la exclusión a solo salida

Complete esta sección para cambiar la dirección de la exclusión permitida.

AWS Management Console
  1. Edite la exclusión que creó en el escenario 4 y cambie la dirección permitida a Solo salida.

  2. Elija Guardar cambios.

  3. Espere a que el Estado de exclusión cambie a Activo. Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado. Puede que tenga que actualizar la tabla de exclusión para ver el cambio.

AWS CLI
  1. Modifique la dirección permitida de la exclusión:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-exclusion --exclusion-id exclusion-id --internet-gateway-exclusion-mode allow-egress

    Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

  2. El estado de exclusión puede tardar un tiempo en actualizarse. Para ver el estado de la exclusión:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-exclusion

5.2 Conexión a instancias

Complete esta sección para conectarse a las instancias.

AWS Management Console
  1. Haga ping a la dirección IPv4 pública de las instancias A y B. Advierta que el tráfico está bloqueado.

  2. Conéctese a la instancia A y B mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com. Advierta que no puede hacer ping a un sitio público de Internet desde la instancia A o B. El tráfico está bloqueado.

  3. Conéctese a las instancias C y D mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com desde allí. Advierta que puede hacer ping a un sitio público de Internet desde la instancia C o D. El tráfico está permitido.

AWS CLI
  1. Haga ping a la instancia A mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 18.225.8.244

    Salida:

    Pinging 18.225.8.244 with 32 bytes of data: Request timed out.

    Advierta que el ping falla y el tráfico está bloqueado.

  2. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:09:55 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  3. Haga ping a la instancia B mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 3.18.106.198

    Salida:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Advierta que el ping falla y el tráfico está bloqueado.

  4. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:09:55 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  5. Conéctese a la instancia C. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2 A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:00:31 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:a600:7:49a5:5fd4:b121 (2600:9000:25f3:a600:7:49a5:5fd4:b121)) 56 data bytes 64 bytes from 2600:9000:25f3:a600:7:49a5:5fd4:b121 (2600:9000:25f3:a600:7:49a5:5fd4:b121): icmp_seq=1 ttl=58 time=1.51 ms 64 bytes from 2600:9000:25f3:a600:7:49a5:5fd4:b121 (2600:9000:25f3:a600:7:49a5:5fd4:b121): icmp_seq=2 ttl=58 time=1.49 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

  6. Conéctese a la instancia D. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2 A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:13:55 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2606:2cc0::374 (2606:2cc0::374)) 56 data bytes 64 bytes from 2606:2cc0::374 (2606:2cc0::374): icmp_seq=1 ttl=58 time=1.21 ms 64 bytes from 2606:2cc0::374 (2606:2cc0::374): icmp_seq=2 ttl=58 time=1.51 ms

    Advierta que el ping se ha realizado correctamente y que el tráfico no está bloqueado.

Escenario 6

En esta sección, cambiará la dirección del bloque de BPA de la VPC para ver cómo afecta al tráfico. En este escenario, el BPA de la VPC habilitado en modo bidireccional bloquea todo el tráfico igual que en el escenario 1. A menos que una exclusión tenga acceso a una puerta de enlace NAT o a una puerta de enlace de Internet de solo salida, el tráfico se bloquea.

Diagrama del modo bidireccional del BPA de la VPC activado y de la exclusión de subred A con el modo de solo salida activado:

Diagrama que muestra la VPC con el BPA en modo de solo entrada, lo que permite el tráfico saliente a través de la puerta de enlace NAT

6.1 Cambiar el BPA de la VPC al modo bidireccional

Complete esta sección para cambiar el modo del BPA.

AWS Management Console
  1. Seleccione Editar la configuración del acceso público.

  2. Cambie la dirección del bloque a Bidireccional y, a continuación, seleccione Guardar cambios.

  3. Espere a que el Estado cambie a Activado. Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

AWS CLI
  1. Modifique la dirección del bloqueo del BPA de la VPC:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-options --internet-gateway-block-mode block-bidirectional

    Las configuraciones del BPA pueden tardar unos minutos en aplicarse y en que se actualice el estado.

  2. Ver el estado del BPA de la VPC:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-options

6.2 Conexión a instancias

Complete esta sección para conectarse a las instancias.

AWS Management Console
  1. Haga ping a la dirección IPv4 pública de las instancias A y B. Advierta que el tráfico está bloqueado.

  2. Conéctese a la instancia A y B mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com. Advierta que no puede hacer ping a un sitio público de Internet desde la instancia A o B. El tráfico está bloqueado.

  3. Conéctese a las instancias C y D mediante EC2 Instance Connect como lo hizo en el escenario 1 y haga ping a www.amazon.com desde allí. Advierta que no puede hacer ping a un sitio público de Internet desde la instancia C o D. El tráfico está bloqueado.

AWS CLI
  1. Haga ping a la instancia A mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 18.225.8.244

    Salida:

    Pinging 18.225.8.244 with 32 bytes of data: Request timed out.

    Advierta que el ping falla y el tráfico está bloqueado.

  2. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:17:44 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  3. Haga ping a la instancia A mediante la dirección IPv4 pública para comprobar el tráfico entrante:

    ping 3.18.106.198

    Salida:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Advierta que el ping falla y el tráfico está bloqueado.

  4. Utilice la dirección IPv4 privada para conectarse y comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Salida:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:09:55 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Advierta que el ping falla y el tráfico está bloqueado.

  5. Conéctese a la instancia C. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2 A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:19:45 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:6200:7:49a5:5fd4:b121 (2600:9000:25f3:6200:7:49a5:5fd4:b121)) 56 data bytes

    Advierta que el ping falla y el tráfico está bloqueado.

  6. Conéctese a la instancia D. Como no hay una dirección IP pública a la que hacer ping, utilice EC2 Instance Connect para conectarse y, a continuación, haga ping a una IP pública desde la instancia para comprobar el tráfico saliente:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2 A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:20:58 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:b400:7:49a5:5fd4:b121 (2600:9000:25f3:b400:7:49a5:5fd4:b121)) 56 data bytes

    Advierta que el ping falla y el tráfico está bloqueado.

Limpieza

En esta sección, eliminará todos los recursos que ha creado para este ejemplo avanzado. Es importante limpiar los recursos para evitar cargos adicionales excesivos por los recursos creados en su cuenta.

Eliminar los recursos de CloudFormation

Complete esta sección para eliminar los recursos que ha creado con la plantilla AWS CloudFormation.

AWS Management Console
  1. Abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation/.

  2. Elija la pila del BPA de la VPC.

  3. Elija Eliminar.

  4. Cuando empiece a eliminar la pila, consulte la pestaña Eventos para ver el progreso y asegurarse de que la pila se haya eliminado. Puede que deba forzar la eliminación de la pila para que se elimine por completo.

AWS CLI
  1. Crear la pila de CloudFormation. Puede que deba forzar la eliminación de la pila para que se elimine por completo.

    aws cloudformation delete-stack --stack-name VPC-BPA-stack --region us-east-2
  2. Verifique el progreso y asegúrese de que la pila se ha eliminado.

    aws cloudformation describe-stack-events --stack-name VPC-BPA-stack --region us-east-2

Seguimiento de la eliminación de la exclusión con AWS CloudTrail

Complete esta sección para realizar un seguimiento de la eliminación de exclusiones con AWS CloudTrail. Las entradas de CloudTrail aparecen al eliminar una exclusión.

AWS Management Console

Para ver las exclusiones eliminadas en el historial de eventos de CloudTrail, consulte Tipo de recurso > AWS::EC2::VPCBlockPublicAccessExclusion en la consola de AWSCloudTrail en https://console.aws.amazon.com/cloudtrailv2/.

AWS CLI

Puede usar el comando lookup-events para ver los eventos relacionados con la eliminación de exclusiones:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceType,AttributeValue=AWS::EC2::VPCBlockPublicAccessExclusion

El ejemplo avanzado está completo.