vsftp [Résolu]

Forum d'aide générale sur Slackware
Patounet
Messages : 28
Inscription : 31 janvier 2017, 13:13

vsftp [Résolu]

Message par Patounet » 12 janvier 2018, 10:07

Salut tout le monde,

Je me suis déjà heurté au problème, preuve que je n'ai visiblement pas (tout) compris, ou du moins retenu.
J'ai installé un serveur vsftp sur ma machine vénérable ; bien entendu, ça ne marche pas d'un seul coup tout seul sorti de la boîte, normal. C'est pourquoi je cherche désespérément un tuto,, un howto, un manuel qui pourrait m'aider , entre autres avec une procédure simple et claire de résolution des problèmes.
Je veux, déjà déterminer si vsftp est correctement installé, lancé, à l'écoute d'une demande; bref, une procédure étape par étape et de façon logique (si ça existe).
Si nécessaire je veux bien mettre une copie de mon fichier vsftpd.conf.
Voilà pour commencer l'année, avec tous mes voeux à toute l'équipe, et aux autres aussi.
Dernière modification par Patounet le 21 janvier 2018, 21:32, modifié 1 fois.

Avatar de l’utilisateur
Thomas
Administrateur
Messages : 222
Inscription : 08 janvier 2017, 07:14

Re: vsftp

Message par Thomas » 12 janvier 2018, 10:12

Salut Patounet.
Meilleurs vœux à toi aussi. :)

Comment souhaites-tu utiliser vsftp ? Comme simple accès ftp public en lecture seule ? en lecture/écriture ? avec des comptes utilisateurs ? avec ou sans ssl ?
Thomas Bourdon

Patounet
Messages : 28
Inscription : 31 janvier 2017, 13:13

Re: vsftp

Message par Patounet » 12 janvier 2018, 17:19

Salut Thomas,

je précise donc ma demande : ftp public, en lecture/écriture, sans (ou avec , je ne sais pas encore très bien) mot de passe, c'est pour permettre à mes gamins entre autres (mais faut pas trop leur compliquer la vie), de m'envoyer ce qu'ils veulent m'envoyer sans passer sous les fourches caudines de Gogol ou autres intermédiaire toujours douteux. Et puis pour ma culture personnelle aussi.
j'ai déjà parcouru , et utilisée dans le passé avec succès avant que je réinstalle mon système,( donc en virant tout ou presque ) la doc de Vsftp, son installation et sa configuration. J'avais gardé dans un coin quand même le fichier de conf, mais va savoir pourquoi, là, ça ne marche pas. Donc ce que je cherche ce serait une doc qui me dirait comment je peux m'assurer , par exemple, que ftp est bien installé, qu'il est bien à l'écoute , et sur quel port.
Par exemple, j'ai cherché les fichiers de log (/var/log/....), et je n'ai rien trouvé se rapportant à ftp ; un peu bizarre, non ?
Je viens de tenter une liaison avec mon PC , sur mon réseau maison via Filezilla, et en retour j'ai :

Code : Tout sélectionner

500 OOPS: SSL: cannot load RSA certificate
bien que j'ai fait un ssh-keygen; mais bon.....

Avatar de l’utilisateur
Thomas
Administrateur
Messages : 222
Inscription : 08 janvier 2017, 07:14

Re: vsftp

Message par Thomas » 12 janvier 2018, 18:20

Pour du lecture seule en publique, ça va, mais dès que tu veux faire plus, ça devient compliqué, d'autant que ce protocole est vraiment à éviter, et encore plus avec du SSL.
Sinon openssh fait par défaut un très bon serveur sftp avec login/mot de passe sans avoir à modifier quoi que ce soit dans la conf d'origine. Évidement tu peux la peaufiner après. Filezilla permet de s'y connecter sans souci.
Thomas Bourdon

Patounet
Messages : 28
Inscription : 31 janvier 2017, 13:13

Re: vsftp

Message par Patounet » 12 janvier 2018, 18:30

"openssh fait par défaut un très bon serveur sftp" ????? Ah Bon ! Tu m'intéresses là.
On peut se connecter avec Filezilla ? pas via un terminal ? parce que ça, les gamins, comprennent pas ! Pfuit ! foutu génération.

Avatar de l’utilisateur
Thomas
Administrateur
Messages : 222
Inscription : 08 janvier 2017, 07:14

Re: vsftp

Message par Thomas » 12 janvier 2018, 18:40

En fait openssh est un tunnel sécurisé vers pleins de choses. Par défaut la commande ssh permet de se connecter à une machine et d'avoir un shell mais c'est juste un tunnel qui affiche un shell. Avec la commande rsync "rsync mon-fichier.txt pc-de-jean:/home/jean/" tu copies un fichier via ssh. Et bien quand tu te connectes à ton serveur ssh avec filezilla, tu peux t'y promener et transférer des fichiers.

J'avais écrit ceci il y a des années maintenant.
Thomas Bourdon

Patounet
Messages : 28
Inscription : 31 janvier 2017, 13:13

Re: vsftp

Message par Patounet » 12 janvier 2018, 18:47

Bon, je vais me pencher là-dessus, après la soupe.
En tout cas merci déjà, et à bientôt.

dodo
Messages : 37
Inscription : 31 janvier 2017, 18:26

Re: vsftp

Message par dodo » 12 janvier 2018, 19:46

Salut, pourtant la doc /usr/doc/vsftpd-3.0.3 est bien détaillée (et simplifiée) avec des exemples. Proftpd c'est plus complexe à configurer je crois.. J'ai testé ici sur mon LAN et pas de pbs.. vsftpd se lance en manuel (ou, option via inetd, mais j'aime moins). As-tu essayé avec la commande simple ftp ? Good luck ;) Le dernier truc que j'ai testé sur mon LAN c'est OpenVPN, ça fonctionne mais FAUT BIEN relire la doc car au premier coup, nada :mrgreen:

Patounet
Messages : 28
Inscription : 31 janvier 2017, 13:13

Re: vsftp

Message par Patounet » 17 janvier 2018, 15:20

Bon, retour devant la machine ;

Mes tentatives pour maîtriser la bestiole progressent mais se heurtent à un pb ( mémoire de + en + volatile ? ) : vsftpd est bien installé, veut bien se lancer, mais j'ai l'impression que mes modifications de vsftpd.conf, bien que je fasse un "/etc/rc.d/rc.inetd restart" ne sont pas pris en compte ( parce que je n'arrive pas jusqu'à maintenant à autoriser les clients anonymes à écrire dans le répertoire ftp par exemple) ; en bref, je ne sais plus comment on (re)lance un service sous Slack en ligne de commande, histoire d'être sûr que le serveur lit bien le nouveau fichier de configuration.

Et avant que je m'énerve, et que ça se termine mal, si quelqu'un peut me rafraîchir la mémoire (sans tout effacer, ça j'y arrive bien tout seul), il en sera remercié grandement.

dodo
Messages : 37
Inscription : 31 janvier 2017, 18:26

Re: vsftp

Message par dodo » 17 janvier 2018, 19:36

Faudrait que tu nous dise d'abord comment est configuré ton "réseau" : est-ce une machine seule qui fait tourner vsftpd et quel est son adresse locale (192.168... etc) ? Est-ce que tu utilises iptables ? Ou une machine en DMZ dans un LAN local ? Là encore y'aura des règles de filtrages à mettre en place ! Laisse tomber inetd (#ftp stream tcp nowait root /usr/sbin/tcpd vsftpd) pour un lancement manuel : vsftpd & sous root.

Un exemple pour /etc/vsftpd.conf :

Code : Tout sélectionner

# Standalone mode
listen=YES
max_clients=200
max_per_ip=4
# Access rights
anonymous_enable=YES
local_enable=NO
write_enable=NO
anon_upload_enable=NO  --> YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
# Security
anon_world_readable_only=YES
connect_from_port_20=YES
hide_ids=YES
pasv_min_port=50000
pasv_max_port=60000
# Features
xferlog_enable=YES
ls_recurse_enable=NO
ascii_download_enable=NO
async_abor_enable=YES
# Performance
one_process_model=YES
idle_session_timeout=120
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
anon_max_rate=50000
Forcément pour accepter qq chose de l'extérieur :
/etc/rc.d/rc.firewall :

Code : Tout sélectionner

#!/bin/sh

# Start iptables:
iptables_start () {
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# lan
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 10.0.0.0/24 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT --> à décommenter

# dns
iptables -A INPUT -i eth0 --protocol udp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol udp --destination-port 53 -j ACCEPT

# smtp
iptables -A INPUT -i eth0 --protocol tcp --source-port 25 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 25 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 --protocol tcp --source-port 25 -m state --state ESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth0 --protocol tcp --destination-port 25 -m state --state NEW,ESTABLISHED -j ACCEPT

# pop3
iptables -A INPUT -i eth0 --protocol tcp --source-port 110 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 110 -m state --state NEW,ESTABLISHED -j ACCEPT

# www
iptables -A INPUT -i eth0 --protocol tcp --source-port 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 80 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 --protocol tcp --source-port 80 -m state --state ESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth0 --protocol tcp --destination-port 80 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth0 --protocol tcp --source-port 8080 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 8080 -m state --state NEW,ESTABLISHED -j ACCEPT

# https
iptables -A INPUT -i eth0 --protocol tcp --source-port 443 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 443 -m state --state NEW,ESTABLISHED -j ACCEPT

# ssh
#iptables -A INPUT -i eth0 --protocol tcp --source-port 8437 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 8437 -m state --state NEW,ESTABLISHED -j ACCEPT

# ftp
iptables -A INPUT -i eth0 --protocol tcp --source-port 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 --protocol tcp --source-port 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 --protocol tcp --source-port 1024:65535 --destination-port 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --source-port 1024:65535 --destination-port 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -i eth0 --protocol tcp --source-port 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -o eth0 --protocol tcp --destination-port 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -i eth0 --protocol tcp --source-port 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -o eth0 --protocol tcp --destination-port 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -i eth0 --protocol tcp --source-port 1024:65535 --destination-port 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -o eth0 --protocol tcp --source-port 1024:65535 --destination-port 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

# spop3
iptables -A INPUT -i eth0 --protocol tcp --source-port 995 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 995 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A FORWARD -j ACCEPT  --> décommenter
#iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE  --> décommenter

}

# Stop iptables:
iptables_stop () {
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
}

# Restart iptables:
iptables_restart () {
  iptables_stop
  sleep 5
  iptables_start
}

case "$1" in
'start')
  iptables_start
  ;;
'stop')
  iptables_stop
  ;;
'restart')
  iptables_restart
  ;;
*)
  echo "usage $0 start|stop|restart"
esac
Bon j'espère qu'avec ça.. ;)

Répondre