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/ | ||