Sobre o projeto

cnspec é um projeto de segurança e políticas de código aberto, nativo da nuvem, da Mondoo. Ele avalia a segurança e conformidade de toda a sua infraestrutura, encontrando vulnerabilidades e configurações incorretas em nuvens públicas e privadas, clusters Kubernetes, contêineres, registros de contêineres, servidores, endpoints, produtos SaaS, infraestrutura como código, APIs e muito mais. Construído sobre a malha de dados de segurança da Mondoo, o cnspec usa um motor de políticas como código e vem com políticas de segurança padrão que funcionam imediatamente. É rápido e simples de usar. ## Início Rápido Instale o cnspec e execute uma varredura local: ```bash bash -c "$(curl -sSL https://install.mondoo.com/sh)" cnspec scan local ``` ## Instalação - **Linux e macOS**: Use o script de instalação acima. - **Windows**: Use o instalador PowerShell fornecido no README. - Instalação manual: Baixe pacotes da página de [releases](https://github.com/mondoohq/cnspec/releases). ## Varredura Use `cnspec scan` para verificar alvos locais e remotos quanto a configurações incorretas e vulnerabilidades. ### Varredura Local ```bash cnspec scan local ``` ### Alvos Remotos Exemplos: ```bash # Imagem Docker cnspec scan docker image ubuntu:22.04 # Conta AWS (usa configuração local da CLI AWS) cnspec scan aws # Cluster Kubernetes (via config kubectl ou manifesto) cnspec scan k8s cnspec scan k8s manifest.yaml # Repositório GitHub cnspec scan github repo <org/repo> ``` ## Varredura de Vulnerabilidades O cnspec verifica vulnerabilidades em muitas plataformas, não apenas imagens de contêineres. Funciona para ambientes de build e runtime. A varredura de vulnerabilidades requer login na Plataforma Mondoo. Exemplos: ```bash cnspec vuln docker debian:12 cnspec vuln aws ec2 instance-connect root@i-1234567890abcdef0 cnspec vuln ssh user@host cnspec vuln local ``` Plataformas suportadas incluem Alpine, AlmaLinux, Amazon Linux, Arch, CentOS, Debian, Fedora, openSUSE, Oracle Linux, Photon, RHEL, Rocky, SUSE, Ubuntu, VMware vSphere ESXi e Windows. ## Shell Interativo O cnspec fornece um shell interativo para explorar asserções e escrever políticas: ```bash cnspec shell local ``` Use `help` para listar recursos e auto-completar para exploração. Exemplo de asserção: ```coffeescript > ports.listening.none( port == 23 ) ``` ## Integração com a Plataforma Mondoo O cnspec pode integrar com a plataforma unificada de segurança Mondoo para priorizar riscos. Registre-se com um token: ```bash cnspec login --token TOKEN cnspec scan <target> ``` Envie políticas personalizadas: ```bash cnspec bundle upload mypolicy.mql.yaml ``` ## Políticas Personalizadas Políticas são arquivos YAML que expressam regras de segurança. Exemplos na pasta `examples`. Execute uma política personalizada: ```bash cnspec scan local -f examples/example.mql.yaml ``` ## Alvos Suportados O cnspec suporta uma ampla gama de alvos, incluindo: - **Provedores de nuvem**: AWS, Azure, GCP, Alibaba Cloud, DigitalOcean, Hetzner, etc. - **Kubernetes e contêineres**: k8s, Docker, registros de contêineres, Helm, Kustomize. - **Aplicações SaaS**: GitHub, GitLab, Atlassian, Auth0, Cloudflare, Datadog, Dropbox, Grafana, etc. - **Bancos de dados**: MySQL, MongoDB, Cassandra, Elasticsearch, ClickHouse, etc. - **Dispositivos de rede**: Cisco, Arista, Juniper, FortiOS, MikroTik, etc. - **Sistemas operacionais**: Linux, macOS, Windows, VMware ESXi. - **Infraestrutura como código**: Terraform, CloudFormation, Bicep, Ansible, etc. Para uma lista completa, veja a tabela no README. ## Documentação Mais detalhes na [documentação do cnspec](https://mondoo.com/docs/cnspec).