Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

301
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda