Outils pour utilisateurs

Outils du site


software:applications:vsftpd

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
software:applications:vsftpd [2024/06/15 19:20] – créée yoannsoftware:applications:vsftpd [2024/07/11 16:30] (Version actuelle) – [Références] yoann
Ligne 24: Ligne 24:
  
  
-Par défaut le serveur écoute sur l'ensemble des interfaces. Il est possible de restreindre le service à une interface en particulier. Dans mon cas je souhaite restreindre le service au réseau interne (interface int0).+Par défaut le serveur écoute sur l'ensemble des interfaces. Il est possible de restreindre le service à une interface en particulier. Dans mon cas je souhaite restreindre le service au réseau interne (interface int0) :
  
 +<file>
 +# Run standalone?  vsftpd can run either from an inetd or as a standalone
 +# daemon started from an initscript.
 +listen=YES
 +listen_port=21
 +listen_address=192.168.33.10
 +</file>
 +
 +
 +==== Utilisateur chrooté ====
 +
 +Dans le fichier de configuration du serveur vsftpd :
 +<file>
 +# Compte utilisateur non privilégié
 +nopriv_user=ftpsecure
 +
 +
 +</file>
 +
 +Définir une liste d'utilisateurs pour lesquels un chroot est actif
 +<file>
 +ftpsecure
 +</file>
 +
 +Liste des comptes utilisateurs locaux non autorisés pour le service ftp **''/etc/ftpusers''**
 +
 +
 +
 +Créer l'utilisateur :
 +<code bash>
 +useradd ftpsecure --home-dir /srv/ftp/ --shell /usr/bin/nologin
 +</code>
  
 Redémarrer le service pour que les modifications apportées au fichier de configuration soient bien prises en compte : Redémarrer le service pour que les modifications apportées au fichier de configuration soient bien prises en compte :
Ligne 32: Ligne 64:
 systemctl restart vsftpd.service systemctl restart vsftpd.service
 </code> </code>
 +
 +
  
 ===== Pare-feu ===== ===== Pare-feu =====
  
 +La gestion correcte du trafic FTP nécessite l'usage d'un helper pour le suivit des ouvertures dynamiques des ports.
 +
 +Pour ajouter l'helper à la table "ipfilter" depuis nft en mode interactif :
 +
 +<code>
 +add ct helper ipfilter ftp-standard { type "ftp" protocol tcp; }
 +</code>
 +
 +<code>
 +add chain ipfilter PRE { type filter hook prerouting priority filter; }
 +insert rule ipfilter PRE tcp dport 21 ct helper set "ftp-standard"
 +</code>
 +
 +Ajouter la règle pour la gestion du canal de contrôle FTP, notez que pour cette règle conntrach fonctionne sans utilisation de l'helper
 +<code>
 +insert rule ipfilter inbound position 12 iif "int0" tcp dport 21 ct state new,established counter accept
 +</code>
 +Après cette règle on accepte les paquets de l'helper "ftp"
 +<code>
 +insert rule ipfilter inbound position 12 ct helper "ftp" accept
 +</code>
  
 ===== Références ===== ===== Références =====
Ligne 43: Ligne 98:
   * https://www.lpmagazine.org/configurer-un-serveur-ftp-sous-linux-guide-pas-a-pas/   * https://www.lpmagazine.org/configurer-un-serveur-ftp-sous-linux-guide-pas-a-pas/
   * https://wiki.nftables.org/wiki-nftables/index.php/Conntrack_helpers   * https://wiki.nftables.org/wiki-nftables/index.php/Conntrack_helpers
 +  * [[https://serverfault.com/questions/958464/how-can-i-use-nftables-with-passive-ftp|Configurer nft pour ftp en mode passif (serverfault.com)]]
 +  * https://en.wikipedia.org/wiki/File_Transfer_Protocol
 +  * [[https://unix.stackexchange.com/questions/323711/what-are-the-dangers-of-having-writable-chroot-directory-for-ftp|Dangers de l'usage du chroot sur un dossier avec un accès en écriture (stackexchange.com)]]
software/applications/vsftpd.1718479200.txt.gz · Dernière modification : 2024/06/15 19:20 de yoann