[Guida] GNU/Linux: come muovere i primi passi in un server
Questo post vuole essere uno schema delle primissime istruzioni da eseguire quando ci si connette ad un server. Grazie alle moderne tecnologie di virtualizzazione ed al cloud computing, un metodo utilizzato da chi vuole imparare come funziona l’amministrazione di un sistema GNU/Linux è quello di sfruttare il periodo gratuito di prova fornito da AWS o piattaforme simili.
GNU/Linux: i primi step
Non appena si accede ad un server GNU/Linux, la prima cosa da fare è capire con quale sistema operativo, kernel ed architettura si ha a che fare. Risulta utile controllare anche da quanto tempo la macchina è attiva e funzionante. Le istruzioni da utilizzare sono le seguenti:
- cat /etc/*-release, per ottenere informazioni quali il nome della distribuzione installata ed il numero di versione;
- uname -a, per i dettagli circa il kernel;
- hostnamectl;
- uptime.
È comunque utile assicurarsi ogni tanto se c’è qualcun altro connesso al sistema:
who who -Hu grep sh$ /etc/passwd
Disabilitare il login via ssh per l’account root
Se vi trovate in un ambiente GNU/Linux in cui avete una certa autonomia decisionale, e soprattutto nei casi in cui il server è connesso ad internet, è buona norma andare a disattivare l’utente root. Fate attenzione però. Prima di bloccare l’accesso all’account root, dovete assicurarvi di aver creato un account amministrativo, in grado di ottenere i privilegi dell’utente root. Per ottenere questo risultato utilizzate comando useradd. Ricordate di utilizzare una password complessa. A titolo esemplificativo:
useradd -m -c "Admin User" admin passwd qwerty #:)
Successivamente, aggiungete questo utente al gruppo appropriato di amministratori del sistema GNU/Linux utilizzando il comando usermod:
# usermod -aG sudo admin
Dopo aver creato un utente con privilegi amministrativi, passate a quell’account per bloccare l’accesso root tramite ssh al vostro server GNU/Linux. Aprite il seguente file:
sudo vim /etc/ssh/sshd_config
e rimuovete il commento alla variabile PermitRootLogin. Impostatene quindi il valore no. Dopo aver salvato, riavviate il demone sshd:
sudo systemctl restart sshd
Software installato e processi
Potrebbe essere utile anche visionare quali pacchetti sono installati e quali processi sono attivi. Per ottenere un elenco dei pacchetti installati localmente, non come dipendenza, utilizzate la seguente direttiva che vi fornirà anche una breve descrizione dei pacchetti:
aptitude search '~i!~M'
È naturale ora verificare quali processi sono in esecuzione ed i servizi abilitati. Utilizzate i seguenti comandi:
pstree -pa 1 ps -ef ps auxf systemctl
Log del sistema GNU/Linux
A questo punto si ha sicuramente una miglior conoscenza del server. Un’altra cosa da controllare con una certa costanza, per i più svariati motivi, sono i file di registro:
dmesg tail -f /var/log/messages journalctl
In Ubuntu server, ad esempio, si possono controllare i log delle connessioni ssh nel file /var/log/auth.log. Provate a guardare quanti bot cercando di autenticarsi al vostro server con questa istruzione:
grep "authenticating" /var/log/auth.log
Questa lista delle istruzioni base da eseguire in un server GNU/Linux, ovviamente, non è onnicomprensiva. Se avete suggerimenti per istruzioni o correzioni, quindi, vi invito a postarmeli nella sezione qui sotto dedicata ai commenti.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.