InfraFenceInfraFence

Live Security Operations

Começar

Referência de comandos

Todos os comandos do binário infrafence-agent - preflight, version, check, register, start, uninstall --clean e os comandos panel usados pelos plugins para WHM e Plesk.

Última atualização:

O binário do agente é /usr/local/bin/infrafence-agent. Execute os comandos como root.

preflight

bash
sudo infrafence-agent preflight
sudo infrafence-agent preflight --json

A verificação somente leitura do servidor: firewall, outras ferramentas de segurança, servidores web, painéis de hospedagem, gerenciamento de configuração, operações de pacotes e recursos. Não altera nada. Sem --json, sai com status 2 quando uma constatação impede a proteção, e 0 caso contrário. Veja O que o instalador faz.

version

bash
infrafence-agent version

Imprime a versão instalada, infrafence-agent v<version>. --version e -v fazem o mesmo. Precisa do agente 1.0.34 ou posterior; em um agente mais antigo, infrafence-agent check também imprime a versão.

check

bash
infrafence-agent check

O autoteste usado pelas atualizações e pelo script de recuperação: imprime infrafence-agent v<version> OK e sai com 0.

register

bash
sudo infrafence-agent register <server_url> <agent_name> <install_token>

Registra o servidor e grava /etc/infrafence/config.json. O instalador o executa para você; você só precisa dele depois de install.sh --install-only, por exemplo:

bash
sudo infrafence-agent register https://infrafence.com web-01 <YOUR_TOKEN>
sudo systemctl start infrafence-agent

Em caso de sucesso, imprime Agent registered successfully; em caso de falha, Registration failed: seguido da resposta do painel.

start

bash
infrafence-agent start

Executa o agente em primeiro plano. O serviço executa este comando; você não precisa dele manualmente. Sem um arquivo de configuração, ele para com Run 'infrafence-agent register' first.

uninstall --clean

bash
sudo infrafence-agent uninstall --clean

Remove tudo o que o agente adicionou ao sistema (cadeias e sets do firewall, alterações no servidor web e de hardening) e imprime uma linha removed … por item, depois InfraFence changes removed from this host. Não remove o binário nem o serviço: install.sh --uninstall faz tudo isso. Veja Desinstalar.

panel

bash
sudo infrafence-agent panel status --json

A interface dos plugins para painéis de hospedagem: um objeto JSON na saída padrão, {"ok": true, …} ou {"ok": false, "error": "<code>", "message": "…"}, e status de saída 0 apenas quando ok. Somente root.

Comando O que faz
status Versão, estado de execução, último heartbeat, conexão, plano, AutoMode, e se o plugin pode mostrar dados (entitled, entitlement).
bans [--limit N] Banimentos ativos com motivo, origem e expiração.
unban <ip> --actor <user> Remove um banimento só neste servidor, por no máximo 30 dias.
allow <ip> [--note …] --actor <user> Adiciona um endereço à whitelist.
allowlist A whitelist, do painel de hospedagem e do painel InfraFence.
disallow <ip> --actor <user> Remove um endereço que o painel de hospedagem adicionou.
findings [--limit N] Detecções de malware e de integridade de arquivos, cada uma aberta ou resolvida.
events [--limit N] [--since 24h] Eventos recentes; os problemas, abertos ou resolvidos.
coexistence Outras ferramentas de segurança encontradas, e o que o InfraFence faz ao lado de cada uma.
sites Contas, domínios e document roots, com a cobertura das varreduras.
scan <document root> --actor <user> Inicia uma varredura de malware de um site.
map [--hours N] De onde vieram os ataques a este servidor, por país e tipo de ataque, nas últimas 24 horas (--hours 24, o padrão) ou nos últimos 7 dias (--hours 168).
score A pontuação de segurança do servidor, a nota, o que tira pontos dela e a evolução em 30 dias.

Os comandos que alteram algo exigem --actor, e o agente os reporta ao painel como eventos com origem panel. O comando conversa com o agente em execução por /run/infrafence/panel.sock (somente root, modo 0600, sem listener de rede). Sem um agente em execução, status, coexistence e sites ainda respondem; os outros retornam agent_not_running. Veja Painéis de hospedagem.

map e score precisam do agente 1.0.33 ou posterior. Quem os calcula é o painel InfraFence; o agente pergunta no máximo a cada 5 minutos por um mapa e a cada 15 minutos pela pontuação, e guarda a resposta. Quando o painel InfraFence não responde, o agente devolve a última cópia com "stale": true, ou not_connected quando não tem nenhuma.

Só planos pagos (agente 1.0.34 ou posterior). Os plugins estão incluídos nos planos Basic, Pro e AutoMode. status sempre responde, com entitled (true ou false) e entitlement:

entitlement Quando
ok O plano é Basic, Pro ou AutoMode, e a proteção não está desligada.
plan_required Outro plano, como o Starter.
unpaid A proteção está desligada: o painel InfraFence recusou o servidor por 24 horas, por exemplo porque a assinatura não está ativa.
unknown O plano ainda não é conhecido: o agente não sincronizou desde que foi instalado ou atualizado.

Quando não é ok, todos os outros comandos respondem só com um erro com o mesmo código (plan_required, unpaid ou unknown), sem dados, e não alteram nada: unban, allow, disallow e scan são recusados. O agente guarda o plano da última sincronização bem-sucedida mesmo depois de reiniciar e o usa enquanto o painel InfraFence não responde, então uma queda não esvazia o plugin. A verificação vale só para as respostas: nunca altera a proteção do servidor.

Aberto ou resolvido (agente 1.0.34 ou posterior). Em events e findings, cada problema (uma porta de banco de dados exposta, um arquivo do sistema alterado, uma configuração de PHP arriscada, um malware...) tem um subject, a chave do que ele trata (port:tcp/3306, file:/etc/passwd...), e um state, open ou resolved, com resolved_at e resolved_how (port_closed, fix_applied, quarantined, package_updated, marked_expected, marked_resolved...). Eventos que não são problemas, como ataques e varreduras, têm state null. Um problema é resolvido no painel InfraFence, ou pelo próprio agente quando ele o corrigiu; uma nova ocorrência volta a ficar aberta. Veja Problemas abertos e resolvidos.