Per gli amministratori di sistema, Webmin è una vera manna dal cielo. Si tratta di un pannello di controllo basato sul web che consente di gestire una macchina Linux da remoto, utilizzando una moderna interfaccia web. Webmin può modificare al volo varie configurazioni di sistema, inclusi server web e database. Può anche gestire utenti, gruppi e pacchetti software.
In questa guida, ti guideremo attraverso i passaggi per installare e configurare Webmin su Ubuntu 18.04.
Webmin su Ubuntu
Sebbene Webmin sia uno strumento popolare per gli amministratori di sistema, non è disponibile nei repository ufficiali di Ubuntu. Fortunatamente, Webmin ha un PPA dedicato per Ubuntu, che si occupa di mantenere il software aggiornato. Ecco i prerequisiti necessari prima di iniziare:
- Avrai bisogno di un server Ubuntu con un utente non-root abilitato a sudo e un firewall. Scopri come installare il tuo server Ubuntu qui, e come configurare il tuo utente sudo qui.
- A causa della natura di Webmin, è importante proteggere l'accesso da mani indesiderate. Per impostazione predefinita, Webmin include alcune funzionalità di sicurezza. In questa guida, tuttavia, Webmin verrà protetto utilizzando Let’s Encrypt e Apache. Segui questo tutorial per installare il tuo server Apache.
- Per il seguente tutorial, è inoltre necessario disporre di un FQDN con un record DNS che punti all'indirizzo IP del server.
- Avrai anche bisogno di Certbot, di cui puoi seguire l'installazione dal Passaggio 1 del nostro tutorial su come proteggere Apache con Let’s Encrypt su Ubuntu 18.04. Utilizzerai Certbot per creare il certificato TLS/SSL per Webmin.
Ora, iniziamo!
Installazione di Webmin su Ubuntu
Per installare Webmin, dobbiamo aggiungere il PPA di Webmin. Innanzitutto, assicurati che il sistema contenga tutte le dipendenze necessarie:
|
1 |
sudo apt update && sudo apt install software-properties-common apt-transport-https wget |
Successivamente, importa la chiave PGP di Webmin:
|
1 |
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - |
Infine, aggiungi il repository di Webmin:
|
1 |
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib" |
Ora APT è in grado di riconoscere il PPA di Webmin. Aggiorna la cache di APT:
|
1 |
sudo apt update |
Infine, installa Webmin:
|
1 |
sudo apt install webmin |
Una volta completata l'installazione, verrà mostrato qualcosa di simile, a indicare che è possibile accedere direttamente a Webmin tramite il seguente link. In questo esempio, viene utilizzato l'hostname del mio sistema:
|
1 |
https://localhost:10000 |
Viene indicato che per avere il pieno controllo del sistema tramite Webmin, l'utente deve conoscere la password di root. Tuttavia, questo non è sufficiente per proteggere qualcosa di così sensibile come Webmin. Lo posizioneremo dietro il server web Apache con un certificato TLS/SSL valido, come menzionato in precedenza.
Proteggere Webmin
Per accedere a Webmin, il metodo predefinito prevede che la porta 10000 sia aperta. Nel nostro caso, questo non è ottimale. Per risolvere il problema, configureremo un virtual host di Apache come proxy per il server di Webmin in esecuzione sulla porta 10000. Successivamente, il virtual host verrà protetto utilizzando un certificato TLS/SSL ottenuto da Let’s Encrypt. Questa procedura richiede che tu abbia installato e configurato correttamente il server web Apache e Certbot.
- Creazione di un nuovo Virtual Host Apache
Il nuovo virtual host sarà definito dal suo file di configurazione. Apri il file di configurazione nel tuo editor di testo preferito:
|
1 |
sudo vim /etc/apache2/sites-available/my_domain.conf |
Nel file, aggiungi le seguenti righe:
|
1 2 3 4 5 6 |
<VirtualHost *:80> ServerAdmin <email> ServerName <domain> ProxyPass / http://localhost:10000/ ProxyPassReverse / http://localhost:10000/ </VirtualHost> |
Dice ad Apache di inoltrare le richieste in arrivo all'host virtuale al server Webmin nella seguente posizione. Assicura inoltre che i collegamenti interni generati da Webmin passino attraverso Apache.
- Disabilitare TLS/SSL di Webmin
Poiché configureremo Apache con TLS/SSL, non è necessario che Webmin abbia il proprio TLS/SSL. Si consiglia di disabilitare questa funzione da Webmin. Successivamente, apri il file di configurazione di Webmin nel tuo editor di testo preferito:
|
1 |
sudo vim /etc/webmin/miniserv.conf |
Quindi, cerca la seguente riga:
|
1 |
ssl=1 |
Qui, il valore “1” indica che Webmin ha l'SSL abilitato. Successivamente, imposta il valore su “0” per disabilitare l'SSL di Webmin.
- Aggiungere il dominio a Webmin
Per impostazione predefinita, Webmin non consentirebbe al nostro dominio di accedervi. Questo perché tale accesso può far parte di un attacco dannoso, ad esempio un attacco Cross-Site Scripting (XSS).
Per garantire che Webmin consenta il nostro dominio, questo deve essere dichiarato nella configurazione di Webmin. Apri il file di configurazione con il tuo editor di testo preferito:
|
1 |
sudo vim /etc/webmin/config |
In fondo al testo, aggiungi la seguente riga:
|
1 |
referers=<domain> |
Dopodiché, salva il testo, esci dall'editor e riavvia il servizio Webmin per rendere effettive tutte le modifiche:
|
1 |
sudo systemctl restart webmin |
- Configurazione di Apache
Abbiamo bisogno del modulo proxy_http di Apache. Il seguente comando lo abiliterà:
|
1 |
sudo a2enmod proxy_http |
Suggerisce di riavviare Apache. Tuttavia, devi prima abilitare il nuovo host virtuale:
|
1 |
sudo a2ensite <domain> |
Infine, riavvia Apache. Abiliterà il modulo e l'host virtuale:
|
1 |
sudo systemctl restart apache2 |
Il seguente comando configurerà il firewall per consentire il traffico in entrata sulle porte 80 e 443 (porte predefinite di Apache per il traffico HTTP/HTTPS):
|
1 |
sudo ufw allow in "Apache Full" |
Per verificare che la configurazione abbia funzionato correttamente, vai al tuo dominio. Dovrebbe apparire la pagina di accesso di Webmin. Tuttavia, NON accedere a Webmin. Poiché TLS/SSL non è stato ancora implementato, comunicherà tramite HTTP, inviando tutti i dati in formato testo non crittografato:
|
1 |
http://<domain> |
- Configurazione di TLS/SSL
Abbiamo bisogno di un certificato per il nostro dominio in modo che la connessione sia crittografata. Per fare ciò, utilizzeremo Let’s Encrypt. È un'autorità di certificazione (CA) gratuita, automatizzata e aperta. Funziona a beneficio del pubblico, fornita dall'Internet Security Research Group (ISRG).
Per generare il certificato, certbot è lo strumento da utilizzare nella shell. Esegui il seguente comando certbot per generare un certificato TLS/SSL per il tuo dominio e configurare Apache per reindirizzare il traffico al sito sicuro:
|
1 |
sudo certbot --apache --email <email> -d <domain> --agree-tos --redirect --noninteractive |
L'output sarà simile a questo:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Salvataggio del log di debug log in /var/log/letsencrypt/letsencrypt.log Plugin selezionati: Authenticator apache, Installer apache Ottenimento di un nuovo certificato Esecuzione delle seguenti sfide: http-01 sfida per <domain> Abilitato Apache rewrite modulo In attesa di verifica... Pulizia delle sfide Creato un SSL vhost in /etc/apache2/sites-available/<domain>-le-ssl.conf Abilitato Apache socache_shmcb modulo Abilitato Apache ssl modulo Distribuzione del certificato su VirtualHost /etc/apache2/sites-available/<domain>-le-ssl.conf Abilitazione sito disponibile: /etc/apache2/sites-available/<domain>-le-ssl.conf Abilitato Apache rewrite modulo Reindirizzamento del vhost in /etc/apache2/sites-enabled/<domain>.conf al vhost ssl vhost in /etc/apache2/sites-available/<domain>-le-ssl.conf ------------------------------------------------------------------------------- Congratulazioni! Hai abilitato con successo enabled https://<domain> Dovresti testare la tua configurazione su https: https://www.ssllabs.com/ssltest/analyze.html?d=<domain> ------------------------------------------------------------------------------- |
Indica che l'installazione del certificato è andata a buon fine e che Apache è stato configurato correttamente per reindirizzare le richieste da http://<domain> a https://<domain>.
Utilizzo di Webmin
Infine, siamo pronti per gestire il sistema utilizzando Webmin. Apri il dominio Webmin da un browser web e accedi come utente root (o qualsiasi altro utente con privilegi sudo).
- Gestione di utenti e gruppi
Per prima cosa, vediamo come gestire utenti e gruppi utilizzando Webmin. Dal pannello di sinistra, vai su System >> Users and Groups:

Per creare un nuovo utente, fai clic su Crea un nuovo utente:

Successivamente, inserisci le informazioni richieste per il nuovo utente. Fai clic su Crea per completare la procedura:

- Aggiornamenti dei pacchetti
Webmin può anche verificare la presenza di aggiornamenti dei pacchetti disponibili. Dal pannello di sinistra, fai clic sull'icona Dashboard :

La Dashboard presenterà un rapido riepilogo delle statistiche del sistema. Sotto la sezione System Information , individua l'etichetta Package updates . Segnalerà se è disponibile un aggiornamento per qualsiasi pacchetto.
In alternativa, dal pannello di sinistra, vai su System >> Software Package Updates. Sotto la scheda Package Updates , Webmin segnalerà tutti i pacchetti per i quali sono disponibili aggiornamenti:

Sotto la scheda Scheduled Upgrades , Webmin offre l'opzione per automatizzare l'installazione degli aggiornamenti dei pacchetti:

Successivamente, sotto la scheda Package Repositories , Webmin offre un modo semplice per gestire tutti i repository di pacchetti configurati nel sistema:
- Esecuzione di comandi personalizzati
Sebbene Webmin offra moltissime opzioni e personalizzazioni, ci sono ancora cose che devono essere fatte manualmente. Webmin può eseguire qualsiasi comando di shell. Per eseguire un comando, dal pannello di sinistra, vai su Tools >> Command Shell:

Successivamente, inserisci il comando desiderato e fai clic su Execute command per eseguirlo:

Esegui regolarmente determinati comandi? Prendi in considerazione l'idea di contrassegnarli in Webmin. Dal pannello di sinistra, vai su Tools >> Custom Commands. Non sarà più necessario digitare manualmente tali comandi:

- Gestione di Apache
Inoltre, se è installato un qualsiasi motore server, Webmin può gestirlo. Per questo esempio, abbiamo utilizzato Apache. Per gestire Apache tramite Webmin, vai su Server >> Apache:

Considerazioni finali
Webmin è uno strumento molto utile per gestire l'intero sistema. Offre un modo comodo per fare cose che normalmente richiederebbero una noiosa interazione con la schermata della console. Inoltre, ti aiuta a organizzare al meglio il tuo sistema. Questa guida illustra le applicazioni più utili di Webmin. Sentiti libero di esplorare la wiki ufficiale di Webmin per saperne di più su come utilizzare lo strumento a tuo vantaggio.
Buon computing!



Commenti
Ancora nessun commento. Scrivi il primo.