FAQ
O Implant funciona em qualquer distribuicao Linux?
Suporta oficialmente Ubuntu 20.04+, Debian 10+, CentOS 7+ e Rocky Linux 8+. Outras distros baseadas em RHEL ou Debian podem funcionar, mas nao sao testadas.
O Implant precisa de acesso root?
Sim. As verificacoes e correcoes envolvem configuracao de SSH, firewall, kernel parameters e Docker, que requerem privilegios de root.
O que acontece se eu rodar `check` sem `--auto-fix`?
Nada e alterado. Sem --auto-fix o check e estritamente leitura: nao grava arquivo, nao instala pacote, nao reinicia servico e nao baixa binario. Cada item mede o valor efetivo do host (por exemplo sshd -T e sysctl -n), e nao a presenca de um arquivo do Implant. Com -o json, os achados trazem risk (high, medium, low) quando ha severidade definida.
O `--dry-run` modifica algo no sistema?
Nao. O --dry-run simula as acoes e mostra o que SERIA feito, sem aplicar nenhuma mudanca. Vale para check --auto-fix, self-update e para os comandos granulares (sysctl, swap, rate-limit, ban, geo-block, firewall etc.).
Desde a v2.59.0, os poucos subcomandos que mudam o host e nao sabem simular (por exemplo geo-block service install e firewall-restore install) recusam o --dry-run e nao fazem nada, em vez de executar. A lista esta em Troubleshooting.
Posso escolher quais modulos executar?
Sim. Use --modules para selecionar:
# Apenas Docker
implant check --auto-fix --modules docker
# Multiplos modulos
implant check --auto-fix --modules fundamentals,hardeningModulos aceitos: fundamentals, hardening, docker, network, monitoring, traefik (access log do Traefik), agent e nodejs.
Posso aplicar so uma parte do hardening, sem rodar o `check` inteiro?
Sim. Cada area tem comando proprio com apply/revert/status: `sysctl`, `swap`, `limits`, `logrotate`, `docker-limits`, `fail2ban` e `harden-network`. Para desfazer, use o revert do comando ou `implant reset`.
O Implant muda a porta SSH?
Nao automaticamente. O check --auto-fix apenas reporta a porta atual. Para mudar, use `implant ssh-port`:
implant ssh-port 2222 # libera a porta no firewall, troca e agenda o watchdog
implant ssh-port --confirm-change # confirma (cancela a reversao automatica)Sem confirmacao em 5 minutos, o watchdog volta a porta anterior.
O Implant desliga o login por senha no SSH?
Nao. PasswordAuthentication yes e PermitRootLogin yes aparecem no check como Fail de risco alto, mas nao sao corrigidos pelo auto-fix: desligar isso por efeito colateral poderia trancar o operador fora do servidor.
Como atualizo o Implant?
implant self-updateOu forcando reinstalacao:
implant self-update --forceO que e o init.sh?
E o instalador: detecta a arquitetura, baixa o binario e a assinatura .minisig, verifica a assinatura minisign e so entao instala em /opt/implant/ com symlink em /usr/local/bin/implant. Ele nao roda nenhum check.
curl -sL https://implant.ccs.systems/init.sh | sudo bashO Implant faz rollback automatico?
Depende da operacao:
- Porta SSH: watchdog reverte em 5 minutos sem
--confirm-change; snapshots para `ssh-rollback`. - Restricoes com TTL (lockdown,
ssh-service,emergency-mode,emergency-disabledos comandos granulares): o estado volta sozinho quando o TTL vence, viasystemd-run(veja Lockdown / Deadman). - Firewall:
iptables snapshot/restoreefirewall-restore install --confirm-timeout N. - Correcoes do
check: cada area pode ser revertida com `implant reset` ou com orevertdo comando granular.
Posso usar o Implant para instalar outros binarios?
Sim. O comando `install` instala componentes opcionais:
| App | Comando | Descricao |
|---|---|---|
| node | implant install node |
Node.js (via NVM) |
| claude-code | implant install claude-code |
Claude Code CLI (requer Node.js) |
| sysinfo | implant install sysinfo |
Monitoramento de sistema |
| backupally | implant install backupally |
Sistema de backup |
| container | implant install container |
Runtime de containers |
| deployally | implant install deployally |
Gerenciamento de deploys |
| runner | implant install runner |
Execucao de CI/CD |
Nenhum deles e necessario para o Implant funcionar. Veja Integracoes.
O Implant funciona em ARM64?
Sim. O Implant detecta a arquitetura automaticamente (x86_64 ou aarch64) e baixa o binario correto. Ambos sao compilados com static musl, sem dependencia de glibc.
Como funciona a seguranca dos downloads?
Duas camadas:
- TLS Certificate Pinning (SPKI): os pins dos dominios oficiais de distribuicao sao embutidos no binario em tempo de compilacao. Se o certificado nao corresponder (ex: MITM), a conexao e bloqueada.
- Assinatura minisign (Ed25519): cada release publica
implant.minisig. Oinit.shexige assinatura valida. Noself-update, nos dominios oficiais a assinatura invalida aborta e a ausente gerawarn(o pin prova a origem); em qualquer host sem pin embutido (--url, CDN proprio) a assinatura valida e obrigatoria.
Posso apontar o Implant para minha propria infraestrutura?
Sim, sem recompilar. Em /etc/protocolo-implant/config.toml, a secao [endpoints] define o CDN, o guard-rail e o catalogo de apps, e [[tls_pins]] declara pins SPKI dos seus hosts. Hosts sem pin usam validacao WebPKI padrao e exigem .minisig valida para binarios.
O Implant envia relatorios para algum servidor?
Nao. Toda saida e local: stdout (human, json, yaml) ou arquivo. Se voce usa um agente de gerenciamento remoto, e ele quem coleta a saida do Implant.
O Implant trava na instalacao de pacotes?
Nao. O Implant suspende o needrestart durante a instalacao de pacotes, evitando prompts interativos. Apos a instalacao, o comportamento padrao e restaurado.
E se o apt estiver travado?
O Implant lida com isso automaticamente:
- unattended-upgrades: Para o servico antes de instalar pacotes
- Processos apt antigos: Mata processos
apt/dpkgcom mais de 30 minutos de execucao - Timeout: Cada operacao apt tem timeout de 120 segundos
Se o problema persistir, veja Troubleshooting.
O que e o guard-rail?
E um arquivo CLAUDE.md de regras de operacao para um usuario dedicado ao Claude Code (criado por `setup-claude-code`). O `update-guardrail` baixa a versao publicada:
- So HTTPS e so do host autorizado (padrao: o CDN do Implant, configuravel em
[endpoints]) - TLS Pinning no download
- Atualizacao automatica por cron (desligavel com
--no-auto-updateno setup)
Posso usar K3s em vez de Docker?
Sim. Use a flag --cluster-mode k3s para instalar e configurar K3s como runtime de containers em vez de Docker:
implant check --auto-fix --cluster-mode k3sPara trocar depois, use `implant reconfigure`.
O Implant gerencia VPN?
Sim. `implant wireguard` instala e opera a VPN WireGuard do servidor (inclusive abrindo a porta UDP no firewall de forma persistente) e cadastra devices, devolvendo .conf e QR code.
Como bano ou desbano um IP?
implant ban 203.0.113.10 --ttl 24h --reason "scanner"
implant ban test 203.0.113.10
implant unban 203.0.113.10O ban vai para o ipset central e vale na INPUT e na DOCKER-USER; o unban desfaz no ipset, no fail2ban e no UFW. Veja ban.