doc/pages/01.administrate/06.overview/12.security/security.fr.md

109 lines
5.3 KiB
Markdown
Raw Normal View History

2020-11-11 11:47:10 +01:00
---
title: Sécurité
template: docs
taxonomy:
category: docs
routes:
default: '/security'
2020-11-11 11:47:10 +01:00
---
2014-05-13 15:24:40 +02:00
2015-05-20 14:47:22 +02:00
YunoHost a été développé dans loptique de fournir une sécurité maximale tout en restant accessible et facilement installable.
2014-05-13 15:24:40 +02:00
2015-05-20 14:47:22 +02:00
Tous les protocoles que YunoHost utilise sont **chiffrés**, les mots de passe ne sont pas stockés en clair, et par défaut chaque utilisateur naccède quà son répertoire personnel.
2014-05-13 15:24:40 +02:00
2017-11-01 19:21:53 +01:00
Deux points sont néanmoins importants à noter :
2014-05-13 15:24:40 +02:00
2015-05-20 14:47:22 +02:00
* Linstallation dapplications supplémentaires **augmente le nombre de failles** potentielles. Il est donc conseillé de se renseigner sur chacune delle **avant linstallation**, den comprendre le fonctionnement et juger ainsi limpact que provoquerait une potentielle attaque. Ninstallez **que** les applications qui semblent importantes pour votre usage.
2014-05-13 15:24:40 +02:00
* Le fait que YunoHost soit un logiciel répandu augmente les chances de subir une attaque. Si une faille est découverte, elle peut potentiellement **toucher toutes les instances YunoHost** à un temps donné. Nous nous efforçons de corriger ces failles le plus rapidement possible, pensez donc à **mettre à jour régulièrement** votre système.
!!!! Si vous avez besoin de conseil, nhésitez pas à [nous demander](/help).
2014-05-13 15:24:40 +02:00
!! [fa=shield /] Pour discuter d'une faille de sécurité, contactez l'[équipe sécurité de YunoHost](/security_team).
2014-06-04 21:40:30 +02:00
---
2014-05-13 15:24:40 +02:00
2014-06-15 20:47:19 +02:00
## Améliorer la sécurité
2014-05-13 15:24:40 +02:00
Si votre serveur YunoHost est dans un environnement de production critique ou que vous souhaitez améliorer sa sécurité, il est bon de suivre quelques bonnes pratiques.
! **Attention :** lapplication des conseils suivants nécessite une connaissance avancée du fonctionnement et de ladministration dun serveur. Pensez à vous renseigner avant de procéder à cette mise en place.
2014-05-13 15:24:40 +02:00
### Authentification SSH par clé
2015-04-26 19:17:49 +02:00
Voici un [tutoriel plus détaillé](http://doc.ubuntu-fr.org/ssh#authentification_par_un_systeme_de_cles_publiqueprivee).
2015-05-20 14:47:22 +02:00
Par défaut, lauthentification SSH se fait avec le mot de passe dadministration. Il est conseillé de désactiver ce type dauthentification et de le remplacer par un mécanisme de clé de chiffrement.
2014-05-13 15:24:40 +02:00
2017-11-01 19:21:53 +01:00
**Sur votre ordinateur de bureau :**
2014-05-13 15:24:40 +02:00
```bash
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub <nom_utilisateur@otre_serveur_yunohost>
2014-05-13 15:24:40 +02:00
```
!!! Si vous avez des problèmes de permissions, donnez à `nom_utilisateur` la possession du dossier `~/.ssh` avec `chown`. Attention, pour des raisons de sécurité, ce dossier doit être en mode 700 !
!!! Si vous êtes sur Ubuntu 16.04 vous devez faire `ssh-add` pour initialiser l'agent SSH.
2014-05-13 15:24:40 +02:00
Entrez le mot de passe dadministration et votre clé publique devrait être copiée sur votre serveur.
2017-11-01 19:21:53 +01:00
2015-05-20 14:47:22 +02:00
**Sur votre serveur**, éditez le fichier de configuration SSH, pour désactiver lauthentification par mot de passe.
2014-05-13 15:24:40 +02:00
```bash
nano /etc/ssh/sshd_config
# Modifiez ou ajoutez la ligne suivante
PasswordAuthentication no
```
Sauvegardez et relancez le démon SSH.
2018-06-11 15:42:41 +02:00
```bash
systemctl restart ssh
```
2014-05-13 15:24:40 +02:00
2014-06-04 21:40:30 +02:00
---
2014-07-23 17:56:51 +02:00
### Modifier le port SSH
2015-05-03 19:35:13 +02:00
Pour éviter des tentatives de connexion SSH par des robots qui scannent tout Internet pour tenter des connexions SSH avec tout serveur accessible, on peut modifier le port SSH.
C'est géré par un paramètre système, qui se charge de configurer les services SSH et Fail2Ban.
2018-06-11 15:42:41 +02:00
```bash
sudo yunohost settings set security.ssh.port -v <votre_numero_de_port_ssh>
2018-06-11 15:42:41 +02:00
```
**Lors de la prochaine connexion SSH**, vous devrez ajouter le paramètre `-p` suivi du port SSH.
**Exemple**:
```bash
2014-07-15 09:47:04 +02:00
ssh -p <votre_numero_de_port_ssh> admin@<votre_serveur_yunohost>
```
---
2019-03-23 18:30:34 +01:00
### Durcir la sécurité de la configuration des services
2020-06-27 14:32:18 +02:00
La configuration TLS par défaut des services tend à offrir une bonne compatibilité avec les vieux appareils. Vous pouvez régler cette politique pour les services SSH et NGINX. Par défaut, la configuration du NGINX suit la [recommandation de compatibilité intermédiaire](https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29) de Mozilla. Vous pouvez choisir de passer à la configuration "moderne" qui utilise des recommandations de sécurité plus récentes, mais qui diminue la compatibilité, ce qui peut poser un problème pour vos utilisateurs et visiteurs qui utilisent de vieux appareils. Plus de détails peuvent être trouvés sur [cette page](https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility).
2019-03-23 18:30:34 +01:00
Changer le niveau de compatibilité n'est pas définitif et il est possible de rechanger le paramètre si vous concluez qu'il faille revenir en arrière.
**Sur votre serveur**, modifiez la politique pour NGINX :
```bash
sudo yunohost settings set security.nginx.compatibility -v modern
```
**Sur votre serveur**, modifiez la politique pour SSH :
```bash
2019-04-11 15:33:54 +02:00
sudo yunohost settings set security.ssh.compatibility -v modern
2019-03-23 18:30:34 +01:00
```
2015-04-13 00:23:16 +02:00
### Désactivation de lAPI YunoHost
2014-05-13 15:24:40 +02:00
2020-03-28 06:54:10 +01:00
YunoHost est administrable via une **API HTTP**, servie sur le port 6787 par défaut (seulement sur `localhost`). Elle permet dadministrer une grande partie de votre serveur, et peut donc être utilisée à des **fins malveillantes**. La meilleure chose à faire si vous êtes habitués aux lignes de commande est de désactiver le service `yunohost-api`, et **utiliser la [ligne de commande](/commandline)** en SSH.
2014-05-13 15:24:40 +02:00
```bash
2018-12-11 03:47:36 +01:00
sudo systemctl disable yunohost-api
sudo systemctl stop yunohost-api
```