doc/pages/02.administer/45.tutorials/60.security/security.it.md

113 lines
6 KiB
Markdown
Raw Normal View History

---
title: Sicurezza
template: docs
taxonomy:
category: docs
routes:
default: '/security'
---
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"](https://install-app.yunohost.org/?app=unattended_upgrades).
!!!! Se avete bisogno di aiuto non esitate a [chiedere](/help).
!! [fa=shield /] Per discutere di problemi di sicurezza contattate il [team YunoHost security](/security_team).
---
## 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**:
```bash
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:
```bash
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.
```bash
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**:
```bash
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](https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29) 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](https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility).
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
```bash
sudo yunohost settings set security.nginx.compatibility -v modern
```
**Sul vostro server**, cambio della policy per SSH
```bash
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)](/commandline), è 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.
```bash
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.
```bash
sudo yunohost diagnosis ignore --filter services service=yunohost-api
```