Arquitetura
Visao Geral
O Implant e um binario unico escrito em Rust que executa verificacoes de conformidade em servidores Linux.
┌─────────────────────────────────────────────────────────┐
│ IMPLANT CLI │
├─────────────────────────────────────────────────────────┤
│ │
│ main.rs │
│ ├── check ──────────────► Modulos de Verificacao │
│ ├── ssh-key ────────────► SSH Key Management │
│ ├── install ────────────► Apps do Ecossistema │
│ ├── setup-claudecode ──► Usuario Claude Code │
│ ├── update-guardrail ──► Guard-rail CLAUDE.md │
│ └── self-update ───────► Auto-atualizacao │
│ │
├─────────────────────────────────────────────────────────┤
│ MODULOS │
│ │
│ fundamentals.rs │ SSH, NTP, timezone, locale, swap │
│ hardening.rs │ Fail2Ban, kernel, servicos │
│ docker.rs │ Engine, Compose, networks, logs │
│ network.rs │ DNS, conectividade, portas │
│ monitoring.rs │ Logrotate, journald │
│ ssh_key.rs │ authorized_keys management │
│ apps.rs │ DeployAlly, Runner, Claude Code │
│ claudecode.rs │ Setup usuario dedicado │
│ guardrail.rs │ Guard-rail management │
│ │
├─────────────────────────────────────────────────────────┤
│ INFRAESTRUTURA │
│ │
│ executor.rs │ Execucao de comandos (dry-run) │
│ config.rs │ Configuracao │
│ report.rs │ Relatorio de conformidade │
│ system.rs │ Deteccao de distro/versao │
│ │
└─────────────────────────────────────────────────────────┘Fluxo de Execucao
Comando `check`
1. Detectar distro e versao
2. Para cada modulo habilitado:
a. Executar verificacoes
b. Se --auto-fix: aplicar correcoes
c. Registrar resultado no relatorio
3. Gerar relatorio finalCommandExecutor
Todas as operacoes passam pelo CommandExecutor que:
- Em modo normal: executa o comando
- Em modo
--dry-run: apenas loga o que SERIA executado - Em modo
--verbose: mostra output detalhado
Distribuicao
GitOps
O Implant usa GitOps para distribuicao via CDN:
Build local (cargo build --release)
│
▼
Commit binario em dev
│
▼
Merge dev → main + tag vX.Y.Z
│
▼
GitHub Release (ZIP com binario)
│
▼
GitOps processa release
│
▼
Upload para B2 (CDN)
│
▼
Disponivel em https://implant.ccs.systems/implantSelf-Update
O binario se atualiza baixando a versao mais recente do CDN e substituindo a si mesmo.
Tecnologias
| Componente | Tecnologia |
|---|---|
| Linguagem | Rust (Edition 2021) |
| Runtime | Tokio (async) |
| CLI | Clap v4 |
| HTTP | Reqwest |
| Serialization | Serde JSON |
| Logging | Tracing |
| Output | Colored |