Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

302
Vistas
AWS CLI Encuentra todos los grupos de seguridad que contienen una regla que permite todo el tráfico de todas las fuentes

Encontré algunas preguntas similares aquí, pero ninguna que respondiera específicamente a esta pregunta. Tengo varios grupos de seguridad que tienen reglas que permiten todo el tráfico de todas las direcciones IP de origen. Me gustaría inventar un comando CLI simple que los tome por mí.

Después de buscar en algunas fuentes, pensé con seguridad que este comando funcionaría:

 $ aws ec2 describe-security-groups --filters "Name=ip-permission.protocol,Values=-1" --query 'SecurityGroups[?length(IpPermissions[?IpProtocol==`-1` && contains(IpRanges[].CidrIp, `0.0.0.0/0`)]) > `0`]' []

Sin embargo, esto devuelve una lista vacía. De hecho, reducirlo a solo la primera condición de la consulta devuelve una lista vacía

 $ aws ec2 describe-security-groups --filters "Name=ip-permission.protocol,Values=-1" --query 'SecurityGroups[?length(IpPermissions[?IpProtocol==`-1`]) > `0`]' []

aunque sacar la consulta anterior (que pensé que coincide con el filtro) devuelve varios grupos de seguridad:

 aws ec2 describe-security-groups --filters "Name=ip-permission.protocol,Values=-1" [sg-1, sg-2, sg-3 ...]

¿Qué no estoy entendiendo? Gracias por adelantado.

ACTUALIZAR

Esta nueva consulta está más cerca . Está recuperando cada grupo de seguridad que tiene una regla que permite todos los protocolos y una regla que permite el tráfico de todas las direcciones IP. Sin embargo, los grupos de seguridad que se están recuperando actualmente no tienen explícitamente esas dos condiciones en la misma regla que me gustaría.

 aws ec2 describe-security-groups --filters "Name=ip-permission.protocol,Values=-1" --query "SecurityGroups[?IpPermissions[?IpProtocol == '-1']] | [?length(IpPermissions[?contains(IpRanges[].CidrIp, `0.0.0.0/0`)]) > `0`]"

Además, creo que sería útil mostrar el objeto JSON para aquellos que no estén familiarizados con su estructura. Puede encontrarlo en esta página hacia la parte inferior.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Resulta que mi comando original en realidad estaba muy cerca. Saqué la lógica con la función length() y ahora funciona.

 aws ec2 describe-security-groups --filters "Name=ip-permission.protocol,Values=-1" --query "SecurityGroups[?IpPermissions[?IpProtocol == '-1' && contains(IpRanges[].CidrIp,'0.0.0.0/0')]].GroupId"

Espero que esto ayude a alguien en el futuro.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede hacer esto a través de aws ec2, pero ¿por qué no usar Trusted Advisor , que ya verifica si hay grupos de seguridad defectuosos?

También puede acceder a sus comprobaciones a través de la CLI mediante el comando describe-trusted-advisor-check-summaries .

Estos cheques son gratuitos para todas las cuentas.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda