Clair para segurança de containers
Dados de vulnerabilidades são continuamente importados de um conjunto conhecido de fontes com conteúdos indexados de imagens de containers para produzir listas de pontos fracos que podem ser uma ameaça à segurança. Quando esses dados fazem alterações upstream, o antigo e o novo estado da vulnerabilidade e as imagens afetadas podem ser enviados via webhook para um endpoint configurado. Todos os principais componentes podem ser personalizados de modo programático no momento da compilação, sem a necessidade de ramificar o projeto. Clair oferece suporte à segurança de containers porque:
- Atualiza dados de vulnerabilidade a partir de um conjunto de fontes definidas por você e os armazena em um banco de dados próprio.
- Permite que clientes consultem, por meio de uma API, esse banco de dados para pesquisar vulnerabilidades em imagens específicas.
- Indexa, por meio de uma API, imagens de containers com uma lista de funcionalidades presentes nelas.
Como Clair funciona
O Clair verifica todas as camadas dos containers e emite notificações sobre as vulnerabilidades que podem representar uma ameaça. Essa verificação é feita com base no banco de dados de vulnerabilidades e exposições comuns (CVE) e outros bancos de dados semelhantes da Red Hat ®, do Ubuntu e do Debian. Como as camadas podem ser compartilhadas entre muitos containers, a introspecção é essencial na criação de um inventário de pacotes e na comparação destes com os dados em CVEs conhecidos.
O Clair também introduziu a compatibilidade com gerenciadores de pacotes de linguagem de programação, começando pelo Python, e uma nova API orientada a imagens.
A detecção automática de vulnerabilidades ajuda as equipes de desenvolvimento e operações a ficarem mais alertas e definirem práticas recomendadas de segurança, além de provocar ações voltadas à aplicação de patches e ao combate de vulnerabilidades. Quando novas vulnerabilidades são anunciadas, sem nem mesmo precisar fazer novas verificações, o Clair imediatamente determina quais camadas existentes são vulneráveis e envia as notificações.
Por exemplo, o bug CVE-2014-0160, famoso pelo nome "Heartbleed", já é conhecido há algum tempo. No entanto, a verificação de segurança do Red Hat Quay constatou que ele ainda é uma ameaça em potencial para uma grande porcentagem das imagens de containers que os usuários armazenaram no Quay.
Convém observar que geralmente determinadas condições devem ocorrer para que as vulnerabilidades sejam exploradas. Por exemplo, o Heartbleed é uma ameaça importante somente quando o pacote OpenSSL vulnerável está instalado e em uso. Clair não é a ferramenta adequada para esse nível de análise e, portanto, as equipes precisam fazer investigações mais profundas conforme o necessário.
Clair e Kubernetes
Clair faz parte do projeto open source Project Quay. Nossa plataforma de Kubernetes, o Red Hat OpenShift®, pode utilizar o Clair na segurança de containers por meio de um operador do Kubernetes chamado Container Security Operator, que é um componente do Red Hat Quay. Por sua vez, o Red Hat Quay é uma plataforma open source de registro de imagens de containers que permite criar, distribuir e implantar containers em datacenters do mundo todo, com foco em ambientes e modelos de desenvolvimento nativo em nuvem e de DevSecOps.
Com o Quay Container Security Operator, que vem incluído no Red Hat OpenShift, você pode aumentar a segurança de seus repositórios de imagens com sistemas de automação, autenticação e autorização. O Red Hat Quay é oferecido como parte do Red Hat OpenShift ou como um componente independente.
Nossos consultores podem ajudar
Como a Red Hat pode ajudar?
Como parte do nosso compromisso com as comunidades open source, a Red Hat continuará participando do desenvolvimento do Project Quay como membro da Cloud Native Computing Foundation.
A Red Hat faz contribuições significativas à engenharia de novas funcionalidades para o Clair e o Project Quay. Também operamos um dos principais bancos de dados de vulnerabilidades usados pelo Clair. Além disso, a Red Hat executa a maior instalação do Clair por meio do quay.io, que serve como um ambiente de teste de cargas reais.