Configurazione iniziale del server con Debian 11

Introduzione

Quando crei un nuovo server Debian 11, ci sono alcuni passaggi di configurazione che dovresti eseguire all’inizio come parte dell’impostazione di base. Questo aumenterà la sicurezza e l’usabilità del tuo server e ti fornirà una base solida per le azioni successive.

In questo tutorial, impareremo come accedere al nostro server come utente root, creare un nuovo utente con privilegi di amministratore e configurare un firewall di base.

Passaggio 1 — Accesso come Root

Per accedere al tuo server, dovrai conoscere l’indirizzo IP pubblico del server. Avrai anche bisogno della password o, se hai installato una chiave SSH per l’autenticazione, della chiave privata dell’account utente root. Se non hai ancora effettuato l’accesso al tuo server, potresti voler seguire la nostra guida su come connettersi al tuo Droplet con SSH, che copre questo processo in dettaglio.

Se non sei già connesso al tuo server, accedi come utente root utilizzando il seguente comando (sostituisci la parte evidenziata del comando con l’indirizzo IP pubblico del tuo server):

  1. ssh root@your_server_ip

Accetta l’avviso sull’autenticità dell’host se compare. Se stai utilizzando l’autenticazione tramite password, fornisci la tua password di root per accedere. Se stai utilizzando una chiave SSH protetta da passphrase, potresti essere invitato a inserire la passphrase la prima volta che utilizzi la chiave in ogni sessione. Se è la tua prima volta che accedi al server con una password, potresti anche essere invitato a cambiare la password root.

Informazioni su Root

L’utente root è l’utente amministrativo in un ambiente Linux che ha privilegi molto ampi. A causa dei privilegi elevati dell’account root, è sconsigliato utilizzarlo regolarmente. Ciò è dovuto al fatto che parte del potere insito nell’account root è la capacità di apportare cambiamenti molto distruttivi, anche per errore.

Il prossimo passo è configurare un account utente alternativo con un’ampia gamma di azioni ridotte per il lavoro quotidiano. In seguito, spiegheremo come ottenere privilegi aumentati per quei momenti in cui ne hai bisogno.

Passaggio 2 — Creazione di un Nuovo Utente

Una volta effettuato l’accesso come root, siamo pronti per aggiungere il nuovo account utente che utilizzeremo per accedere d’ora in poi.

Questo esempio crea un nuovo utente chiamato sammy, ma dovresti sostituirlo con un nome utente che ti piace:

  1. adduser sammy

Ti verranno poste alcune domande, a cominciare dalla password dell’account.

Inserisci una password sicura e, facoltativamente, completa eventuali informazioni aggiuntive che desideri. Questo non è obbligatorio e puoi semplicemente premere INVIO in qualsiasi campo desideri saltare.

Successivamente, imposteremo questo nuovo utente con privilegi di amministratore.

Passaggio 3 — Concessione dei Privilegi Amministrativi

Ora, abbiamo creato un nuovo account utente con privilegi di account regolari. Tuttavia, a volte potremmo aver bisogno di eseguire attività amministrative con esso.

Per evitare di dover effettuare il logout dal nostro utente normale e accedere di nuovo come utente root, possiamo configurare ciò che è noto come privilegi di superutente o root per il nostro utente normale. Ciò consentirà al nostro utente normale di eseguire comandi con privilegi amministrativi inserendo la parola sudo prima del comando.

Per aggiungere questi privilegi al nostro nuovo utente, dobbiamo aggiungere il nuovo utente al gruppo sudo. Per impostazione predefinita, su Debian 11, gli utenti che appartengono al gruppo sudo sono autorizzati a utilizzare il comando sudo.

Come root, esegui questo comando per aggiungere il tuo nuovo utente al gruppo sudo (sostituisci la parola evidenziata con il tuo nuovo utente):

  1. usermod -aG sudo sammy

Ora, quando sei loggato come utente normale, puoi digitare sudo prima dei comandi per eseguire il comando con privilegi di superutente.

Passaggio 4 — Configurazione di un firewall di base

I server Debian possono utilizzare firewall per assicurarsi che solo determinate connessioni a servizi specifici siano consentite. In questa guida, installeremo e utilizzeremo il firewall UFW per aiutare a impostare le politiche del firewall e gestire le eccezioni.

Possiamo utilizzare il gestore di pacchetti apt per installare UFW. Aggiornare l’indice locale per recuperare le ultime informazioni sui pacchetti disponibili e quindi installare il software del firewall UFW digitando:

  1. apt update
  2. apt install ufw

Nota: Se i tuoi server sono in esecuzione su DigitalOcean, puoi eventualmente utilizzare Firewall Cloud di DigitalOcean invece del firewall UFW. Consigliamo di utilizzare un solo firewall alla volta per evitare regole in conflitto che potrebbero essere difficili da individuare.

I profili del firewall consentono a UFW di gestire insiemi nominati di regole del firewall per le applicazioni installate. I profili per alcuni software comuni sono inclusi in UFW per impostazione predefinita e i pacchetti possono registrare profili aggiuntivi con UFW durante il processo di installazione. OpenSSH, il servizio che ci consente di connetterci al nostro server ora, ha un profilo del firewall che possiamo utilizzare.

È possibile elencare tutti i profili di applicazione disponibili digitando:

  1. ufw app list
Output
Available applications: . . . OpenSSH . . .

Dobbiamo assicurarci che il firewall permetta le connessioni SSH in modo che possiamo accedere nuovamente la prossima volta. Possiamo permettere queste connessioni digitando:

  1. ufw allow OpenSSH

In seguito, possiamo abilitare il firewall digitando:

  1. ufw enable

Digitare y e premere INVIO per procedere. È possibile verificare che le connessioni SSH siano ancora consentite digitando:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

Dato che il firewall sta attualmente bloccando tutte le connessioni tranne quelle SSH, se installi e configurare servizi aggiuntivi, sarà necessario modificare le impostazioni del firewall per consentire il traffico accettabile. È possibile apprendere alcune operazioni comuni di UFW nella nostra guida essenziale su UFW.

Passaggio 5 — Abilitazione dell’Accesso Esterno per il Tuo Utente Regolare

Ora che abbiamo un utente regolare per l’uso quotidiano, dobbiamo assicurarci di poter accedere via SSH direttamente all’account.

Nota: Fino a quando non verifichi di poter accedere e utilizzare sudo con il tuo nuovo utente, ti consigliamo di rimanere connesso come root. In questo modo, se incontri problemi, puoi risolverli e apportare eventuali modifiche come root. Se stai utilizzando un Droplet DigitalOcean e riscontri problemi con la connessione SSH del tuo root, puoi anche accedere al Droplet utilizzando la Console DigitalOcean.

Il processo per configurare l’accesso SSH per il tuo nuovo utente dipende dal fatto che l’account root del tuo server utilizzi una password o delle chiavi SSH per l’autenticazione.

Se l’Account Root Utilizza l’Autenticazione con Password

Se hai effettuato l’accesso al tuo account root utilizzando una password, allora l’autenticazione tramite password è abilitata per SSH. Puoi accedere via SSH al tuo nuovo account utente aprendo una nuova sessione terminale e utilizzando SSH con il tuo nuovo nome utente:

  1. ssh sammy@your_server_ip

Dopo aver inserito la password del tuo utente normale, verrai connesso. Ricorda, se devi eseguire un comando con privilegi amministrativi, digita sudo prima come segue:

  1. sudo command_to_run

Ti verrà richiesta la password del tuo utente normale quando utilizzi sudo per la prima volta in ogni sessione (e periodicamente dopo).

Per migliorare la sicurezza del tuo server, raccomandiamo vivamente di configurare le chiavi SSH invece di utilizzare l’autenticazione tramite password. Segui la nostra guida su come configurare le chiavi SSH su Debian 11 per imparare come configurare l’autenticazione basata su chiave.

Se l’Account Root Utilizza l’Autenticazione con Chiave SSH

Se hai effettuato l’accesso al tuo account root utilizzando le chiavi SSH, allora l’autenticazione tramite password è disabilitata per SSH. Dovrai aggiungere una copia della tua chiave pubblica locale al file ~/.ssh/authorized_keys del nuovo utente per effettuare l’accesso con successo.

Dato che la tua chiave pubblica è già presente nel file ~/.ssh/authorized_keys dell’account root sul server, possiamo copiare tale file e la struttura della directory nel nostro nuovo account utente nella sessione esistente con il comando cp. Successivamente, possiamo regolare la proprietà dei file utilizzando il comando chown.

Assicurati di cambiare le parti evidenziate nel comando sottostante per corrispondere al nome del tuo utente regolare:

  1. cp -r ~/.ssh /home/sammy
  2. chown -R sammy:sammy /home/sammy/.ssh

Il comando cp -r copia l’intera directory nella directory home del nuovo utente, mentre il comando chown -R cambia il proprietario di quella directory (e di tutto ciò che contiene) allo specificato username:groupname (Debian crea un gruppo con lo stesso nome del tuo username per impostazione predefinita).

Ora, apri una nuova sessione terminale e accedi tramite SSH con il tuo nuovo username:

  1. ssh sammy@your_server_ip

Dovresti essere loggato con il nuovo account utente senza utilizzare una password. Ricorda, se hai bisogno di eseguire un comando con privilegi amministrativi, digita sudo prima come segue:

  1. sudo command_to_run

Ti verrà richiesta la password del tuo utente regolare quando utilizzi sudo per la prima volta in ogni sessione (e periodicamente in seguito).

Cosa fare ora?

A questo punto, hai una solida base per il tuo server. Puoi ora installare qualsiasi software di cui hai bisogno sul tuo server.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-11