Pour l’install de Proftp, attention, c’est compliqué
En root :
www:/#apt-get install proftpdEt voilou !!! Reste plus qu’à configurer la bête : tout ce passe dans /etc/proftpd.conf.
Personnellement, je suis reparti d’une conf à ma sauce, surtout que le fichier est relativement léger… un p’tit mv /etc/proftpd.conf /etc/proftpd.conf.original par précaution, puis vi /etc/proftpd.conf :
#
# /etc/proftpd.conf
#
#######################
# REGLAGES GENERAUX : #
#######################
ServerName "FTP on WWW"
# le démon reste en mémoire et écoute les connections
ServerType standalone
#ServerAdmin root@localhost
# Utile surtout pour les "virtuals hosts"
DefaultServer on
# Autoriser l'usage de /etc/ftpusers pour interdire des users
#TO DO: voir quels comptes sont à interdire
UseFtpUsers on
# cache l'identite du serveur
ServerIdent on "FTP Server ready"
DeferWelcome on
# définition du port (standard)
Port 21
# paramétrage réponse du serveur : large compatibilité avec les clients
MultilineRFC2228 on
# Nom et groupe de l'utilisateur sous lequel Proftpd est lancé :
User nobody
Group nogroup
# Auth via PAM (par défaut)
AuthPAM on
AuthPAMConfig proftpd
# Timeout (en secondes) : règle la fermeture de la connection automatiquement
TimeoutStalled 300
TimeoutNoTransfer 300
TimeoutIdle 600
# Nombre de processus fils maximum que va utiliser proftpd : attention >30 attaque DoS
MaxInstances 20
# Nombre maximum de clients simultanés
MaxClients 10
# Nombre maximum de clients ayant le même login
MaxClientsPerHost 2
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Uncomment this if you would use quota module: ???? no doc
#Quotas on
##########################################################
#####################
# SUPPORT SSL/TLS : #
#####################
#Sécurisation des transferts avec TLS - générer le certificat x509 via la commande :
#openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/proftpd.cert.pem -keyout /etc/ssl/certs/proftpd.key.pem
TLSEngine on
#On force toutes les connections avec ssl
TLSRequired on
# logs
TLSLog /var/log/proftpd/proftpd.tls_log
# Protocole
TLSProtocol SSLv23
TLSOptions NoCertRequest
# Certif et key
TLSRSACertificateFile /etc/ssl/certs/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.key.pem
TLSVerifyClient off
##########################################################
#####################
# FORMATS LOGS : #
#####################
LogFormat default "%h %l %u %t \"%r\" %s %b"
# Log des logins
#ExtendedLog /var/log/proftpd/proftpd.auth_log AUTH auth
# Pour les parranos que nous sommes :
ExtendedLog /var/log/proftpd/proftpd.paranoid_log ALL default
#The TransferLog directive configures the full path to the "wu-ftpd style" file transfer log (par defaut)
TransferLog /var/log/xferlog
##########################################################
#####################
# CONTEXTES : #
#####################
# Contexte GLOBAL :
<Global>
# Limite les accès depuis Intranet : adresses privées classe B
<Limit ALL LOGIN>
Order Allow,Deny
Allow from 192.168.
DenyAll
</Limit>
# Chrooter users : Les limiter à leur répertoire personnel
DefaultRoot ~
# NB Pour interdire le ftp à un utilisateur : Ajoutez son nom à la liste contenue dans le fichiers /etc/ftpusers
# Seul le propriétaire d'un fichier peut le modifier.
Umask 022 022
# Messages à l'utilisateur
AccessDenyMsg "Accès non autorisé pour l'utilisateur : %u."
AccessGrantMsg "Bienvenue %u. sur mon FTP."
ListOptions "-l"
HiddenStor on
# Authoriser la reprise des téléchargements :
AllowStoreRestart on
AllowRetrieveRestart on
#Filtres
DenyFilter \*.*/
ShowSymlinks on
# Authorise l'écriture d'un fichier sur un fichier portant le même nom :
AllowOverwrite on
</Global>
<Directory /home>
<Limit LOGIN>
DenyAll
</Limit>
</Directory>
<Directory /~>
HideNoAccess on
# Filtrage par IP internes :
<Limit LOGIN CWD CDUP RETR STOR RNFR RNTO DELE RMD MKD PWD LIST NLIST>
Order Allow,Deny
Allow from 192.168.
# DenyAll
IgnoreHidden on
</Limit>
</Directory>
# Contexte Pages Persos :
#<Directory ~/public_html>
# <Limit LOGIN CWD CDUP RETR STOR RNFR RNTO DELE RMD MKD PWD LIST NLIST>
# AllowAll
# IgnoreHidden on
# </Limit>
#</Directory>
##########################################################
#####################
# OPTIONS SUP.: #
#####################
#Limiter la bande passante : version Sarge
#TransferRate [commande] [débit] [utilisateur/groupe] [nom de l'utilisateur/du groupe]
#pour limiter l'upload à 1Mo/sec pour tout le monde et le download à 2Mo/sec pour l'utilisateur bar on fera :
#TransferRate APPE,STOR 1048576
#TransferRate RETR 2097152 user foo
##########################################################
#####################
# LIMIT OPTIONS: #
#####################
# CWD Pour changer de répertoire courant
# CDUP Pour remonter d'un niveau de répertoire
# RETR Permet de demander l'envoie d'une copie du fichier passé en argument.
# STOR Permet d'envoyer un fichier à stocker sur le serveur FTP distant.
# RNFR Spécifie l'ancien nom du fichier à renommer. Doit être immédiatement suivit par la commande RNTO.
# RNTO Spécifie le nouveau nom du fichier. Ces deux commandes permettent de renommer un fichier.
# DELE Permet d'effacer un fichier.
# DELE Permet d'effacer un fichier.
# RMD Permet d'effacer un répertoire.
# MKD Permet de créer un répertoire.
# PWD Permet d'obtenir le nom du répertoire courant.
# LIST Permet d'obtenir la liste des fichiers du répertoire en paramètre, ou des détails sur le fichier dont le nom a été passé en paramètre.
# NLST Idem LIST, mais ne retourne pas d'informations sur les fichiers, seulement leur nom.Tout est commenté… je crois que ça reste compréhensible…
Toutefois, je vous invite fortement à consulter :
sur Léa-Linux, l’excellent article "Introduction à proftpd" ;
le site officiel du projet ProFTPD.
Tags
Infos
