Fedora
Installa Warden su Fedora dal pacchetto .rpm.
Requisiti
- Fedora 40 o più recente (glibc 2.39+)
systemd- Architettura:
x86_64 - Root /
sudo
Il pacchetto richiede solo la libreria C standard (glibc) — nessun’altra
dipendenza da installare. Serve glibc ≥ 2.39 (Fedora 40+); ogni release
Fedora corrente lo soddisfa.
1. Scarica
Scarica il .rpm per la tua architettura dalla pagina della release:
{{TODO: release download link}}
x86_64— l’architettura disponibile oggi
(I pacchetti aarch64 / ARM sono previsti per una release futura.)
2. Installa
sudo dnf install ./purge-warden-<version>.x86_64.rpm
Il pacchetto si installa ma non avvia il servizio. È voluto: la macchina potrebbe già rispondere sulla porta 53, e un server DNS che parte da solo è invasivo. Lo attivi nei passi successivi.
Cosa fa l’installazione: crea l’utente di sistema purge-warden, installa l’unit
systemd con hardening, e scrive una configurazione predefinita funzionante in
/etc/purge-warden/config.toml (solo se non ne esiste già una) — così Warden
filtra da subito, una volta avviato.
3. Libera la porta 53 (se serve)
Se la macchina usa systemd-resolved sulla porta 53 (comune su Fedora
Workstation), cedi la porta 53 a Warden disabilitando solo lo stub listener:
printf '[Resolve]\nDNSStubListener=no\n' | \
sudo tee /etc/systemd/resolved.conf.d/purge-warden-no-stub.conf
sudo systemctl restart systemd-resolved
Controlla prima cosa occupa la porta 53 con sudo ss -ulpn 'sport = :53'. Su una
Fedora Server che non esegue lo stub di resolved, puoi saltare questo passo.
Warden non modifica mai la configurazione del resolver in automatico — questo passo lo esegui tu, quindi nulla del tuo DNS cambia senza il tuo consenso.
4. Abilita + avvia
sudo systemctl enable --now purge-warden
5. Verifica
dig @127.0.0.1 doubleclick.net # → 0.0.0.0 (bloccato)
dig @127.0.0.1 google.com # → indirizzo reale (permesso)
Nota SELinux
{{TODO: verificare su una Fedora reale con SELinux in enforcing}} Il servizio gira
come normale unit systemd e occupa la porta 53 tramite CAP_NET_BIND_SERVICE,
che la policy targeted generalmente permette. Se il servizio non riesce a
bindare o a leggere la sua directory di stato in modalità enforcing, ispeziona i
dinieghi:
sudo ausearch -m avc -ts recent
e apri una issue con le righe AVC così possiamo rilasciare un fix di policy o un hint di label.
Aggiornamento
Installa il nuovo .rpm allo stesso modo. Il servizio in esecuzione non viene
riavviato in automatico — la versione vecchia continua a servire finché non
riavvii tu:
sudo systemctl restart purge-warden
La tua configurazione in /etc/purge-warden/config.toml viene preservata tra un
aggiornamento e l’altro.
Rimozione
sudo dnf remove purge-warden
Rimuovere il pacchetto lascia config e dati al loro posto
(/etc/purge-warden, /var/lib/purge-warden), così una reinstallazione riparte
da dove avevi lasciato. Cancella quelle directory a mano se vuoi ripartire pulito.