Protegendo contêineres e operações multinuvem

Views: 263
0 0
Read Time:5 Minute, 5 Second

Por Robert Masterson | Senior Partner Marketing Manager da Thales

A transição para aplicativos nativos em nuvem está mudando os fundamentos da TI. O desenvolvimento e a manutenção de infraestrutura e aplicativos internamente simplesmente não são mais uma opção em muitos casos. O desenvolvimento de aplicativos nativos em nuvem e o uso de contêineres e frameworks de orquestração como o Kubernetes oferecem vantagens inegáveis em desempenho, portabilidade e escala.

No entanto, é evidente para as equipes de segurança que a superfície de ataque possível aumentou como resultado. A implantação sob demanda em grande escala de recursos de TI em uma mistura de nuvens públicas e privadas significa que vulnerabilidades ou explorações de segurança muitas vezes podem passar despercebidas. Saber quem e o que pode ser confiável é uma luta constante, já que códigos maliciosos, conexões não confiáveis e configurações incorretas levam a um único resultado – mais risco.

Vários mecanismos ajudam as equipes de aplicativos e segurança a mitigar esses riscos, mas a identidade está no cerne. Identificar todos os “objetos” (por exemplo, cargas de trabalho, serviços, código) em todas as nuvens ou redes, verificar a integridade e criptografar as conexões de ponta a ponta é metade da batalha. Duas funções críticas que tornam isso possível são a aplicação de assinaturas e autenticação de confiança, ambas das quais podem ser realizadas por meio do uso de certificados X.509.

Assine tudo

Os desenvolvedores sempre devem assinar digitalmente o código para proteger os usuários finais contra o download e instalação de código comprometido. A assinatura de código garante que a aplicação não possa ser modificada por um usuário não autorizado e fornece alta garantia de que apenas código autêntico desenvolvido e examinado pelo fornecedor será executado. Uma vez que o software é empacotado em contêineres para implantação na nuvem, os contêineres também podem ser assinados. Por exemplo, o Docker suporta a assinatura de contêineres para permitir a verificação da integridade e do editor.

Recomendamos ambos os níveis de assinatura. Se o aplicativo for assinado, mas o contêiner não for, então um usuário mal-intencionado poderia potencialmente executar outro código malicioso no contêiner, além do código legítimo. A aplicação de assinaturas é sem dúvida necessária, mas ainda mais importante é a proteção dos certificados – e suas chaves privadas associadas – usadas para assinar. Se essas chaves forem comprometidas, os invasores podem usá-las para assinar código malicioso, tornando-o autêntico e confiável da mesma forma que seu software.

O Keyfactor Code Assure é projetado especificamente para resolver esses problemas. A plataforma fornece aos desenvolvedores acesso programático a certificados para assinar código, enquanto a equipe de segurança mantém um rastreamento rigoroso de todas as atividades de assinatura e garante que as chaves privadas permaneçam seguras em um HSM Thales integrado. Armazenar as chaves privadas em um HSM Thales compatível com FIPS 140-2 Nível 3 – seja local ou baseado em nuvem – garante que, mesmo que alguém tenha acesso ao local, eles não possam extrair ou copiar o certificado.

É importante notar que a assinatura pode ser feita remotamente, eliminando a necessidade de distribuir chaves sensíveis para múltiplas equipes ou locais. O Provedor de Armazenamento Criptográfico (CSP) e as APIs do Keyfactor permitem a integração em praticamente qualquer pipeline CI/CD ou processo de construção, seja você usando o Microsoft SignTool para executáveis Windows, jarsigner para autenticação Java ou uma ferramenta mais complexa como o Jenkins.

Estabeleça identidades seguras para tudo

Uma prática recomendada é garantir que cada conexão para, de ou dentro de um contêiner ou cluster use SSL/TLS para permitir autenticação mútua e criptografia de ponta a ponta. Isso impede que adversários não autorizados façam uma conexão que possa comprometer a segurança de um contêiner ou cluster inteiro. Também é importante monitorar e auditar os certificados SSL/TLS emitidos e ativos. Certificados desconhecidos, clandestinos ou não compatíveis podem resultar em uma interrupção inesperada ou, pior, uso indevido que permite acesso não intencional a sistemas restritos.

Por exemplo, o Kubernetes pode gerar e emitir certificados por conta própria, mas a maioria descobre que ele não fornece a visibilidade necessária para garantir que os certificados não tenham sido emitidos de forma inadequada. No entanto, o Kubernetes também suporta o protocolo ACME, que pode ser usado para obter certificados de outras fontes, como Let’s Encrypt. Esse protocolo se integra ao Keyfactor ACME Server e é incluído como parte do Keyfactor Command (nossa plataforma de PKI como serviço e automação de certificados) para obter certificados de qualquer PKI compatível com a empresa, seja pública ou privada, configurada na plataforma Keyfactor. Isso permite a emissão segura e automática de um certificado de identidade único e confiável para cada contêiner na implantação. Isso é feito com um sólido controle de acesso baseado em função para diferentes modelos ou produtos de certificado, juntamente com extensas capacidades de fluxo de trabalho, auditoria e alerta, para proporcionar a tranquilidade de que nenhum certificado está sendo emitido ou usado quando não deveria.

Os certificados emitidos para contêineres devem ter uma vida curta para limitar o número de certificados não expirados ativos em qualquer momento, o que muitas vezes pode exceder milhares. Isso ajudará a reduzir o risco de comprometimento e diminuir o impacto se um certificado for roubado, já que ele expirará em breve de qualquer maneira. No entanto, o certificado que não pode ser de curta duração também é o mais importante – o certificado da Autoridade Certificadora (CA) em si.

Assim como a assinatura de código, garantir as ACs que emitem os certificados é crítico. Se uma AC for comprometida, os invasores podem emitir suas próprias identidades que serão confiadas por padrão em todo o ecossistema de uma organização, e isso pode ser extremamente custoso para remediar, pois invalida efetivamente todas as identidades emitidas por essa AC. A plataforma Keyfactor Command, integrada aos HSMs Thales para proteger certificados e chaves de AC, garante proteção robusta e total visibilidade, aplicação de políticas e automação para todos os certificados.

Esse artigo tem informações retiradas do blog da Thales. A Neotel é parceira da Thales e, para mais informações sobre as soluções e serviços da empresa, entre em contato com a gente.

POSTS RELACIONADOS