Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:linux:proftpd [2009/03/19 10:20] benoit |
informatique:linux:proftpd [2018/09/06 19:10] (Version actuelle) |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
- | ===== Installation ===== | ||
+ | ===== Installation ===== | ||
+ | ==== Pré-requis ==== | ||
Installer les paquetages pré-requis à la compilation de proftpd : | Installer les paquetages pré-requis à la compilation de proftpd : | ||
* gcc-4.1.2-44.el5.i386.rpm | * gcc-4.1.2-44.el5.i386.rpm | ||
Ligne 23: | Ligne 24: | ||
* perl-DBI-1.52-2.el5.i386.rpm | * perl-DBI-1.52-2.el5.i386.rpm | ||
* mysql-devel-5.0.45-7.el5.i386.rpm | * mysql-devel-5.0.45-7.el5.i386.rpm | ||
+ | |||
+ | ==== Installation ==== | ||
Récupérer l'archive de proftpd sur http://www.proftpd.org | Récupérer l'archive de proftpd sur http://www.proftpd.org | ||
Ligne 39: | Ligne 42: | ||
===== Configuration ===== | ===== Configuration ===== | ||
+ | |||
Ligne 46: | Ligne 50: | ||
# Permet de cloisonner les utilisateurs dans leur répertoire : | # Permet de cloisonner les utilisateurs dans leur répertoire : | ||
DefaultRoot ~ | DefaultRoot ~ | ||
+ | | ||
# L'utilisateur FTP n'est pas obligé d'avoir un SHELL valide (telque bash, ksh etc...) pour se connecter | # L'utilisateur FTP n'est pas obligé d'avoir un SHELL valide (telque bash, ksh etc...) pour se connecter | ||
RequireValidShell no | RequireValidShell no | ||
+ | | ||
# Evite les requetes DNS du serveur et permet donc une authentification plus rapide | # Evite les requetes DNS du serveur et permet donc une authentification plus rapide | ||
IdentLookups off | IdentLookups off | ||
UseReverseDNS off | UseReverseDNS off | ||
+ | | ||
# Permet de définir la plage de ports pour les connexion passive | # Permet de définir la plage de ports pour les connexion passive | ||
# Plage de port à laisser passer par le FireWall | # Plage de port à laisser passer par le FireWall | ||
PassivePorts 49152 49500 | PassivePorts 49152 49500 | ||
- | + | | |
+ | # Ceci permet de limiter l'accès FTP à /var/ftp | ||
+ | <Directory /> | ||
+ | DenyAll | ||
+ | </Directory> | ||
+ | <Directory /var/ftp> | ||
+ | AllowAll | ||
+ | </Directory> | ||
==== Configuration avec SSL ==== | ==== Configuration avec SSL ==== | ||
Ligne 117: | Ligne 130: | ||
* Filezilla : http://filezilla-project.org | * Filezilla : http://filezilla-project.org | ||
* CoreFTP : http://www.coreftp.com | * CoreFTP : http://www.coreftp.com | ||
+ | |||
+ | |||
Ligne 126: | Ligne 141: | ||
Pour activer proftpd avec Mysql et authentifier les utilisateurs avec un compte de la base de données | Pour activer proftpd avec Mysql et authentifier les utilisateurs avec un compte de la base de données | ||
+ | AuthOrder mod_sql.c mod_auth_unix.c | ||
SQLEngine on | SQLEngine on | ||
SQLBackend mysql | SQLBackend mysql | ||
- | SQLAuthenticate on | + | SQLAuthenticate user |
| | ||
# Indique le type de mot de passe s'il est clair ou chiffré choix : Plaintext Crypt OpenSSL | # Indique le type de mot de passe s'il est clair ou chiffré choix : Plaintext Crypt OpenSSL | ||
Ligne 134: | Ligne 150: | ||
| | ||
# Auth base Mysql | # Auth base Mysql | ||
- | SQLConnectInfo proftpd@mysqlserver proftpd password | + | SQLConnectInfo proftpd@mysqlserver:4020 proftpd password |
+ | | ||
# SQLUserInfo [ user-table user-name passwd uid gid home-dir shell] | # SQLUserInfo [ user-table user-name passwd uid gid home-dir shell] | ||
SQLUserInfo users username password uid gid homedir shell | SQLUserInfo users username password uid gid homedir shell | ||
| | ||
# Activation ou non du compte | # Activation ou non du compte | ||
- | SQLUserWhereClause "LoginAllowed = 'true'" | + | #SQLUserWhereClause "LoginAllowed = 'true'" |
| | ||
# Evite affichage nom compte systeme | # Evite affichage nom compte systeme | ||
Ligne 147: | Ligne 164: | ||
# Mise a jour droits pendant la session | # Mise a jour droits pendant la session | ||
SQLNegativeCache on | SQLNegativeCache on | ||
+ | |||
+ | Si le mode **OpenSSL** est choisi pour la directive **SQLAuthTypes** le chiffrement du mot de passe se fera par exemple ainsi : | ||
+ | /bin/echo "{sha256}"$(/bin/echo -n "secret" | openssl dgst -binary -sha256 | openssl enc -base64) | ||
+ | |||
+ | Le résultat de la commande doit être inséré dans le champs mot de passe de la base. | ||
Exemple de configuration pour logguer l'activité dans la base : | Exemple de configuration pour logguer l'activité dans la base : | ||
Ligne 169: | Ligne 191: | ||
SQLLog RNTO,ERR_RNTO renames | SQLLog RNTO,ERR_RNTO renames | ||
SQLNamedQuery renames INSERT "'','%u',now(),now(), '%h','%f','%r','%s',%P,%R" renames | SQLNamedQuery renames INSERT "'','%u',now(),now(), '%h','%f','%r','%s',%P,%R" renames | ||
+ | |||
+ | ===== Documentation ===== | ||
+ | * http://www.proftpd.org/docs/ |