Sobre o projeto
Linux Hardener é uma ferramenta abrangente de automação de segurança para sistemas Linux, escrita em Rust. Ela verifica hosts em busca de configurações incorretas de segurança, aplica correções de endurecimento e suporta reversão completa por meio de checkpoints assinados. Cada alteração é capturada em snapshot antes de ser feita, portanto `hardener rollback` restaura o host ao estado anterior.
A ferramenta é distribuída como um único binário de CLI e um aplicativo desktop construído com Tauri e um frontend Leptos/WASM. Oito plugins de endurecimento cobrem parâmetros de kernel, configuração SSH, regras de firewall, autenticação PAM, minimização de serviços, regras de auditoria, permissões de arquivos e sistemas MAC (SELinux/AppArmor). As descobertas são mapeadas para dez estruturas de conformidade: CIS, STIG, NIST 800-53, PCI-DSS, HIPAA, GDPR, ISO/IEC 27001:2022, SOC 2, NIST SP 800-171 Rev 3 e FedRAMP. Controles que o mecanismo não consegue avaliar são relatados como necessitando revisão manual, em vez de assumidos como aprovados.
O suporte a distribuições é baseado em famílias, cobrindo Debian, Ubuntu, Fedora, RHEL, Arch Linux e openSUSE. A ferramenta lê as camadas `/etc` e `/usr/etc` no openSUSE e lida com a configuração drop-in do SSH para preservar as linhas `Include` do fornecedor. Uma imagem Docker com base `FROM scratch` permite auditoria somente leitura sem modificação do host.
Os principais recursos incluem: reversão baseada em checkpoint com armazenamento SQLite assinado por Ed25519, um registro de auditoria encadeado por hash, exceções de política com datas de validade, exclusões de escopo para controles não aplicáveis, verificação agendada via daemon ou timer systemd e operações de frota via SSH com verificação e aplicação em lote concorrentes. O aplicativo desktop fornece um painel com pontuações de segurança, visualizações de conformidade por estrutura, descobertas agrupadas por gravidade e uma interface de aplicação em frota com pré-visualização em etapas.
A configuração é carregada de quatro fontes em ordem: `/etc/linux-hardener/config.toml`, configuração do usuário (ignorada sob root), flag `--config` e variáveis de ambiente `HARDENER_*`. A ferramenta distingue entre `scan` (somente leitura, sem necessidade de root), `apply --dry-run` (pré-visualizar alterações) e `apply` (executar alterações). Operações em lote usam dry-run por padrão e exigem `--execute` para fazer alterações.
O projeto inclui 2343 testes aprovados, uma suíte entre distribuições que aplica e reverte em seis contêineres iniciados e uma suíte diferencial que compara hosts antes e depois da aplicação por meio de um oráculo independente. O código-fonte é organizado em crates de domínio para plugins, conformidade, agendador, núcleo, estado e detecção de distribuição, com crates de fundação compartilhados para utilitários comuns e tipos seguros para WASM.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.