Salta el contingut

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 no estigui actiu, l'únic accés administratiu serà via sudo. Si elteusuari no 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 sudo per 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 amb gpasswd -d elteusuari sudo. Reserva l'Opció B per quan vulguis restringir comandes específiques.

💡 Mai editis /etc/sudoers directament amb un editor normal. Sempre usa visudo — valida la sintaxi abans de desar i evita que et tanquis fora per un error tipogràfic.