InfraFenceInfraFence

Live Security Operations

Inizia

Cosa fa l'installer

Ogni passaggio di install.sh di InfraFence, il controllo preflight in sola lettura eseguito prima di qualsiasi modifica e il dry run che mostra il piano senza toccare il server.

Ultimo aggiornamento:

InfraFence è pensato per i server di produzione: l'installer controlla il server in sola lettura prima di cambiare qualsiasi cosa, e lascia stare ciò che non può modificare in sicurezza.

I passaggi

  1. Token e root. Senza --token su un server non ancora registrato si ferma con Install token is required; il dry run non ha bisogno del token. Deve girare come root.
  2. Sistema. Solo Linux; rileva il sistema di init (systemd, upstart o sysvinit) e l'architettura (amd64 o arm64).
  3. Certificati. Sui sistemi della famiglia RHEL, o quando curl non riesce a verificare il download, aggiunge il certificato ISRG Root X1 (Let's Encrypt) a un bundle proprio, /etc/infrafence/ca-bundle.pem, e sui sistemi della famiglia RHEL anche ai certificati di sistema. Il certificato è dentro l'installer e non viene mai scaricato; dove c'è openssl viene prima confrontato con la sua impronta SHA-256 fissata.
  4. Dipendenze. curl, iptables o ca-certificates mancanti vengono installati con apt-get, dnf o yum; sui sistemi rpm iptables viene installato come iptables-nft dove il pacchetto esiste, così le sue regole usano lo stesso backend di firewalld e nftables. Se è in corso un'altra operazione sui pacchetti attende fino a 5 minuti (Another package operation is running — waiting for it to finish...). Non esegue mai dpkg --configure -a né ripara di sua iniziativa pacchetti danneggiati.
  5. Download. Il binario dell'agente per l'architettura viene scaricato dall'ultima release su GitHub (github.com e release-assets.githubusercontent.com, l'unica fonte di download) e verificato con il checksum SHA-256 pubblicato. Il checksum è obbligatorio: se non si può scaricare o non corrisponde, non viene installato nulla. --skip-checksum installa senza ed è insicuro.
  6. Controllo in sola lettura. Esegue infrafence-agent preflight prima di installare qualsiasi cosa (vedi sotto).
  7. ipset. Installato solo se manca, se non è stato rifiutato con --no-ipset e se il controllo dice che è sicuro: c'è un gestore di pacchetti disponibile e nessuna operazione sui pacchetti è in corso.
  8. Installazione. Il binario va in /usr/local/bin/infrafence-agent, il servizio viene creato, abilitato e avviato.
  9. Registrazione. L'agente si registra con il tuo token e salva il proprio token in /etc/infrafence/config.json. Il token di installazione non viene conservato.
  10. Verifica dell'avvio. Controlla che il servizio sia in esecuzione e indica dove leggere i log.

Download, registrazione e avvio del servizio comunicano il loro esito alla dashboard (con i soli primi caratteri del token), così un'installazione fallita si può ricostruire.

Il controllo in sola lettura (preflight)

infrafence-agent preflight analizza il server e non modifica nulla. L'installer lo esegue prima di installare, l'agente lo esegue a ogni avvio e poi una volta al giorno, e puoi eseguirlo in qualsiasi momento:

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

L'output inizia con InfraFence preflight (read-only — nothing was changed), poi una riga per ogni rilevamento con il suo livello: ok, info, warn o block. Senza --json, il codice di uscita è 2 quando un rilevamento è block e 0 altrimenti.

Esamina:

  • Firewall: se iptables è installato e utilizzabile, e il suo backend; se ipset è presente; altri gestori di firewall e strumenti di sicurezza (ufw, firewalld, CSF, fail2ban, CrowdSec, netfilter-persistent, Docker, Kubernetes).
  • Web server: nginx, Apache (apache2 o httpd), Caddy e LiteSpeed.
  • Chi gestisce la configurazione: pannelli di hosting e strumenti di configuration management (Ansible, Puppet, Chef, Salt). Quando uno di questi è presente, InfraFence non modifica mai la configurazione del web server.
  • Pacchetti: il gestore di pacchetti ed eventuali operazioni sui pacchetti in corso.
  • Risorse: spazio libero su / (avvisa sotto i 200 MB), memoria disponibile (avvisa sotto i 128 MB), la modalità di SELinux.

Il risultato arriva anche alla dashboard: la scheda Host del server lo mostra in Compatibilità del server.

Il dry run

bash
curl -fsSL https://github.com/infrafence/infrafence-agent/releases/latest/download/install.sh | sudo bash -s -- --dry-run

Non ha bisogno del token, e anche sui sistemi della famiglia RHEL non cambia nulla: il passaggio dei certificati vale solo per quell'esecuzione. Scarica l'agente, esegue il controllo in sola lettura e stampa Dry run — nothing was installed or changed. seguito da ciò che farebbe un'esecuzione reale: installare il binario e il servizio, installare o meno ipset, creare le catene del firewall INFRAFENCE (raggiunte da INPUT, e da DOCKER-USER se Docker è presente) e registrarsi. Le modifiche alla configurazione del web server e il blocco in entrata delle liste di threat intelligence restano disattivati finché non li attivi dalla dashboard.

Cosa non fa mai

  • Non modifica mai le tue regole del firewall esistenti: tutto sta nelle catene proprie dell'agente.
  • Non completa mai le configurazioni lasciate a metà da altri pacchetti (dpkg --configure -a), che potrebbero riavviare dei servizi.
  • Non modifica mai una configurazione gestita da un pannello di hosting, da LiteSpeed o da uno strumento di configuration management.