Outils pour utilisateurs

Outils du site


informatique:linux:proftpd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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/13 17:24]
benoit
informatique:linux:proftpd [2018/09/06 19:10] (Version actuelle)
Ligne 1: Ligne 1:
 ====== ​ PROFTPD ====== ====== ​ PROFTPD ======
  
-===== 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 22: 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 31: Ligne 35:
 Installation et compilation de proftpd : Installation et compilation de proftpd :
   cd /​ap01/​ftpserver/​src/​proftpd-1.3.2rc4   cd /​ap01/​ftpserver/​src/​proftpd-1.3.2rc4
-  ./configure --prefix=/usr/local/proftpd --sysconfdir=/​usr/local/​proftpd/​etc --localstatedir=/​ap01/​ftpserver/​appl/​proftpd/​var ​ --with-modules=mod_tls:​mod_sql:​mod_sql_mysql --with-includes=/​usr/​include/​mysql --with-libraries=/​usr/​lib/​mysql+  ​CFLAGS=-DHAVE_OPENSSL LIBS=-lcrypto 
 +  ​./configure --prefix=/ap01/ftpserver/​appl/proftpd --sysconfdir=/​ap01/ftpserver/​appl/​proftpd/​etc --localstatedir=/​ap01/​ftpserver/​appl/​proftpd/​var ​ --with-modules=mod_tls:​mod_sql:​mod_sql_mysql --with-includes=/​usr/​include/​mysql:/​usr/​include/​openssl ​--with-libraries=/​usr/​lib/​mysql:/​usr/​lib/​openssl
   make clean   make clean
   make   make
Ligne 37: Ligne 42:
  
 ===== Configuration ===== ===== Configuration =====
 +
  
  
Ligne 44: 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 60: Ligne 76:
   cd /​usr/​local/​proftpd/​etc   cd /​usr/​local/​proftpd/​etc
  
-Lancer la commande pour générer ​la clé privée RSA : +Pour générer le certificat ​voir [[openssl#​creer_un_certificat_ssl|Créer un certificat SSL avec OpenSSL]]
-  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 ​le certificat ​ : +
-  ​openssl ​x509 -req -days 365 -in request.csr -signkey server.key -out server.crt+
  
 === Configuration === === Configuration ===
Ligne 121: Ligne 130:
   * Filezilla : http://​filezilla-project.org   * Filezilla : http://​filezilla-project.org
   * CoreFTP : http://​www.coreftp.com   * CoreFTP : http://​www.coreftp.com
 +
 +
 +
  
  
Ligne 129: 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
   ​   ​
-  # Type de cryptage +  # Indique le type de mot de passe s'il est clair ou chiffré choix : Plaintext Crypt OpenSSL 
-  SQLAuthTypes ​Plaintext Crypt OpenSSL+  SQLAuthTypes OpenSSL
   ​   ​
   # 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 150: 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 172: 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/​
informatique/linux/proftpd.1236961440.txt.gz · Dernière modification: 2018/09/06 19:00 (modification externe)