Sicurezza

YunoHost è stato sviluppato per la migliore sicurezza senza troppe complicazioni. Ogni protocollo in YunoHost è cifrato e view salvato solo un hash delle password e di default gli utenti possono accedere solo alla propria directory personale.

Rimangono due punti importanti da notare:

  • L'installazione di applicazioni addizionali può aumentare significativamente il numero di potenziali problemi di sicurezza. È importante chiedere informazioni relative a problemi di sicurezza prima di installare un'applicazione e provare ad installare solo le applicazioni necessarie.

  • Poiché YunoHost è un software molto conosciuto ed usato aumenta le possibilità di un attacco. Se viene scoperto un problema potrebbe essere usato contemporaneamente contro tutte le istanze. Mantenete aggiornato il vostro sistema per aumentare la sicurezza. Gli aggiornamenti possono essere automatizzati installando l'applicazione "Unattended_upgrades".

Se avete bisogno di aiuto non esitate a chiedere.

Per discutere di problemi di sicurezza contattate il team YunoHost security.


Migliorare la sicurezza

Se il vostro server YunoHost è usato in situazioni critiche di produzione oppure se volete migliorarne la sicurezza potreste seguire le seguenti buone pratiche.

ATTENZIONE: Per seguire queste istruzioni è necessario essere in possesso di conoscenze avanzate di amministrazione di sistema.

SUGGERIMENTO Non chiudete mai la connessione SSH in uso prima di aver controllato che le modifiche fatte siano corrette. Provate la nuova configurazione aprendo un nuovo terminale o una nuova finestra cosicché possiate eliminare le modifiche se c'è qualcosa di sbagliato.

Autenticazione SSH con la chiave

Di default l'autenticazione SSH chiede la password dell'amministratore. È consigliato disattivare questo tipo di autenticazione per sostituirlo con il sistema basato sulle chiavi.

Sul client:

ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub <username@your_yunohost_server>

Se incontrate problemi di permessi impostate username come proprietario della directory ~/.ssh con il comando chown. Fate attenzione al fatto che, per ragiorni di sicurezza questa directory deve essere con il modo 700.

Se state usando Ubuntu 16.04 dovete avviare ssh-add per avviare l'agente SSH.

Digitate la password di amministrazione e la chiave verrà copiata nel vostro server.

Sul vostro server la modifica della configurazione di SSH per disattivare l'autenticazione a password è gestita da un'impostazione di sistema:

sudo yunohost settings set security.ssh.password_authentication -v no

Modificare la porta SSH

Per prevenire i tentativi di connessione dei robot che fanno scan di internet alla ricerca di server con SSH attivato è possibile cambiare la porta SSH. Questa impostazione è gestita da un'impostazione di sistema che aggiorna le configurazioni di SSH e di fail2ban.

Se modificate una qualsiasi impostazione nel file /etc/ssh/sshd_config, anche solo la porta di ascolto, YunoHost non gestirà più il file. Per questa ragione è necessario usare sempre gli strumenti di amministrazione per fare modifiche ai file di configurazione del sistema.

sudo yunohost settings set security.ssh.port -v <new_ssh_port_number>

Per tutte le connessioni SSH seguenti è necessario aggiungere l'opzione -p seguita dal numero della porta di SSH.

Esempio:

ssh -p <new_ssh_port_number> admin@<your_yunohost_server>

Cambiare la configurazione della compatibilità dei cifrari

La configurazione TLS di default per i servizi è pensata per offrire una buona compatibilità di supporto ai vecchi device. È possibile configurare questa policy per specifici servizi come SSH e NGINX. La configurazione di default di NGINX segue il documento intermediate compatibility recommendation di Mozilla. Potete scegliere di cambiare nella modalità di configurazione 'moderna' che usa le raccomandazioni di sicurezza più recenti che però abbassano la compatibilità potendo portare a problemi con i vostri utenti che usano device più vecchi. Si possono trovare maggiori dettagli relativi alla compatibilità in questa pagina.

Il cambio di livello di compatibilità non è definitivo e può essere ripristinato nel caso in cui non si adatti alle vostre necessità.

Sul vostro server, cambio della policy per NGINX

sudo yunohost settings set security.nginx.compatibility -v modern

Sul vostro server, cambio della policy per SSH

sudo yunohost settings set security.ssh.compatibility -v modern

Disabilitare le API di YunoHost

La pagina di amministrazione di YunoHost è accessibile da un API HTTP che ascolta di default sulla porta 6787 (solo su localhost). Può essere usata per amministrare molti aspetti del vostro server e di conseguenza attori maligni possono usarla per danneggiarlo. La cosa migliore da fare, se conoscete l'iso dell'interfaccia a lina di comando (CLI), è disattivare il servizio yunohost-api.`

Facendo così verranno completamente disabilitate le API di YunoHost e la pagina di amministrazione che si basa su queste. Procedete solo nel caso in cui siate a vostro agio usando l'interfaccia a linea di comando.

sudo systemctl disable yunohost-api
sudo systemctl stop yunohost-api

Poiché il servizio yunohost-api è stato disabilitato e non sta girando Diagnosi riporterà un errore che non può essere ignorato. Se volete far sì che l'errore venga ignorato potete configurare in tal senso YunoHost dalla linea di comando.

sudo yunohost diagnosis ignore --filter services service=yunohost-api

Hai trovato degli errori? Pensi di poter migliorare questa documentazione? Simply click the Edit link at the top of the page, and then the icon on Github to suggest changes.