PDA

Afficher la version complète : [Réglé] configuration SuSeFirewall



benoit43
17/04/2008, 19h31
Bonjour,
J'ai installé un serveur ftp sur un ordinateur qui possède une adresse ip fixe externe.
Je dois absolument être certain de sa sécurité mais je suis un peu léger en linux.

Pour le serveur ftp j'ai utilisé vsftp.
On ne peu se connecter qu'en utilisateur (un seul utilisateur) virtuel qui utilise le user ftp.
Le home du ftp appartient à un autre user d'un groupe différent de ftp lui seul à les droit d'écriture sur ce répertoire. Le groupe et les autres utilisateurs on juste les droits de lecture donc comme on se connecte via un utilisateur virtuel via le user ftp il n'y a pas les droit d'écriture.
Voici mon fichier vsftp.conf trouvé sur le site : http://doc.fedora-fr.org/wiki/Vsft [...] figuration
Dans le fichier user_list j'ai indiqué tous les utilisateurs locaux et système (je ne sais pas si c'était nécessaire?) pour être sur que seul mon utilisateur virtuel puisse se connecter.

# http://vsftpd.beasts.org/vsftpd_conf.html ou "man vsftpd.conf"

# Port d'ecoute
listen_port=21

# Banniere de bienvenue
ftpd_banner=Bienvenue sur mon ftp perso

# Fichier de config PAM
pam_service_name=vsftpd

# Mode "standalone"
listen=YES

# Je ne veux pas de connexion anonyme
anonymous_enable=NO

# On autorise les connexions des utilisateurs locaux. C'est indispensable
# pour que les utilisateurs virtuels (mappes sur un utilisateur local)
# puissent se connecter (les "vrais" utilisateurs locaux sont ensuite desactives
# avec le fichier user_list
local_enable=YES

# Fichier de users
userlist_file=/etc/vsftpd/user_list
# Chargement de la liste userlist_file
userlist_enable=YES
# On refuse les utilisateurs de la liste
userlist_enable=YES

# trop restrictif, un utilisateur virtuel pourra ainsi telecharger un fichier meme s'il n'est pas world readable
anon_world_readable_only=NO

# Refus des commandes influant sur le systeme de fichier (STOR, DELE, RNFR, RNTO, MKD, RMD, APPE and SITE)
write_enable=NO

# Refus des droits d'ecriture pour les anonymes (et donc utilisateurs virtuels) par défaut
# les autorisations seront données au cas par cas :
# pas d'upload
anon_upload_enable=NO
# pas de creation de repertoire
anon_mkdir_write_enable=NO
# pas de creation, suppression, renommage de repertoire ...
anon_other_write_enable=NO

# On fait en sorte que les utilisateurs "guest" (non-anonymes) soient mappés sur le compte local "ftp"
guest_enable=YES
guest_username=ftp

# chroot des utilisateurs
chroot_local_user=YES

# Nombre maximum de connexion simultanees
max_clients=50

# Nombre maximum de connexion venant de la meme IP
max_per_ip=4

# Dossier de configuration specifique des utilisateurs
user_config_dir=/etc/vsftpd/vsftpd_user_conf

# On active le log
xferlog_enable=YES


J'utilise suse10.3, j'ai dans le firewall ouvert le port 20 et 21 mais je ne pouvais me connecter à mon serveur qu'en mode actif, j'ai donc ajouté "FW_LOAD_MODULES="ip_contrack_ftp ip_nat_ftp" dans lefichier SuSEfirewall2, je peux donc me connecter en mode passif maitenant.

Je voudrais maitenant n'accepter des connections que pour une plage d'ip qui se différencient que sur le dernier chiffre et donc reffuser toutes les autres via le firewall. Comment puis-je faire ça dans le fichier SuSEfirewall2 ?

yulpocket
14/05/2008, 20h12
la syntaxe IPTABLES donnerait

IPEXT=ta carte publique
iptables -A INPUT -i $IPEXT -s <@ip autorisée> -p TCP --dport 21 -j ACCEPT

benoit43
19/05/2008, 20h05
Merci,
Je penses que l'on peux rajouter ça dans custom rules ?
Toutes les autres ip seront refusées?

yulpocket
21/05/2008, 17h58
custom rules ???? je vois pas trop de quoi tu parles...

Ce que je t'ai indiqué c'est la syntaxe à mettre dans un script iptables global à mettre au démarrage de la machine.