ProFTPD est un serveur FTP gratuit, open source et le plus populaire pour les systèmes d'exploitation de type Unix. ProFTPD vous permet de créer une connexion FTP entre votre ordinateur local et le serveur distant. C'est un serveur FTP polyvalent qui prend en charge TLS (SSL) pour des connexions sécurisées.
Caractéristiques
- Prend en charge IPv4 et IPv6.
- Prend en charge .ftpaccess pour sécuriser par répertoire.
- Permettez-nous de configurer plusieurs serveurs FTP virtuels et services FTP anonymes.
- Assurer la prise en charge du mot de passe fantôme, du cryptage utmp/wtmp, SSL/TLS et de RADIUS
- Peut s'exécuter 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 votre serveur.
Mise en route
Avant de commencer, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois votre serveur mis à jour, redémarrez votre serveur pour appliquer les modifications.
Installer ProFTPD
Par défaut, ProFTPD est disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous pouvez l'installer en exécutant simplement la commande suivante :
apt-get install proftpd -y
Après avoir installé ProFTPD, démarrez le service ProFTPD et activez-le au démarrage avec la commande suivante :
systemctl start proftpd
systemctl enable proftpd
Vous pouvez vérifier l'état du service ProFTPD avec la commande suivante :
systemctl status proftpd
Vous devriez voir le résultat suivant :
? 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.
Les fichiers de configuration par défaut de ProFTPD se trouvent dans /etc/proftpd/proftpd.conf. Vous pouvez le voir avec la commande suivante :
cat /etc/proftpd/proftpd.conf
Vous devriez voir le résultat suivant :
# # /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
Vous pouvez modifier le paramètre ci-dessus selon vos besoins, comme indiqué ci-dessous :
- Nom du serveur : Vous pouvez le changer comme nom de serveur par défaut.
- UtiliserIPV6 : Vous pouvez le désactiver en le désactivant.
- Racine par défaut : Vous pouvez décommenter cette ligne pour limiter les utilisateurs à leurs dossiers personnels.
- Port : Vous pouvez définir votre propre port en le modifiant.
- Journal système : L'emplacement par défaut du fichier journal. Vous pouvez le modifier selon vos besoins.
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Sécuriser ProFTPD avec TLS
ProFTPD est maintenant installé. Maintenant, vous devrez configurer ProFTPD avec TLS pour des connexions FTP sécurisées.
Avant de commencer, vous devrez installer OpenSSL sur votre serveur. Vous pouvez l'installer en exécutant simplement la commande suivante :
apt-get install openssl -y
Une fois l'installation terminée, générez 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épondez à 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 générera deux fichiers /etc/ssl/private/proftpd.key et /etc/ssl/certs/proftpd.crt.
Ensuite, fournissez 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer ProFTPD pour utiliser SSL
Ensuite, vous devrez configurer ProFTPD pour utiliser les certificats SSL. Vous pouvez le faire en éditant le fichier /etc/proftpd/proftpd.conf :
nano /etc/proftpd/proftpd.conf
Décommentez la ligne suivante :
Include /etc/proftpd/tls.conf
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, ouvrez le fichier /etc/proftpd/tls.conf :
nano /etc/proftpd/tls.conf
Modifiez 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
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service ProFTPD avec la commande suivante :
systemctl restart proftpd
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer un utilisateur pour ProFTPD
Ensuite, vous devrez créer un utilisateur ProFTPD pour accéder au serveur. Vous pouvez le faire avec la commande suivante :
adduser ftp1
Répondez à 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 vous avez terminé, vous pouvez 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, vous devrez installer FileZilla sur votre système client. Vous pouvez l'installer en exécutant simplement la commande suivante :
apt-get install filezilla -y
Une fois l'installation terminée, vous pouvez ouvrir le tableau de bord FileZilla depuis Unity comme indiqué ci-dessous :
Maintenant, cliquez sur le Gestionnaire de site sur le panneau de gauche et créez un nouveau site. Vous devriez voir la page suivante :
Maintenant, fournissez l'adresse IP de votre serveur FTP, sélectionnez le protocole, sélectionnez Cryptage, sélectionnez le type de connexion, indiquez le nom d'utilisateur et le mot de passe. Ensuite, cliquez sur Se connecter bouton. Vous devriez voir la page suivante :
Maintenant, acceptez le certificat, cochez "Toujours faire confiance au certificat dans les sessions futures" et cliquez sur OK bouton. Après une connexion réussie, vous devriez voir la page suivante :
Vous pouvez désormais transférer des fichiers en toute sécurité via SSL/TLS.
Toutes nos félicitations! vous avez installé et configuré avec succès le serveur ProFTPD et le sécurisez avec le cryptage SSL/TLS. Vous pouvez maintenant transférer facilement votre fichier de votre ordinateur local vers un serveur FTP avec un cryptage sécurisé. N'hésitez pas à me demander si vous avez des questions.