Soutenir Vision du Web dans son partage de logiciels et de ressources libres

Ce mineur crée de la monnaie numérique Monero pour soutenir Vision du web.
Merci de désactiver votre bloqueur de publicité.
Aucune publicité ne sera affichée.
Le mineur utilise les ressources de votre machine pour créer gratuitement de la monnaie numérique.
Le montant des donations pour Vision du web est de 0.065845453971182 Monero.

Installer et utiliser un serveur proFTPd pureFTPd vsFTPd

De Wiki. Analyse, Communication, Développement, Hacking.
Révision datée du 29 août 2018 à 04:07 par Anonymous (discussion | contributions) (ProFTPd)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
Naviguer sur le site : Accueil du site - Les annuaires - Les éditoriaux - Le forum - Les outils - Les projets
 
Consulter le contenu en étant déconnecté du réseau : Exporter le sommaire de cette page vers un document PDF

Installer et utiliser un serveur ProFTPd pureFTPd vsFTPd

Si vous souhaitez un serveur modulaire et paramétrable à souhaits, installer alors ProFTPd.
Si vous avez peu d'utilisateurs, privilégier un serveur FTP simple et sécurisé, installer alors PureFTPd.
Si vous voulez faire tourner un serveur FTP avec beaucoup d’utilisateurs, installer alors vsFTPd.

ProFTPd

ProFTPd est un ancien serveur FTP très connu. Il a pu évoluer ce qui en fait aujourd’hui un serveur complet en plugin avec une configuration facilitée.
Sa popularité fait qu’on peut trouver beaucoup d’aide sur Internet mais également le soumet à d'avantage de tentatives de hacking.
Penser à bien conserver son serveur ProFTPd à jour.
Xampp utilise ProFTPd comme serveur FTP par défaut.
Site officiel : http://www.proftpd.org

Installer ProFTPd

La commande pour installer ProFTPd

sudo apt install proftpd
Si nécessaire, Gproftpd est l'interface graphique de proftpd. Le nom du paquet est gadmin-proftpd.
En savoir plus : https://doc.ubuntu-fr.org/gproftpd

Détails de l'installation

[email protected]:/home/utilisateur# apt install proftpd
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Note : sélection de « proftpd-basic » au lieu de « proftpd »
The following additional packages will be installed:
libmemcached11 libmemcachedutil2
Paquets suggérés :
openbsd-inetd | inet-superserver proftpd-doc proftpd-mod-ldap
proftpd-mod-mysql proftpd-mod-odbc proftpd-mod-pgsql proftpd-mod-sqlite
proftpd-mod-geoip
Les NOUVEAUX paquets suivants seront installés :
libmemcached11 libmemcachedutil2 proftpd-basic
0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 2 593 ko dans les archives.
Après cette opération, 4 841 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
Réception de:1 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmemcached11 amd64 1.0.18-4.1 [93,7 kB]
Réception de:2 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmemcachedutil2 amd64 1.0.18-4.1 [22,3 kB]
Réception de:3 http://cdn-fastly.deb.debian.org/debian stable/main amd64 proftpd-basic amd64 1.3.5b-4 [2 477 kB]
2 593 ko réceptionnés en 5min 38s (7 668 o/s)                                  
Sélection du paquet libmemcached11:amd64 précédemment désélectionné.
(Lecture de la base de données... 109841 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libmemcached11_1.0.18-4.1_amd64.deb ...
Dépaquetage de libmemcached11:amd64 (1.0.18-4.1) ...
Sélection du paquet libmemcachedutil2:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../libmemcachedutil2_1.0.18-4.1_amd64.deb ...
Dépaquetage de libmemcachedutil2:amd64 (1.0.18-4.1) ...
Sélection du paquet proftpd-basic précédemment désélectionné.
Préparation du dépaquetage de .../proftpd-basic_1.3.5b-4_amd64.deb ...
Dépaquetage de proftpd-basic (1.3.5b-4) ...
Paramétrage de libmemcached11:amd64 (1.0.18-4.1) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u1) ...
Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
Paramétrage de libmemcachedutil2:amd64 (1.0.18-4.1) ...
Paramétrage de proftpd-basic (1.3.5b-4) ...
Attention ! Impossible d'accéder au répertoire personnel que vous avez indiqué (/run/proftpd) : No such file or directory.
Ajout de l'utilisateur système « proftpd » (UID 115) ...
Ajout du nouvel utilisateur « proftpd » (UID 115) avec pour groupe d'appartenance « nogroup » ...
Le répertoire personnel « /run/proftpd » n'a pas été créé.
Ajout de l'utilisateur système « ftp » (UID 116) ...
Ajout du nouvel utilisateur « ftp » (UID 116) avec pour groupe d'appartenance « nogroup » ...
Création du répertoire personnel « /srv/ftp »...
'/usr/share/proftpd/templates/welcome.msg' -> '/srv/ftp/welcome.msg.proftpd-new'
Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u1) ...
Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...

Retenir les paquets suggérés

openbsd-inetd | inet-superserver proftpd-doc proftpd-mod-ldap
proftpd-mod-mysql proftpd-mod-odbc proftpd-mod-pgsql proftpd-mod-sqlite
proftpd-mod-geoip

Configuration de base de ProFTPd

Ouvrir le fichier de configuration de ProFTPd : /etc/proftpd/proftpd.conf
sudo nano /etc/proftpd/proftpd.conf
# Bloquer chaque utilisateur dans son répertoire /home et éviter qu’il n'ait accès à tout le serveur.
DefaultRoot ~
# Désactiver les traitements DNS de proftpd pour permettre une connexion rapide au serveur (Tester les deux et voir la différence).
IdentLookups off
UseReverseDNS off
# Il est préférable de décommenter l'option RequireValidShell pour pouvoir ajouter des utilisateurs sans accès ssh.
RequireValidShell               off
# Si vous utilisez un pare-feu sur votre serveur, décommenter la ligne PassivePorts en définissant une intervalle de ports.
# Dans cet exemple, les ports 49000 à 50000 sont utilisés pour les connexions FTP passives.
PassivePorts                  49000 50000
# Autoriser les ports dans votre pare-feu.
ufw allow 49000:50000/tcp
Le serveur est installé.
Des options supplémentaires sont offertes avec des plugins.
Redémarrer le serveur ProFTPd pour appliquer les changements de configuration :
/etc/init.d/proftpd restart
service proftpd restart
La configuration complète de proftpd.conf : http://www.octetmalin.net/linux/tutoriels/proftpd-fichier-proftpd.conf.php

Créer un utilisateur FTP

### Créer un utilisateur système pour accéder au serveur FTP :
### sudo addgroup nom_user
### sudo adduser --ingroup nom_user nom_user
# Préférer cette seconde méthode pour ajouter un utilisateur à ProFTPd.
# Définir le dossier --home qui correspond au dossier du site web de l'utilisateur.
# Ajouter l'utilisateur au groupe www-data pour qu’il n’y ai pas de problème au niveau des permissions.
# Ajouter la directive --shell /bin/false qui interdit l'accès au shell pour le nouvel utilisateur créé.
# Précédemment nous avons définit que l'utilisation du serveur FTP ne nécessitait pas d'un accès valide au shell.
adduser --home /var/www/html/votredomaine.tld/ftp --shell /bin/false --ingroup www-data nom_user
# Cela va créer le répertoire personnel de l’utilisateur dans le répertoire /home
# Lors de la création de cet utilisateur, saisir quelques renseignements, le plus important étant le mot de passe.
Pour ajouter les permissions au groupe sur un dossier :
chmod -R g+rw /var/www/html/domaine
L'utilisateur pourra ajouter ou supprimer des fichiers en se connectant via un client ftp.
Il ne pourra pas accéder à d'autres fichiers que ceux présents dans sont dossier --home et il n'aura pas accès au serveur via ssh.
# On peut désormais configurer notre client FTP pour se connecter:
host: IP_serveur
login: nom_user
mot de passe : pass_user
L'utilisateur peut se connecter à son espace FTP personnel avec l'IP du serveur, sur le port 21, et, le nom_user et pass_user de l'utilisateur précédemment créé.
On arrive alors dans le dossier /home/nom_user et les dossiers parents ne peuvent pas être visités.
Trois fichiers sont présents et accessibles en écriture ou en suppression.
.bash_logout
.bashrc
.profile
Le dossier www créé par la suite, pour permettre l'ajout d'un site à l'utilisateur, est disponible et accessible en écriture ou en suppression.
Voir si il est possible d'interdire la suppression.

Créer le répertoire www de l'utilisateur et configurer mod_userdir sur le serveur Apache2

Une fois connecté, créer un répertoire www qui contiendra une page d’accueil index.html.
# Il faut dans un premier temps activer le module userdir dans Apache.
sudo a2enmod userdir
# Redémarrer Apache2.
sudo systemctl restart apache2
# Éditer la configuration :
sudo nano /etc/apache2/mods-enabled/userdir.conf
<IfModule mod_userdir.c>
 UserDir www
 UserDir disabled root
  <Directory /home/*/www>
   AllowOverride FileInfo AuthConfig Limit
   Options Indexes SymLinksIfOwnerMatch IncludesNoExec
  </Directory>
</IfModule>
# Redémarrer Apache2.
sudo service apache2 restart
La page d'accueil depuis l’adresse http://ip_serveur/~nom_utilisateur/ devrait s'afficher.

Configurer Apache2 pour faire pointer mondomaine.com sur /home/nom_user/www

Dans le répertoire /etc/apache2/sites-available créer le fichier mondomaine.com et ajouter les instructions suivantes:
nano /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *>
 ServerName www.mondomaine.com
 ServerAlias mondomaine.com www.mondomaine.com
 ServerAdmin [email protected]

 DocumentRoot /home/nom_utilisateur/www
 ScriptAlias /cgi/ "/home/nom_utilisateur/cgi-bin/"

 <Directory /home/nom_utilisateur/www>
 Options -Indexes
 </Directory>

 php_admin_value open_basedir "/tmp:/var/lib/php:/home/nom_utilisateur/www"
</VirtualHost>
Il est important de ne pas oublier le paramètre open_basedir de PHP.
Il empêche les scripts PHP de lire les fichiers du serveur en cloisonnant les scripts PHP dans le répertoire www/
Relancer Apache :
sudo service apache2 restart

Ajouter des hôtes virtuels

# Facultatif.
ProFTPd mise en oeuvre d'hôtes virtuels : http://www.octetmalin.net/linux/tutoriels/proftpd-mise-en-oeuvre-hote-virtuel.php
ProFTPd fichier de configuration virtuals.conf : http://www.octetmalin.net/linux/tutoriels/proftpd-fichier-virtuals.conf.php

Sécuriser votre serveur FTP

Ouvrir le fichier de configuration de ProFTPd

sudo nano /etc/proftpd/proftpd.conf
# Décommenter la ligne suivante pour charger le fichier de configuration de TLS.
Include /etc/proftpd/tls.conf

Ouvrir le fichier de configuration TLS

sudo nano /etc/proftpd/tls.conf
# Décommenter les lignes suivantes :
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSVerifyClient off
## TLS obligatoire (off si possibilité de se connecter sans tls)
TLSRequired on
Include /etc/proftpd/tls.conf
## Décommenter les deux lignes suivantes permet de charger les certificats.
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key

Création de la clé

sudo openssl genrsa -out /etc/ssl/private/proftpd.key 1024
Protéger la clé : chmod 440 proftpd.key ?

Création du certificat

sudo openssl req -new -x509 -days 3650 -key /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt

Relancer le serveur FTP pour prendre en compte la nouvelle configuration

sudo service proftpd restart

Interdire la connexion à des utilisateurs depuis le fichier ftpusers

Le contenu du fichier "ftpusers" se trouve dans le répertoire /etc/.
Il contient la liste de tous les utilisateurs qui n'ont pas le droit ce connecter via le démon du serveur FTP.
Pour ajouter un utilisateur il suffit d'éditer le fichier avec un éditeur de texte et de rajouter le nom de l'utilisateur.
Un seul nom de compte utilisateur par ligne. Les noms commençants par # seront ignorées.
Vous pouvez à tout moment voir qui est connecté à votre serveur avec la commande :
ftpwho
Consulter les statistiques avec la commande :
ftpstats

Quelques erreurs possibles

ProFTPd ne démarre pas

# Consulter le mode verbose :
sudo proftpd -td10
# Affiche :
fatal: unknown configuration directive 'Default' on line 39 of '/etc/proftpd/proftpd.conf'
Ici, la directive Default Root n'est pas reconnue. Le mot clé à utiliser est DefaultRoot tout attaché.

Memcache support not enabled

Si en redémarrant le demon, vous avez un message d’erreur du style :
mod_tls_memcache/0.1: notice: unable to register 'memcache' SSL session cache: Memcache support not enabled
# Éditer le fichier /etc/proftpd/modules.conf et commenter la ligne:
LoadModule mod_tls_memcache.c

Attaques proFTPd

Changer le port FTP.
Configurer les jails.

PureFTPd

PureFTPd se veut être sécurisé avant tout.
Il est simple à configurer et même si il est moins connu, on trouve pas mal de ressources le concernant depuis un moteur de recherche.
Le tutoriel Debian : https://coagul.org/drupal/publication/installation-et-configuration-serveur-ftp-pure-ftpd-sous-debian
Le tutoriel Fedora : https://doc.fedora-fr.org/wiki/PureFTPD_:_Installation_et_configuration
Le tutoriel Ubuntu : https://doc.ubuntu-fr.org/pure-ftp

vsFTPd

vsftpd signifie : Very Security FTP Daemon.
Il est utilisé par de gros sites tel que ftp.debian.org.
Comme son nom l’indique, c’est un serveur très sécurisé mais également très léger.
Ressource complémentaire : http://generation-linux.fr/index.php?post/2009/04/02/Installation-et-parametrage-de-vstfpd

vsftpd - Se protéger des attaques Brute Force avec TCP Wrapper

www.dsfc.net/infrastructure/securite/vsftpd-se-proteger-des-attaques-en-force-brute-avec-tcp-wrapper/

Bibliographie

ProFTPd

Ok.png Installer un serveur FTP pour plusieurs utilisateurs avec proftpd : https://jesuisadmin.fr/installer-serveur-ftp-plusieurs-utilisateurs-proftpd/
Ok-ko.png Installer et configurer un serveur ProFTPd pour Calculate Linux ou CentOS : https://www.linuxtricks.fr/wiki/ftp-installer-et-configurer-un-serveur-proftpd
Ok-ko.png Serveur FTP : PROFTPD : https://doc.ubuntu-fr.org/proftpd
Ok-ko.png Documentation ProFTPd : http://www.proftpd.org/docs/
Ok-ko.png Exemple de configuration ProFTPd : http://www.proftpd.org/docs/example-conf.html

Veille

Ok-ko.png Source : https://www.google.fr/search?client=opera&q=monter+un+ftp+dans+le+fstab&sourceid=opera&ie=UTF-8&oe=UTF-8
Ok-ko.png Source : https://monprojetsio.wordpress.com/2013/04/02/installation-et-configuration-dun-serveur-ftp-filezilla/
Ok-ko.png Source : http://chrtophe.developpez.com/tutoriels/acces-serveur-distant/

NAVIGATION

PARTICIPER ET PARTAGER

Vous êtes sur le wiki de Vision du Web.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Pour participer sur le wiki, créer un compte utilisateur en haut à droite.
La recherche interne du wiki permet de trouver le contenu qui vous intéresse.
Identifiez-vous pour poser vos questions sur la page de discussion de VisionDuWeb.
Améliorer le contenu des pages en faisant des propositions depuis l'onglet discussion.
Pour écrire en Markdown : Éditeur - Générateur de tableau 1 - Générateur de tableau 2.
Les informations du wiki ne doivent pas servir à nuire à autrui ou à un système informatique.
De nombreux outils gratuits sont listés et disponibles dans la boîte à outils de Vision du web.
D'autres pages du wiki peuvent correspondre à vos attentes. La liste de toutes les pages du wiki.

VALORISER LE WIKI

Valoriser le contenu partagé sur le wiki avec un don en monnaie numérique :
Bitcoins (BTC) - Bitcoins Cash - Bitcoins Gold - Bitcore (BTX) - Blackcoins - Bytecoins - Clams - Dash - Monero - Dogecoins - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Gagner des Altcoins - Miner des Altcoins.