Filtrar


Questões por página:
Considere a seguinte situação hipotética:

Uma equipe de desenvolvedores está convertendo uma aplicação monolítica para uma arquitetura baseada em microsserviços implantada em Kubernetes. Atualmente, os serviços se comunicam livremente dentro do cluster porque estão na mesma rede interna. Um dos desenvolvedores argumenta que, por estarem “dentro da rede corporativa”, não é necessário implementar autenticação mútua entre os serviços, apenas autenticação na API Gateway externa.
Durante uma revisão de segurança, verificou-se que, caso um único pod seja comprometido, um atacante poderia se movimentar lateralmente e acessar outras aplicações internas.

Considerando o modelo Zero Trust, assinale a alternativa que representa a ação CORRETA que a equipe deve implementar para prevenir o risco descrito: 
Considere a seguinte situação hipotética:
Uma equipe de desenvolvedores é responsável por uma API Node.js utilizada em todas as aplicações da organização. Essa API utiliza diversas dependências do Node Package Manager (NPM), incluindo bibliotecas populares para autenticação e manipulação de dados.
Durante a execução automática da esteira de CI/CD, uma nova versão (minor) de uma dependência amplamente utilizada é instalada automaticamente após um npm install, pois o package.json está configurado com " ^ ". Horas depois, a equipe de segurança cibernética notifica que essa nova versão foi comprometida por um ataque à cadeia de suprimentos, contendo código malicioso que exfiltra variáveis de ambiente.
Sua equipe não possui política formal de versionamento fixo (version pinning) nem processo estruturado de verificação de integridade de dependências para o projeto da API.
A equipe deve adotar medida(s) para prevenir riscos relacionados à cadeia de suprimentos de software.

Assinale a alternativa que representa a decisão MAIS ADERENTE às recomendações da OWASP TOP 10: 
Considere a seguinte situação hipotética:
Uma equipe de engenharia DevOps está implantando uma aplicação web em um cluster Kubernetes, utilizando objetos do tipo Deployment para garantir alta disponibilidade e atualização controlada da aplicação.
Imagem associada para resolução da questão
Durante a implantação, foi utilizado o seguinte manifesto Kubernetes:

Considerando os conceitos de Pods, Deployments e exposição de aplicações em Kubernetes, analise as afirmativas a seguir.
I. A partir do campo replicas: 3, o Kubernetes deverá manter três Pods derivados do template especificado em spec.template, cada um executando um contêiner com a imagem nginx:1.25.
II. O campo selector.matchLabels determina quais Pods pertencem ao Deployment, devendo corresponder aos rótulos definidos em spec.template.metadata.labels.
III. A definição containerPort: 80 faz com que o Kubernetes crie automaticamente um Service para permitir acesso externo à aplicação.
IV. O Deployment gerencia a execução dos Pods por meio de ReplicaSets, responsáveis por garantir que o número desejado de réplicas esteja em execução.
V. No Kubernetes, contêineres podem ser executados diretamente nos nós do cluster, sem necessidade de encapsulamento em Pods.

Assinale a alternativa CORRETA:
Considere a seguinte situação hipotética:

Uma equipe de engenharia DevOps está implementando o processo de implantação automatizada de uma aplicação web como parte de um pipeline de entrega contínua. A aplicação é executada em um ambiente “conteinerizado”, composto por uma stack de serviços formada por um servidor NGINX, responsável pelo atendimento das requisições HTTP, um serviço PHP-FPM, que executa a lógica da aplicação, bem como por um banco de dados MySQL, responsável pela persistência das informações.
A orquestração desses componentes está sendo realizada por meio de um arquivo dockercompose.yml, no qual cada serviço é executado em um contêiner distinto.
Durante testes de inicialização do ambiente, a equipe observou que, em algumas execuções do comando docker compose up, o contêiner da aplicação tenta estabelecer conexão com o banco de dados antes que o serviço MySQL esteja completamente pronto para aceitar conexões, ocasionando falhas temporárias durante o bootstrap da aplicação.
Considere o trecho do arquivo docker-compose.yml utilizado pela equipe:

Fonte: dados do elaborador
Imagem associada para resolução da questão
Considerando o funcionamento do Docker Compose, bem como as boas práticas relacionadas à inicialização de serviços, resiliência de contêineres e gerenciamento seguro de credenciais, analise as afirmativas a seguir.

I. A diretiva depends_on presente no serviço app garante a ordem de inicialização dos contêineres, mas não assegura que o banco de dados esteja completamente pronto para aceitar conexões.
II. A utilização da variável ${MYSQL_ROOT_PASSWORD} no arquivo docker-compose.yml elimina os riscos de exposição de credenciais, sendo considerada equivalente ao uso de Docker Secrets em termos de segurança.
III. A política restart: on-failure definida no serviço app permite que o contêiner seja reiniciado automaticamente caso o processo principal termine com erro, contribuindo para a resiliência da aplicação em cenários de falhas transitórias.
IV. O uso de Docker Secrets é geralmente considerado mais seguro que variáveis de ambiente para armazenamento de credenciais sensíveis, pois os segredos podem ser gerenciados separadamente da configuração da aplicação e não ficam expostos diretamente no ambiente do contêiner.
V. A definição de um healthcheck no serviço db permite verificar periodicamente se o banco MySQL está operacional e possibilita identificar quando o serviço está efetivamente pronto para receber conexões.

Assinale a alternativa CORRETA:
Em arquiteturas modernas baseadas em contêineres, aplicações web frequentemente são executadas em múltiplos serviços isolados. Um padrão comum consiste em utilizar NGINX como servidor web e proxy reverso, encaminhando requisições PHP para um contêiner que executa PHP-FPM, enquanto o banco de dados MySQL é executado em outro contêiner dentro da mesma rede Docker.
Considere o seguinte Dockerfile, utilizado para construir a imagem da aplicação PHP:
Imagem associada para resolução da questão
Considere ainda que o contêiner do NGINX está configurado para encaminhar requisições PHP ao serviço php na porta 9000, por meio de FastCGI, em uma rede Docker compartilhada.
Com base nos conceitos de contêineres Docker, comunicação entre serviços, volumes persistentes e boas práticas de construção de imagens, analise as afirmativas a seguir.

I. A instrução EXPOSE 9000 documenta a porta utilizada pelo contêiner e indica que o serviço escuta nessa porta, mas não publica automaticamente essa porta no host.
II. A comunicação entre os contêineres NGINX e PHP-FPM ocorre diretamente pelo nome do serviço (por exemplo, fastcgi_pass php:9000), desde que ambos estejam conectados à mesma rede Docker.
III. A declaração VOLUME ["/var/www/html/uploads"] permite que dados gerados pela aplicação, como arquivos enviados por usuários, sejam persistidos independentemente do ciclo de vida do contêiner.
IV. Para que o serviço php-fpm seja acessível a partir de outro contêiner na mesma rede Docker, é obrigatório que a porta seja publicada no host, utilizando a opção -p ou a diretiva ports no Docker Compose.
V. A instrução CMD ["php-fpm"] define o processo principal do contêiner, responsável por manter o contêiner em execução e processar requisições FastCGI encaminhadas pelo servidor NGINX.

Assinale a alternativa CORRETA: