IT

Fedora

Under review — wording may still change.

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.