Visão geral
Clair é um projeto open source que oferece uma ferramenta para monitorar a segurança dos seus containers por meio da análise estática de vulnerabilidades em containers appc e docker. O Clair é um mecanismo de análise baseado em API que inspeciona cada camada dos containers em busca de falhas de segurança conhecidas. Ao usar o Clair, você pode criar facilmente serviços que oferecem monitoramento contínuo de vulnerabilidades em containers.
Clair para segurança de containers
Os dados de vulnerabilidade são importados de forma contínua de um conjunto conhecido de fontes e correlacionados com o conteúdo indexado de imagens de containers, a fim de produzir listas de vulnerabilidades que ameaçam um determinado container. Quando os dados da vulnerabilidade mudam no upstream, o novo estado e o anterior, juntamente com as imagens que eles afetam, podem ser enviados por webhook para um endpoint configurado. Todos os principais componentes podem ser personalizados de maneira programática no tempo de compilação sem bifurcar o projeto. O Clair oferece suporte à segurança de containers ao:
- Atualizar dados de vulnerabilidade de um conjunto de fontes definidas por você e armazenar esses dados no banco de dados dele
- Permitir que os clientes consultem esse banco de dados em busca de vulnerabilidades de imagens específicas usando uma API
- Indexar imagens de container com uma lista de funcionalidades presentes na imagem pelo uso de uma API
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 suporte para gerenciadores de pacotes de linguagens de programação, começando com Python, e uma nova API orientada a imagens.
A detecção automática de vulnerabilidades ajudará a aumentar a conscientização e as práticas recomendadas de segurança nas equipes de desenvolvimento e operações, além de incentivar ações para aplicar patch e resolver essas vulnerabilidades. Quando novas vulnerabilidades são anunciadas, o Clair fica sabendo imediatamente, sem precisar realizar outra verificação, quais camadas existentes estão vulneráveis e as notificações são enviadas.
Por exemplo, o CVE-2014-0160, ou "Heartbleed", já é conhecido há algum tempo, mas a varredura de segurança do Red Hat Quay descobriu que ele ainda é uma possível ameaça para uma grande parcela das imagens de container armazenadas por usuários no Quay.
Observe que as vulnerabilidades geralmente dependem de condições específicas para serem exploradas. Por exemplo, o Heartbleed só é considerado uma ameaça se o pacote OpenSSL vulnerável estiver instalado e sendo usado. O Clair não é adequado para esse nível de análise e as equipes ainda deveriam realizar análises mais profundas conforme 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.
O Quay Container Security Operator, que se integra ao Red Hat OpenShift, permite aumentar a segurança dos seus repositórios de imagens com sistemas de automação, autenticação e autorização. O Red Hat Quay é oferecido com o Red Hat OpenShift ou como componente autônomo.
O Red Hat OpenShift Service on AWS (ROSA) pode compilar imagens a partir do seu código-fonte, implantá-las e gerenciar o ciclo de vida delas. Ele oferece um registro de imagem de container interno e integrado que pode ser implantado no seu ambiente ROSA para gerenciar imagens localmente. O Quay.io, uma instância pública do Red Hat Quay Container Registry disponibilizada e mantida pela Red Hat, atende à maioria das imagens de container e operadores de clusters ROSA. O Red Hat Quay está disponível como serviço hospedado e como um software que você pode instalar no seu próprio data center ou ambiente de nuvem. As funcionalidades avançadas do Red Hat Quay incluem replicação geográfica, digitalização de imagens e capacidade de reverter imagens. Essas funções incluem a utilização do Clair como parte da configuração geral do OpenShift.
Nossos consultores podem ajudar
Como a Red Hat pode ajudar?
Como parte do compromisso da Red Hat com as comunidades open source, vamos continuar participando do desenvolvimento do Project Quay como membro da Cloud Native Computing Foundation.
A Red Hat faz contribuições significativas para a engenharia de novas funcionalidades do Clair e do Project Quay. A Red Hat também administra 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.