Hardening de Debian Bookworm (relay chatmail Delta Chat) - Fase 0
Preparació i backup
0.1 Obrir DUES sessions SSH simultànies
Atenció
⚠️ CRÍTIC. Manté dues connexions SSH obertes durant tot el procés. Si una cau o et tanques l'accés per error, la segona és el teu salvavides. Si tens accés a una sessió des del panell del teu proveïdor, aquest problema queda resolt, però sempre és més pràctic tenir una sessió oberta tu que haver d'entrar al panell i fer tot el procés.
# Sessió 1: on faràs els canvis
# Sessió 2: de vigilància — no la tanquis mai
0.2 Backup de totes les configuracions que tocarem
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo cp /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.bak
sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
sudo nft list ruleset > ~/nft-backup-original.txt
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
0.3 Desar l'estat inicial dels ports
ss -tulnp > ~/ports-inicials.txt
cat ~/ports-inicials.txt <--- per a visualitzar què ha desat l'ordre anterior
0.4 Verificar que tens clau SSH configurada ABANS de res
Atenció!
Pas obligatori. Si no tens clau SSH al servidor, configura-la ara — abans de deshabilitar l'autenticació per password.
Des del teu ordinador local:
ssh-copy-id usuari@servidor
Verifica que funciona:
ssh usuari@servidor
No continuis fins que la clau funcioni correctament.
0.5 Configurar sudo per a elteusuari
⚠️ Pas obligatori abans de deshabilitar root. Un cop
PermitRootLogin noestigui actiu, l'únic accés administratiu serà viasudo. Sielteusuarino pot usar sudo, perdràs la capacitat de gestionar el servidor.
Situació actual: elteusuari només pertany al grup users. El sudoers del sistema atorga privilegis al grup sudo (%sudo ALL=(ALL:ALL) ALL), però elteusuari no hi pertany.
Tens dues opcions:
Opció A — Afegir elteusuari al grup sudo (recomanada)
És la forma estàndard a Debian. Senzilla i fàcil de revocar. Executa com a root:
usermod -aG sudo elteusuari
Verifica:
groups elteusuari
# Ha de mostrar: elteusuari : users sudo
⚠️ El canvi de grup no s'aplica a la sessió actual. Cal tancar sessió i tornar a connectar, o executar
newgrp sudoper activar-lo sense reconnectar.
Test de verificació un cop reconnectat:
sudo whoami
# Ha de retornar: root
Opció B — Fitxer dedicat a /etc/sudoers.d/ (més granular)
Permet definir exactament quines comandes pot executar elteusuari. Útil si vols limitar els privilegis en comptes de donar accés total. Executa com a root:
visudo -f /etc/sudoers.d/elteusuari
Per accés total equivalent al grup sudo:
elteusuari ALL=(ALL:ALL) ALL
Verifica que la sintaxi és correcta:
visudo -c -f /etc/sudoers.d/elteusuari
# Ha de dir: /etc/sudoers.d/elteusuari: parsed OK
💡 Recomanació: usa l'Opció A (grup sudo). És l'estàndard de Debian, requereix password per cada
sudo, i és fàcil de revocar ambgpasswd -d elteusuari sudo. Reserva l'Opció B per quan vulguis restringir comandes específiques.💡 Mai editis
/etc/sudoersdirectament amb un editor normal. Sempre usavisudo— valida la sintaxi abans de desar i evita que et tanquis fora per un error tipogràfic.