InfraFenceInfraFence

Live Security Operations

Inizia

Riferimento dei comandi

Tutti i comandi del binario infrafence-agent: preflight, version, check, register, start, uninstall --clean e i comandi panel usati dai plugin per WHM e Plesk.

Ultimo aggiornamento:

Il binario dell'agente è /usr/local/bin/infrafence-agent. Esegui i suoi comandi come root.

preflight

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

Il controllo in sola lettura del server: firewall, altri strumenti di sicurezza, web server, pannelli di hosting, gestione della configurazione, operazioni sui pacchetti e risorse. Non modifica nulla. Senza --json esce con stato 2 quando un rilevamento impedisce la protezione, 0 altrimenti. Vedi Cosa fa l'installer.

version

bash
infrafence-agent version

Stampa la versione installata, infrafence-agent v<version>. --version e -v fanno lo stesso. Richiede l'agente 1.0.34 o successivo; con un agente più vecchio la versione la stampa anche infrafence-agent check.

check

bash
infrafence-agent check

L'autotest usato dagli aggiornamenti e dallo script di ripristino: stampa infrafence-agent v<version> OK ed esce con 0.

register

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

Registra il server e scrive /etc/infrafence/config.json. L'installer lo esegue per te; ti serve solo dopo install.sh --install-only, per esempio:

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

Se va a buon fine stampa Agent registered successfully; in caso di errore Registration failed: seguito dalla risposta della dashboard.

start

bash
infrafence-agent start

Esegue l'agente in primo piano. È il comando che esegue il servizio; non ti serve lanciarlo a mano. Senza un file di configurazione si ferma con Run 'infrafence-agent register' first.

uninstall --clean

bash
sudo infrafence-agent uninstall --clean

Rimuove tutto ciò che l'agente ha aggiunto al sistema (catene e set del firewall, modifiche al web server e di hardening) e stampa una riga removed … per ogni elemento, poi InfraFence changes removed from this host. Non rimuove il binario né il servizio: install.sh --uninstall fa tutto. Vedi Disinstallazione.

panel

bash
sudo infrafence-agent panel status --json

L'interfaccia dei plugin per i pannelli di hosting: un oggetto JSON sullo standard output, {"ok": true, …} oppure {"ok": false, "error": "<code>", "message": "…"}, e stato di uscita 0 solo quando ok. Solo root.

Comando Cosa fa
status Versione, stato di esecuzione, ultimo heartbeat, connessione, piano, AutoMode, e se il plugin può mostrare dati (entitled, entitlement).
bans [--limit N] Ban attivi con motivo, origine e scadenza.
unban <ip> --actor <user> Rimuove un ban solo su questo server, per al massimo 30 giorni.
allow <ip> [--note …] --actor <user> Aggiunge un indirizzo alla whitelist.
allowlist La whitelist, dal pannello e dalla dashboard.
disallow <ip> --actor <user> Rimuove un indirizzo aggiunto dal pannello.
findings [--limit N] Rilevamenti di malware e di integrità dei file, ognuno aperto o risolto.
events [--limit N] [--since 24h] Eventi recenti; i problemi, aperti o risolti.
coexistence Altri strumenti di sicurezza trovati, e cosa fa InfraFence accanto a ciascuno.
sites Account, domini e document root, con la copertura della scansione.
scan <document root> --actor <user> Avvia una scansione malware di un sito.
map [--hours N] Da dove sono arrivati gli attacchi a questo server, per paese e tipo di attacco, nelle ultime 24 ore (--hours 24, il valore predefinito) o negli ultimi 7 giorni (--hours 168).
score Il punteggio di sicurezza del server, il voto, cosa gli toglie punti e l'andamento in 30 giorni.

I comandi che modificano qualcosa richiedono --actor, e l'agente li segnala alla dashboard come eventi con origine panel. Il comando parla con l'agente in esecuzione tramite /run/infrafence/panel.sock (solo root, permessi 0600, nessuna porta di rete in ascolto). Senza un agente in esecuzione, status, coexistence e sites rispondono comunque; gli altri restituiscono agent_not_running. Vedi Pannelli di hosting.

map e score richiedono l'agente 1.0.33 o successivo. Li calcola la dashboard; l'agente glieli chiede al massimo ogni 5 minuti per una mappa e ogni 15 minuti per il punteggio, e tiene la risposta. Quando la dashboard non risponde, l'agente restituisce l'ultima copia con "stale": true, oppure not_connected se non ne ha.

Solo piani a pagamento (agente 1.0.34 o successivo). I plugin sono inclusi nei piani Basic, Pro e AutoMode. status risponde sempre, con entitled (true o false) ed entitlement:

entitlement Quando
ok Il piano è Basic, Pro o AutoMode, e la protezione non è disattivata.
plan_required Un altro piano, per esempio Starter.
unpaid La protezione è disattivata: la dashboard ha rifiutato il server per 24 ore, per esempio perché l'abbonamento non è attivo.
unknown Il piano non è ancora noto: l'agente non si è sincronizzato da quando è stato installato o aggiornato.

Quando non è ok, ogni altro comando risponde solo con un errore con lo stesso codice (plan_required, unpaid o unknown), senza dati, e non cambia nulla: unban, allow, disallow e scan vengono rifiutati. L'agente tiene il piano dell'ultima sincronizzazione riuscita anche dopo un riavvio e lo usa finché la dashboard non è raggiungibile, così un'interruzione non svuota il plugin. Il controllo vale solo per le risposte: non cambia mai la protezione del server.

Aperto o risolto (agente 1.0.34 o successivo). In events e findings, ogni problema (una porta di database esposta, un file di sistema modificato, un'impostazione PHP rischiosa, un malware...) ha un subject, la chiave di ciò che riguarda (port:tcp/3306, file:/etc/passwd...), e uno state, open o resolved, con resolved_at e resolved_how (port_closed, fix_applied, quarantined, package_updated, marked_expected, marked_resolved...). Gli eventi che non sono problemi, come attacchi e scansioni, hanno state null. Un problema si risolve nella dashboard, oppure lo risolve l'agente stesso quando l'ha sistemato; una nuova occorrenza torna aperta. Vedi Problemi aperti e risolti.