Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
mysecureshell_sftp-server [Le 27/01/2014, 16:06] – [Avec le paquet deb] 148.60.218.76mysecureshell_sftp-server [Le 18/02/2026, 18:26] (Version actuelle) – liens / projet endormi... krodelabestiole
Ligne 1: Ligne 1:
-{{tag>serveur ftp}} +{{tag>Xenial serveur ftp sécurité}}
-  Version: Ubuntu+
  
 ====== Serveur SFTP : MySecureShell ====== ====== Serveur SFTP : MySecureShell ======
  
 {{applications:mss_02.png}} {{applications:mss_02.png}}
- 
- 
- 
  
 ===== À propos de MSS ===== ===== À propos de MSS =====
  
-**MySecureShell** (MSS) est un logiciel s'appuyant sur le chiffrement de SSH et sur son FTP sécurisé "sftp-server". MySecureShell est un shell qui permet d'ajouter plusieurs fonctionnalités à sftp-server et qui se rapproche des grands serveurs FTP tel que ProFtpd.+**MySecureShell** (MSS) est un logiciel s'appuyant sur le chiffrement de [[:SSH]] et sur son [[:SFTP]]. MySecureShell est un shell qui permet d'ajouter plusieurs fonctionnalités à sftp-server.
 Les avantages de MySecureShell sont qu'il s'appuie sur le protocole sécurisé SSH et qu'il permet un chiffrement complet des données et des requêtes émises. Il est très simple à installer, à utiliser et hautement configurable. Les avantages de MySecureShell sont qu'il s'appuie sur le protocole sécurisé SSH et qu'il permet un chiffrement complet des données et des requêtes émises. Il est très simple à installer, à utiliser et hautement configurable.
  
 Site officiel : [[http://mysecureshell.sourceforge.net/]]\\ Site officiel : [[http://mysecureshell.sourceforge.net/]]\\
-Pour plus d'aide un [[http://mysecureshell.free.fr/forum|forum]] est disponible.+Pour plus d'aide rendez-vous sur [[https://github.com/mysecureshell/mysecureshell|github]] directement.
  
-**Pourquoi installer MySecureShell (sftp - Secure File Transfert Protocol) au lieu d'un serveur FTPS (File Transfert Protocol over SSL) ?**+**Pourquoi installer MySecureShell ([[:SFTP]]) au lieu d'un serveur FTPS (File Transfert Protocol over SSL) ?**
  
 Voici les différentes motivations d'un tel choix : Voici les différentes motivations d'un tel choix :
Ligne 24: Ligne 20:
   * Pas de problèmes de certificat non-certifié (car payant pour qu'il soit certifié authentique) ou de génération de certificat.   * Pas de problèmes de certificat non-certifié (car payant pour qu'il soit certifié authentique) ou de génération de certificat.
   * Support des clefs privées et publiques pour une authentification sans mot de passe.   * Support des clefs privées et publiques pour une authentification sans mot de passe.
-  * Un unique port à ouvrir pour le SSH et SFTP (port 22 par défaut). +  * Un unique port à ouvrir pour le [[:SSH]] et [[:SFTP]] (port 22 par défaut). 
-  * Clients disponibles également sous Windows (Filezilla par exemple)+  * Clients disponibles également sous Windows ([[:Filezilla]] par exemple)
   * C'est une question de choix qui ne coûte rien si l'on veut essayer.   * C'est une question de choix qui ne coûte rien si l'on veut essayer.
  
Ligne 34: Ligne 30:
 Avec MySecureShell, le client n'est pas obligé de posséder un shell valide qui pourrait nuire a la sécurité du serveur. Avec MySecureShell, le client n'est pas obligé de posséder un shell valide qui pourrait nuire a la sécurité du serveur.
  
-===== Installation de MSS =====+===== Installation=====
  
-Prérequis : +[[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>mysecureshell]]**.
-Le paquet **openssh-server** doit être installé.+
 <note help>Pour en savoir plus sur SSH vous pouvez lire cette [[:ssh|documentation]].</note> <note help>Pour en savoir plus sur SSH vous pouvez lire cette [[:ssh|documentation]].</note>
  
-J'ai choisi de vous montrer deux méthodes d'installation, le paquet deb et le script. 
-==== Avec le paquet deb ==== 
- 
-Rajoutez ceci dans votre fichier /etc/apt/sources.list : 
-<code>deb http://mysecureshell.free.fr/repository/index.php/ubuntu testing main 
-deb-src http://mysecureshell.free.fr/repository/index.php/ubuntu testing main</code> 
- 
-Pour importer la signature GPG du repository, il faut exécuter les commandes suivantes: 
- 
-<code>gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys E328F22B; gpg --export E328F22B | sudo apt-key add -</code> 
- 
-Il est possible d'avoir des problèmes de permissions pour créer des fichiers temporaires dans .gnupg. Dans ce cas, essayer avec un sudo en plus (après le ";"): 
-<code>gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys E328F22B; sudo gpg --export E328F22B | sudo apt-key add -</code> 
- 
-Mettez ensuite à jour votre liste de packages : 
-<code>sudo apt-get update</code> 
- 
-Et installer : 
-<code>sudo apt-get install mysecureshell</code> 
- 
-==== Installation ==== 
-Pour l'installer, c'est maintenant très simple : 
-[[apt://mysecureshell|{{apt.png}}]] 
- 
-<code>dpkg -i mysecureshell_xxx.deb</code> 
 ===== Gestion des utilisateurs ===== ===== Gestion des utilisateurs =====
  
 Créer maintenant les utilisateurs autorisés à faire du sftp et autorisés à ne faire que du sftp. Pour fixer les idées, je vais créer l'utilisateur toto et lui attribuer comme dossier personnel /home/toto : Créer maintenant les utilisateurs autorisés à faire du sftp et autorisés à ne faire que du sftp. Pour fixer les idées, je vais créer l'utilisateur toto et lui attribuer comme dossier personnel /home/toto :
  
-<code>sudo adduser --home /home/toto --shell /bin/MySecureShell toto</code>+<code>sudo adduser --home /home/toto --shell /usr/bin/mysecureshell toto</code>
  
 Mais il y a plus simple, l'outil graphique vous permet désormais de gérer les clients ! :-) Mais il y a plus simple, l'outil graphique vous permet désormais de gérer les clients ! :-)
Ligne 81: Ligne 51:
  
 <code>msstest:x:1006:500:MMS Testing:/home/sftpusers/msstest:/bin/sh</code> <code>msstest:x:1006:500:MMS Testing:/home/sftpusers/msstest:/bin/sh</code>
- 
  
 est à remplacer par: est à remplacer par:
Ligne 99: Ligne 68:
 ==== Tester en local ==== ==== Tester en local ====
  
-  lftp sftp://toto@localhost+  lftp sftp://toto@localhost
  
 Après avoir entré le mot de passe, vous devriez obtenir ceci : Après avoir entré le mot de passe, vous devriez obtenir ceci :
  
-  lftp toto@localhost:~>+  lftp toto@localhost:~>
  
 En cas de problème vérifier que le fichier sftp-server_MSS se trouve bien dans le répertoire /usr/lib/openssh/ . Si ce n'est pas le cas vous pouvez le copier à partir de /usr/lib/ En cas de problème vérifier que le fichier sftp-server_MSS se trouve bien dans le répertoire /usr/lib/openssh/ . Si ce n'est pas le cas vous pouvez le copier à partir de /usr/lib/
- 
  
 ==== Tester en réseau ==== ==== Tester en réseau ====
  
-Le port 22/TCP doit être ouvert.+Le port 22/TCP doit être ouvert.
  
-  lftp sftp://toto@IP_du_Serveur+  lftp sftp://toto@IP_du_Serveur
  
 Si vous obtenez l'invite ci-dessous c'est que ça marche. Si vous obtenez l'invite ci-dessous c'est que ça marche.
  
- Code: +  lftp toto@IP_du_Serveur:~>
- +
-  $ lftp toto@IP_du_Serveur:~>+
  
 Pour plus de renseignements sur lftp Pour plus de renseignements sur lftp
  
-  man lftp +  man lftp
- +
- +
  
 ===== Paramétrage avec l'outil graphique java ===== ===== Paramétrage avec l'outil graphique java =====
Ligne 131: Ligne 94:
 L'environnement [[:Java]] doit être installé dans votre système. L'environnement [[:Java]] doit être installé dans votre système.
  
-Télécharger l'outil graphique sur [[http://sourceforge.net/projects/mysecureshell/files/MySecureShell%20Graphical%20Tools/|le site officiel]] et taper dans un terminal ce qui suit:+Télécharger l'outil graphique sur [[https://sourceforge.net/projects/mysecureshell/files/MySecureShell%20Graphical%20Tools/|le site officiel]] et taper dans un terminal ce qui suit:
  
 Vous devez d'abord éditer le fichier /etc/ssh/sftp_config et y ajouter Vous devez d'abord éditer le fichier /etc/ssh/sftp_config et y ajouter
Ligne 157: Ligne 120:
   * **Connexion distante** : c'est avec cet onglet que vous allez pouvoir administrer à distance votre serveur MySecureShell.   * **Connexion distante** : c'est avec cet onglet que vous allez pouvoir administrer à distance votre serveur MySecureShell.
   * ** Paramètres** : Cet onglet permet la localisation de certains fichiers et le choix du langage de l'interface graphique.   * ** Paramètres** : Cet onglet permet la localisation de certains fichiers et le choix du langage de l'interface graphique.
- 
- 
  
 ===== Lanceur ===== ===== Lanceur =====
Ligne 170: Ligne 131:
 Et créer une entrée comme suit, Et créer une entrée comme suit,
  
-{{applications:entry_editor.png}} +{{:applications:entry_editor.png}}
- +
- +
  
 ===== Paramétrage manuel ====== ===== Paramétrage manuel ======
Ligne 183: Ligne 141:
 MSS possède son propre fichier de paramétrage, sftp_config. MSS possède son propre fichier de paramétrage, sftp_config.
  
-  sudo nano /etc/ssh/sftp_config  +  sudo nano /etc/ssh/sftp_config  
  
 Les modifications sont immédiates. Voici toutes les [[http://mysecureshell.sourceforge.net/fr/tags.html|directives]] que vous pourrez utiliser :-). Les modifications sont immédiates. Voici toutes les [[http://mysecureshell.sourceforge.net/fr/tags.html|directives]] que vous pourrez utiliser :-).
Ligne 195: Ligne 153:
 La configuration d'[[:ssh#le_fichier_de_configuration_du_serveur_ssh|Openssh-server]] se trouve dans le fichier sshd_config.  La configuration d'[[:ssh#le_fichier_de_configuration_du_serveur_ssh|Openssh-server]] se trouve dans le fichier sshd_config. 
  
-  sudo nano /etc/ssh/sshd_config+  sudo nano /etc/ssh/sshd_config
  
 Toute modification ne sera prise en compte qu'après un redémarrage du serveur. Toute modification ne sera prise en compte qu'après un redémarrage du serveur.
  
-  sudo /etc/init.d/ssh restart +  sudo /etc/init.d/ssh restart
- +
  
 ===== Sécurité ===== ===== Sécurité =====
Ligne 216: Ligne 172:
 ==== Se protéger contre le SSH Brute Force ==== ==== Se protéger contre le SSH Brute Force ====
  
-Généralement les mots de passe de la plupart des logiciels sont stockés cryptés dans un fichier. Pour obtenir un mot de passe, il suffit de récupérer ce fichier et de lancer un logiciel de brute force cracking. Ce procédé consiste à tester de façon exhaustive toutes les combinaisons possibles de caractères (alphanumériques + symboles), de manière à trouver au moins un mot de passe valide.+Généralement les mots de passe de la plupart des logiciels sont stockés chiffrés dans un fichier. Pour obtenir un mot de passe, il suffit de récupérer ce fichier et de lancer un logiciel de brute force cracking. Ce procédé consiste à tester de façon exhaustive toutes les combinaisons possibles de caractères (alphanumériques + symboles), de manière à trouver au moins un mot de passe valide.
 Cette attaque se base sur le fait que n'importe quel mot de passe est crackable. Ce n'est qu'une histoire de temps. Mais la puissance des machines double tous les deux ans. De plus, les crackers n'hésitent pas à fabriquer des cartes électroniques de cracking, ce qui améliore en conséquence la rapidité de la machine, et donc les chances de trouver un mot de passe valide. Cette attaque se base sur le fait que n'importe quel mot de passe est crackable. Ce n'est qu'une histoire de temps. Mais la puissance des machines double tous les deux ans. De plus, les crackers n'hésitent pas à fabriquer des cartes électroniques de cracking, ce qui améliore en conséquence la rapidité de la machine, et donc les chances de trouver un mot de passe valide.
-En général, cette méthode est empruntée lorsque la [[http://www.securiteinfo.com/attaques/cracking/dictionarycracking.shtml|méthode du dictionary cracking]] a échoué. +En général, cette méthode est empruntée lorsque la [[http://www.securiteinfo.com/attaques/cracking/dictionarycracking.shtml|méthode du dictionary cracking]] a échoué.
  
 Pour se faire lire : Pour se faire lire :
Ligne 230: Ligne 186:
  
 **[[:fail2ban]]** permet de se protéger contre le brute-force du serveur SSH en bloquant les demandes en provenance d'une adresse IP qui a déjà émis trop de demandes. Les seuils (durée, nombre de requêtes) sont personnalisables. **[[:fail2ban]]** permet de se protéger contre le brute-force du serveur SSH en bloquant les demandes en provenance d'une adresse IP qui a déjà émis trop de demandes. Les seuils (durée, nombre de requêtes) sont personnalisables.
 +
 +===== Voir aussi =====
 +
 +  * [[https://github.com/mysecureshell/mysecureshell|GitHub]]
 +  * **(//en//)** [[https://mysecureshell.readthedocs.io/en/latest/|documentation]]
  
 ---- ----
 //Contributeurs : [[utilisateurs:arvin]]// //Contributeurs : [[utilisateurs:arvin]]//