Comment installer ProFTPD avec TLS sur Ubuntu 18.04 LTS
ProFTPD est un serveur FTP gratuit, open source et le plus populaire pour les systèmes d’exploitation de type Unix. ProFTPD te permet de créer une connexion FTP entre ton ordinateur local et le serveur distant. C’est un serveur FTP polyvalent qui prend en charge TLS (SSL) pour les connexions sécurisées.
Caractéristiques
- Prend en charge IPv4 et IPv6.
- Prend en charge .ftpaccess pour sécuriser chaque répertoire.
- Permet de configurer plusieurs serveurs FTP virtuels et des services FTP anonymes.
- Prend en charge le mot de passe shadow, utmp/wtmp, le cryptage SSL/TLS et RADIUS.
- Peut fonctionner en tant que serveur autonome ou depuis inetd/xinetd.
Dans ce tutoriel, nous allons apprendre à installer ProFTPD et à le sécuriser avec TLS sur le serveur Ubuntu 18.04
Exigences
- Un serveur exécutant Ubuntu 18.04.
- Une adresse IP statique 192.168.0.101 est configurée sur le serveur.
- Un mot de passe root est configuré sur ton serveur.
Pour commencer
Avant de commencer, tu dois mettre à jour ton système avec la dernière version. Tu peux le faire en exécutant la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois que ton serveur est mis à jour, redémarre ton serveur pour appliquer les changements.
Installer ProFTPD
Par défaut, ProFTPD est disponible dans le dépôt par défaut d’Ubuntu 18.04. Tu peux l’installer en exécutant simplement la commande suivante :
apt-get install proftpd -y
Après avoir installé ProFTPD, démarre le service ProFTPD et active-le pour qu’il démarre au démarrage avec la commande suivante :
systemctl start proftpd
systemctl enable proftpd
Tu peux vérifier l’état du service ProFTPD avec la commande suivante :
systemctl status proftpd
Tu devrais voir la sortie suivante :
? proftpd.service - LSB: Starts ProFTPD daemon Loaded: loaded (/etc/init.d/proftpd; generated) Active: active (running) since Sat 2019-05-25 09:18:19 UTC; 31s ago Docs: man:systemd-sysv-generator(8) Tasks: 1 (limit: 1114) CGroup: /system.slice/proftpd.service ??1927 proftpd: (accepting connections) May 25 09:18:19 ubuntu1804 systemd[1]: Starting LSB: Starts ProFTPD daemon... May 25 09:18:19 ubuntu1804 proftpd[1906]: * Starting ftp server proftpd May 25 09:18:19 ubuntu1804 proftpd[1906]: ...done. May 25 09:18:19 ubuntu1804 systemd[1]: Started LSB: Starts ProFTPD daemon.
Le fichier de configuration par défaut de ProFTPD se trouve dans /etc/proftpd/proftpd.conf. Tu peux le voir avec la commande suivante :
cat /etc/proftpd/proftpd.conf
Tu devrais voir la sortie suivante :
# # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes, reload proftpd after modifications, if # it runs in daemon mode. It is not required in inetd/xinetd mode. # # Includes DSO modules Include /etc/proftpd/modules.conf # Set off to disable IPv6 support which is annoying on IPv4 only boxes. UseIPv6 on # If set on you can experience a longer connection delay in many cases. IdentLookups off ServerName "Debian" # Set to inetd only if you would run proftpd by inetd/xinetd. # Read README.Debian for more information on proper configuration. ServerType standalone DeferWelcome off MultilineRFC2228 on DefaultServer on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message true ListOptions "-l" DenyFilter \*.*/ # Use this to jail all users in their homes # DefaultRoot ~ # Port 21 is the standard FTP port. Port 21 MaxInstances 30 # Set the user and group that the server normally runs at. User proftpd Group nogroup # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 # Normally, we want files to be overwriteable. AllowOverwrite on TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log
Tu peux modifier les paramètres ci-dessus en fonction de tes besoins, comme indiqué ci-dessous :
- ServerName : Tu peux le modifier comme ton nom de serveur par défaut.
- UseIPV6 : Tu peux le désactiver en le mettant sur off.
- DefaultRoot : Tu peux décommenter cette ligne pour limiter les utilisateurs avec leurs dossiers personnels.
- Port : Tu peux définir ton propre port en le modifiant.
- SystemLog : L’emplacement par défaut du fichier journal. Tu peux le modifier en fonction de tes besoins.
Une fois que tu as terminé, tu peux passer à l’étape suivante.
Sécurise ProFTPD avec TLS
ProFTPD est maintenant installé. Maintenant, tu vas devoir configurer ProFTPD avec TLS pour des connexions FTP sécurisées.
Avant de commencer, tu dois installer OpenSSL sur ton serveur. Tu peux l’installer en exécutant simplement la commande suivante :
apt-get install openssl -y
Une fois l’installation terminée, génère des certificats SSL pour ProFTPd avec la commande suivante :
openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
Réponds à toutes les questions comme indiqué ci-dessous :
Generating a 1024 bit RSA private key .++++++ .......................++++++ writing new private key to '/etc/ssl/private/proftpd.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:IN State or Province Name (full name) [Some-State]:GUJ Locality Name (eg, city) []:Junagadh Organization Name (eg, company) [Internet Widgits Pty Ltd]:IT Organizational Unit Name (eg, section) []:IT Common Name (e.g. server FQDN or YOUR name) []:HITESH Email Address []:[email protected]
La commande ci-dessus va générer deux fichiers /etc/ssl/private/proftpd.key et /etc/ssl/certs/proftpd.crt.
Ensuite, donne les autorisations appropriées aux fichiers générés avec la commande suivante :
chmod 600 /etc/ssl/private/proftpd.key
chmod 600 /etc/ssl/certs/proftpd.crt
Une fois que tu l’as fait, tu peux passer à l’étape suivante.
Configure ProFTPD pour utiliser SSL
Ensuite, tu devras configurer ProFTPD pour qu’il utilise des certificats SSL. Tu peux le faire en modifiant le fichier /etc/proftpd/proftpd.conf :
nano /etc/proftpd/proftpd.conf
Décommente la ligne suivante :
Include /etc/proftpd/tls.conf
Enregistre et ferme le fichier lorsque tu as terminé. Ensuite, ouvre le fichier /etc/proftpd/tls.conf :
nano /etc/proftpd/tls.conf
Modifie les lignes suivantes :
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRequired on TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired TLSVerifyClient off
Sauvegarde et ferme le fichier lorsque tu as terminé. Ensuite, redémarre le service ProFTPD avec la commande suivante :
systemctl restart proftpd
Une fois que tu as terminé, tu peux passer à l’étape suivante.
Créer un utilisateur pour ProFTPD
Ensuite, tu devras créer un utilisateur ProFTPD pour accéder au serveur. Tu peux le faire avec la commande suivante :
adduser ftp1
Réponds à toutes les questions comme indiqué ci-dessous :
Adding user `ftp1' ... Adding new group `ftp1' (1006) ... Adding new user `ftp1' (1002) with group `ftp1' ... Creating home directory `/home/ftp1' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for ftp1 Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
Une fois que tu l’as fait, tu peux passer à l’étape suivante.
Accéder au serveur ProFTPD à l’aide de FileZilla
ProFTPD est maintenant installé et configuré, il est temps d’accéder à ProFTPD via FileZilla depuis le système Client.
Tout d’abord, tu dois installer FileZilla sur ton système Client. Tu peux l’installer en exécutant simplement la commande suivante :
apt-get install filezilla -y
Une fois l’installation terminée, tu peux ouvrir FileZilla à partir du tableau de bord d’Unity, comme indiqué ci-dessous :
Maintenant, clique sur le Site Manager dans le panneau latéral gauche et crée un nouveau site. Tu devrais voir la page suivante :
Maintenant, indique l’adresse IP de ton serveur FTP, sélectionne le protocole, sélectionne le cryptage, sélectionne le type de connexion, indique le nom d’utilisateur et le mot de passe. Ensuite, clique sur le bouton Connecter. Tu devrais voir la page suivante :
Maintenant, accepte le certificat, coche la case « Toujours faire confiance au certificat dans les futures sessions » et clique sur le bouton OK. Après une connexion réussie, tu devrais voir la page suivante :
Tu es maintenant en mesure de transférer des fichiers en toute sécurité via SSL/TLS.
Félicitations ! Tu as réussi à installer et à configurer le serveur ProFTPD et à le sécuriser avec le cryptage SSL/TLS. Tu peux maintenant transférer ton fichier de ton ordinateur local au serveur FTP facilement avec un cryptage sécurisé. N’hésite pas à me demander si tu as des questions.