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
- Token e root. Senza
--tokensu un server non ancora registrato si ferma conInstall token is required; il dry run non ha bisogno del token. Deve girare come root. - Sistema. Solo Linux; rileva il sistema di init (systemd, upstart o sysvinit) e l'architettura (
amd64oarm64). - Certificati. Sui sistemi della famiglia RHEL, o quando
curlnon 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'èopensslviene prima confrontato con la sua impronta SHA-256 fissata. - Dipendenze.
curl,iptablesoca-certificatesmancanti vengono installati conapt-get,dnfoyum; sui sistemi rpmiptablesviene installato comeiptables-nftdove 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 maidpkg --configure -ané ripara di sua iniziativa pacchetti danneggiati. - Download. Il binario dell'agente per l'architettura viene scaricato dall'ultima release su GitHub (
github.comerelease-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-checksuminstalla senza ed è insicuro. - Controllo in sola lettura. Esegue
infrafence-agent preflightprima di installare qualsiasi cosa (vedi sotto). - ipset. Installato solo se manca, se non è stato rifiutato con
--no-ipsete se il controllo dice che è sicuro: c'è un gestore di pacchetti disponibile e nessuna operazione sui pacchetti è in corso. - Installazione. Il binario va in
/usr/local/bin/infrafence-agent, il servizio viene creato, abilitato e avviato. - 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. - 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:
sudo infrafence-agent preflight
sudo infrafence-agent preflight --jsonL'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; seipsetè presente; altri gestori di firewall e strumenti di sicurezza (ufw, firewalld, CSF, fail2ban, CrowdSec, netfilter-persistent, Docker, Kubernetes). - Web server: nginx, Apache (
apache2ohttpd), 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
curl -fsSL https://github.com/infrafence/infrafence-agent/releases/latest/download/install.sh | sudo bash -s -- --dry-runNon 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.
