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,hardening

Modulos 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-update

Ou forcando reinstalacao:

implant self-update --force

O 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 bash

O 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-disable dos comandos granulares): o estado volta sozinho quando o TTL vence, via systemd-run (veja Lockdown / Deadman).
  • Firewall: iptables snapshot/restore e firewall-restore install --confirm-timeout N.
  • Correcoes do check: cada area pode ser revertida com `implant reset` ou com o revert do 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:

  1. 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.
  2. Assinatura minisign (Ed25519): cada release publica implant.minisig. O init.sh exige assinatura valida. No self-update, nos dominios oficiais a assinatura invalida aborta e a ausente gera warn (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:

  1. unattended-upgrades: Para o servico antes de instalar pacotes
  2. Processos apt antigos: Mata processos apt/dpkg com mais de 30 minutos de execucao
  3. 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-update no 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 k3s

Para 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.10

O 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.