informatique:linux:proftpd
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| informatique:linux:proftpd [2009/03/13 13:42] – benoit | informatique:linux:proftpd [2009/05/05 12:08] (Version actuelle) – benoit | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| - | + | ===== Installation | |
| - | ===== Compilation et 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 25: | 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' | Récupérer l' | ||
| Ligne 34: | Ligne 35: | ||
| Installation et compilation de proftpd : | Installation et compilation de proftpd : | ||
| cd / | cd / | ||
| - | ./configure --prefix=/usr/local/proftpd --sysconfdir=/ | + | |
| + | | ||
| make clean | make clean | ||
| make | make | ||
| make install | make install | ||
| - | ===== Utiliser PROFTPD avec SSL ===== | + | ===== Configuration |
| - | ==== Générer le certificat | + | ==== Configuration basic ==== |
| - | Se positionner dans le répertoire de configuration apache : | + | Exemple d' |
| - | cd / | + | |
| - | + | ||
| - | Lancer la commande | + | |
| - | openssl genrsa -out server.key 1024 | + | |
| - | + | ||
| - | A partir de notre clé privée nous allons créer notre fichier de demande de signature (Certificate Signing Request) : | + | |
| - | openssl req -new -key server.key -out request.csr | + | |
| - | + | ||
| - | Auto-signer la clé et créer | + | |
| - | openssl x509 -req -days 365 -in request.csr -signkey server.key -out server.crt | + | |
| + | # Permet de cloisonner les utilisateurs dans leur répertoire : | ||
| + | DefaultRoot ~ | ||
| + | | ||
| + | # L' | ||
| + | RequireValidShell | ||
| + | | ||
| + | # Evite les requetes DNS du serveur et permet donc une authentification plus rapide | ||
| + | IdentLookups | ||
| + | UseReverseDNS | ||
| + | | ||
| + | # Permet de définir la plage de ports pour les connexion passive | ||
| + | # Plage de port à laisser passer par le FireWall | ||
| + | PassivePorts 49152 49500 | ||
| + | | ||
| + | # Ceci permet de limiter l' | ||
| + | < | ||
| + | DenyAll | ||
| + | </ | ||
| + | < | ||
| + | AllowAll | ||
| + | </ | ||
| + | ==== Configuration avec SSL ==== | ||
| + | === Générer le certificat === | ||
| + | Se positionner dans le répertoire de configuration de proftpd : | ||
| + | cd / | ||
| + | Pour générer le certificat voir : [[openssl# | ||
| - | ==== Configuration | + | === Configuration === |
| Ajouter les lignes suivantes dans le fichier de configuration ''/ | Ajouter les lignes suivantes dans le fichier de configuration ''/ | ||
| Ligne 97: | Ligne 115: | ||
| Cette configuration oblige une connexion sécurisée au client. | Cette configuration oblige une connexion sécurisée au client. | ||
| - | + | === Tester === | |
| - | ==== Tester | + | |
| Lancer la commande suivante pour tester : | Lancer la commande suivante pour tester : | ||
| openssl s_client -connect 127.0.0.1: | openssl s_client -connect 127.0.0.1: | ||
| Ligne 108: | Ligne 125: | ||
| Mot de passe: | Mot de passe: | ||
| + | Liste des client FTPS et FTPES | ||
| + | |||
| + | * lftp : (disponible dans la plupart des distributions Linux) | ||
| + | * Filezilla : http:// | ||
| + | * CoreFTP : http:// | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Configuration avec Mysql ==== | ||
| + | |||
| + | Pour activer proftpd avec Mysql et authentifier les utilisateurs avec un compte de la base de données | ||
| + | |||
| + | AuthOrder | ||
| + | SQLEngine on | ||
| + | SQLBackend mysql | ||
| + | SQLAuthenticate user | ||
| | | ||
| + | # Indique le type de mot de passe s'il est clair ou chiffré choix : Plaintext Crypt OpenSSL | ||
| + | SQLAuthTypes OpenSSL | ||
| + | | ||
| + | # Auth base Mysql | ||
| + | SQLConnectInfo proftpd@mysqlserver: | ||
| + | | ||
| + | # SQLUserInfo [ user-table user-name passwd uid gid home-dir shell] | ||
| + | SQLUserInfo users username password uid gid homedir shell | ||
| + | | ||
| + | # Activation ou non du compte | ||
| + | # | ||
| + | | ||
| + | # Evite affichage nom compte systeme | ||
| + | SQLMinUserUID 700 | ||
| + | SQLMinUserGID 700 | ||
| + | | ||
| + | # Mise a jour droits pendant la session | ||
| + | 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 " | ||
| + | |||
| + | 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' | ||
| + | |||
| + | SQLNamedQuery R SELECT " | ||
| + | SQLLog PASS, | ||
| + | SQLNamedQuery updatecount UPDATE " | ||
| + | SQLLog RETR, | ||
| + | SQLNamedQuery emissions INSERT "'',' | ||
| + | SQLLog STOR, | ||
| + | SQLNamedQuery receptions INSERT "'',' | ||
| + | SQLLog PASS, | ||
| + | SQLNamedQuery debutconnexions INSERT "'',' | ||
| + | SQLLog EXIT, | ||
| + | SQLNamedQuery finconnexions UPDATE " | ||
| + | SQLLog MKD,ERR_MKD creationsr | ||
| + | SQLNamedQuery creationsr INSERT "'',' | ||
| + | SQLLog RMD,ERR_RMD suppressionsr | ||
| + | SQLNamedQuery suppressionsr INSERT "'',' | ||
| + | SQLLog DELE, | ||
| + | SQLNamedQuery suppressionsf INSERT "'',' | ||
| + | SQLLog RNTO, | ||
| + | SQLNamedQuery renames INSERT "'',' | ||
| - | ===== Utiliser PROFTPD avec Mysql ===== | + | ===== Documentation |
| + | * http:// | ||
informatique/linux/proftpd.1236951744.txt.gz · Dernière modification : (modification externe)
