admin:services:ftp
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édenteDernière révisionLes deux révisions suivantes | ||
admin:services:ftp [2014/05/05 20:17] – Documentation marc.gallet | admin:services:ftp [2018/03/06 22:26] – [Infos de connexion] MàJ david | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
====== Infos de connexion ====== | ====== Infos de connexion ====== | ||
- | | Hôte | ftp.federez.net | | + | | **Hôte** | ftp.federez.net | |
- | | Port | 21 | | + | | **Port** | 21 | |
- | | Protocole | FTPES (FTP avec connexion TLS explicite) | | + | | **Protocole** |
- | | Login | pseudo renseigné dans le LDAP (Exemple: '' | + | | **Login** |
- | | Mot de passe | Celui du compte LDAP | | + | | **Mot de passe** | Celui du compte LDAP. Cf https:// |
====== Infos générales ====== | ====== Infos générales ====== | ||
- | :!: Attention :!: Il n'est pas possible d' | + | Voici l' |
- | + | ||
- | Un sous-dossier '' | + | |
- | + | ||
- | Voici l' | + | |
< | < | ||
/home/ftp | /home/ftp | ||
- | ├── federez | + | ├── administratif |
- | │ | + | │ └── statuts.pdf |
- | │ | + | ├── admin_tech |
- | │ | + | ├── journees |
- | │ | + | │ └── 2014 |
- | │ | + | │ |
- | │ | + | │ |
- | │ | + | │ |
- | │ | + | │ |
- | │ | + | │ |
- | │ | + | │ |
- | │ | + | ├── |
- | │ └── | + | ├── tournee |
- | │ | + | ├── upload |
- | └── | + | └── |
+ | | ||
+ | ├── kakemono | ||
+ | | ||
</ | </ | ||
+ | Niveau sécurité, tous les échanges doivent se faire de façon chiffrée (aussi bien pour le canal de contrôle que pour les données) et tous les utilisateurs ont les mêmes droits sur le serveurs (uid ftp, group ftp). | ||
====== Mise en place ====== | ====== Mise en place ====== | ||
- | C'est '' | + | Pour la mise en place d'un serveur |
- | ===== Liens (potentiellement) utiles ===== | + | Le choix de '' |
- | * Site officiel : https://security.appspot.com/vsftpd.html | + | On commence par installer les paquets nécessaires (la doc à consulter dans '' |
- | | + | |
- | ===== Installation ===== | + | On crée un utilisateur système " |
+ | useradd --system --home-dir /srv/ftp --no-create-home --shell / | ||
+ | Si l' | ||
+ | getent passwd ftp | ||
+ | getent group ftp | ||
+ | qui doivent renvoyer : | ||
+ | ftp: | ||
+ | ftp: | ||
+ | Sinon, on adapte avec : | ||
+ | groupadd --system ftp | ||
+ | usermod --gid ftp --home /srv/ftp --shell / | ||
- | Installation plus que classique du paquet | + | On note ensuite l'uid et le gid de ftp : |
+ | id ftp | ||
+ | Dans notre cas, on a : '' | ||
- | apt-get install vsftpd | + | On modifie le fichier ''/ |
+ | <file apache "/ | ||
+ | ### Lignes à décommenter : | ||
+ | Include / | ||
+ | Include / | ||
- | ===== Explication préalable de la configuration choisie ===== | + | ### Ligne à modifier : |
+ | DisplayLogin | ||
+ | ### Lignes à ajouter : | ||
+ | # Autoriser uniquement les connexions depuis le LDAP | ||
+ | AuthOrder mod_ldap.c | ||
+ | # Chroot des utilisateurs dans /srv/ftp | ||
+ | DefaultRoot /srv/ftp | ||
+ | </ | ||
- | Le but de la config est de permettre à tout membre de FedeRez avec un compte [[admin: | + | On crée '' |
+ | <file text "/ | ||
+ | ================================================= | ||
+ | | | | ||
+ | | | ||
+ | | | | ||
+ | ================================================= | ||
- | On va donc activer la gestion des //virtual users// qui s' | + | Vous êtes identifié en tant que %U@%R |
- | Par défaut, le dossier personnel de l' | + | ------- |
- | ===== Configuration ===== | + | En cas de questions, contacter admin@federez.net |
+ | </ | ||
- | ==== Préparation des dossiers ==== | + | On décommente dans ''/ |
+ | <file apache "/ | ||
+ | LoadModule mod_ldap.c | ||
+ | </ | ||
- | On commence par créer le répertoire | + | On modifie |
+ | <file apache "/ | ||
+ | < | ||
+ | TLSEngine | ||
+ | TLSLog | ||
+ | TLSProtocol | ||
+ | TLSRSACertificateFile | ||
+ | TLSRSACertificateKeyFile | ||
+ | TLSOptions | ||
+ | TLSVerifyClient | ||
+ | TLSRequired | ||
+ | </ | ||
+ | </ | ||
+ | Toutes les autres lignes devraient être commentées. | ||
- | mkdir /home/ftp | + | On restreint les permissions sur '' |
- | + | chmod o-r / | |
- | '' | + | |
- | chown root:ftp /home/ftp | + | On modifie ''/ |
+ | <file apache "/ | ||
+ | < | ||
+ | LDAPServer " | ||
+ | LDAPBindDN " | ||
+ | LDAPUsers " | ||
+ | LDAPSearchScope subtree | ||
+ | LDAPForceDefaultUID on | ||
+ | LDAPForceDefaultGID on | ||
+ | LDAPDefaultUID 129 | ||
+ | LDAPDefaultGID 999 | ||
+ | LDAPLog / | ||
+ | LDAPAuthBinds on | ||
+ | </IfModule> | ||
+ | </file> | ||
+ | Toutes les autres lignes devraient être commentées. | ||
- | Les perms du dossier doivent être 755, sinon ça marche pas... | + | On configure ensuite les accès aux fichiers en créant le fichier ''/ |
+ | <file apache / | ||
+ | < | ||
+ | <Limit READ WRITE DIR> | ||
+ | DenyAll | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | <Limit READ DIR> | ||
+ | AllowAll | ||
+ | </ | ||
+ | <Limit WRITE> | ||
+ | AllowGroup sudoldap | ||
+ | # | ||
+ | DenyAll | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | <Limit WRITE> | ||
+ | AllowAll | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
- | chmod 755 /home/ftp | + | Enfin, on relance le service : |
- | + | | |
- | L' | + | En cas de soucis, on pourra ajouter |
- | + | < | |
- | | + | Trace ldap:10 # niveau entre 0 et 10 |
- | chown ftp:ftp / | + | Trace *:10 |
- | + | ||
- | Et pour finir, on va lier symboliquement ''/ | + | |
- | + | ||
- | rmdir /srv/ftp | + | |
- | ln -s /home/ftp /srv/ftp | + | |
- | + | ||
- | Bon voilà normalement vsftpd devrait être content avec cette structure. Passons à la configuration à proprement parler. | + | |
- | + | ||
- | ==== Config de vsftpd ==== | + | |
- | + | ||
- | Le fichier de configuration de vsftpd est ''/ | + | |
- | + | ||
- | Voici la config en place, sans les commentaires superflus | + | |
- | + | ||
- | < | + | |
- | listen=YES | + | |
- | + | ||
- | anonymous_enable=NO | + | |
- | + | ||
- | local_enable=YES | + | |
- | write_enable=YES | + | |
- | + | ||
- | guest_enable=YES | + | |
- | guest_username=ftp | + | |
- | + | ||
- | local_root=/ | + | |
- | + | ||
- | ftp_username=ftp | + | |
- | nopriv_user=ftp | + | |
- | + | ||
- | chroot_local_user=YES | + | |
- | secure_chroot_dir=/ | + | |
- | + | ||
- | chown_uploads=YES | + | |
- | chown_username=ftp | + | |
- | virtual_use_local_privs=YES | + | |
- | + | ||
- | local_umask=022 | + | |
- | anon_umask=022 | + | |
- | + | ||
- | dirmessage_enable=YES | + | |
- | + | ||
- | use_localtime=YES | + | |
- | + | ||
- | xferlog_enable=YES | + | |
- | + | ||
- | connect_from_port_20=YES | + | |
- | + | ||
- | xferlog_file=/ | + | |
- | xferlog_std_format=YES | + | |
- | + | ||
- | ftpd_banner=Bienvenue sur le serveur FTP de FedeRez | + | |
- | + | ||
- | pam_service_name=vsftpd | + | |
- | + | ||
- | ssl_enable=YES | + | |
- | ssl_ciphers=HIGH | + | |
- | rsa_cert_file=/ | + | |
- | rsa_private_key_file=/ | + | |
- | force_local_data_ssl=YES | + | |
- | force_local_logins_ssl=YES | + | |
- | + | ||
- | hide_ids=YES | + | |
</ | </ | ||
- | ==== Config du module PAM LDAP ==== | + | On s' |
- | + | < | |
- | Comme on a dit, on veut authentifier les utilisateurs via le LDAP de FedeRez. | + | / |
- | + | / | |
- | Pour cela vsftpd utilise le service PAM suivant : ''/ | + | { |
- | + | | |
- | < | + | |
- | auth required | + | |
- | auth [success=1 default=ignore] | + | |
- | auth requisite | + | |
- | auth required | + | |
- | + | | |
- | account [success=1 new_authtok_reqd=done default=ignore] | + | |
- | account requisite | + | |
- | account required | + | # reload could be not sufficient for all logs, a restart is safer |
- | account [success=ok new_authtok_reqd=done ignore=ignore user_unknown=ignore authinfo_unavail=ignore default=bad] | + | |
- | + | | |
- | password | + | } |
- | password | + | |
- | password | + | |
- | + | ||
- | session [default=1] | + | |
- | session requisite | + | |
- | session required | + | |
- | session required | + | |
- | session [success=ok default=ignore] pam_ldap.so minimum_uid=1000 | + | |
</ | </ | ||
- | |||
- | ==== Application de la nouvelle config ==== | ||
- | |||
- | invoke-rc.d vsftpd restart | ||
- |
admin/services/ftp.txt · Dernière modification : 2020/04/25 19:02 de zertrin