2010-10-28 12 views
-1

J'utilise un serveur FTP vsFTPd avec des utilisateurs virtuels (c'est-à-dire que les utilisateurs sont stockés dans Berkeley DB et n'existent pas au niveau du système d'exploitation). Les utilisateurs sont authentifiés via /etc/pam.d/ftp:vsFTPd: filtrage IP par utilisateur pour les utilisateurs vitruels

% PAM-1.0

auth required pam_userdb.so db =/etc/vsftpd/vsftpd-utilisateur virtuel compte requis pam_userdb.so db =/etc/vsftpd/vsftpd-utilisateur virtuel

Je veux mettre en place un filtrage IP d'utilisateur via tcp_wrappers, par ex .:

/etc/hosts.deny:

vsftpd: [email protected] 

(l'utilisateur 'toto') est un utilisateur vitrual.

Cependant, toto peut se connecter au serveur FTP à partir 10.10.10.10:

Status: Connecting to 10.10.10.10:21... 
Status: Connection established, waiting for welcome message... 
Response: 220 "FTP server" 
Command: USER toto 
Response: 331 Please specify the password. 
Command: PASS ******** 
Response: 230 Login successful. 
Status: Connected 

Comment rendre les utilisateurs virtuels vsftpd travailler avec tcp_wrappers? comment déboguer les appels système à tcp_wrappers pour s'assurer que vsftpd transmet un nom d'utilisateur correct à tcp_wrappers?

Répondre

0

wrappers TCP peuvent sembler, mais promissory ne fonctionneront pas (longue explication) Cependant, vous pouvez obtenir un même niveau de granularité via PAM. Par exemple, vous pouvez trouver le fichier FTP FTP de PAM, si votre vsFTPd a été compilé avec le support de PAM (ldd/usr/sbin/vsftpd | grep pam) et remplacer la ligne de compte pour utiliser le contrôle d'accès pam à la place.

# vi /etc/pam.d/vsftpd 
account include password-auth (comment this line out) 
# add the following line 
account required  pam_access.so 

Ensuite, vous pouvez modifier /etc/security/access.conf et créer des règles plus complexes pour adapter à vos besoins, à savoir

+ : restricted_username : 192.168.1.10 
+ : ALL EXCEPT restricted_username : ALL 
- : ALL : ALL 

La règle ci-dessus permettra à l'utilisateur « restricted_username » pour se connecter uniquement à partir de cette adresse IP spécifique, tout en permettant au reste des utilisateurs de se connecter à partir de TOUTES les autres sources.