Accès anonyme impossible [Résolu][ProFTPd] - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 30-06-2008 à 18:30:43
voici le log :
Code :
|
Marsh Posté le 04-08-2008 à 11:11:32
Je ne suis pas du tout expert en Virtual Host mais je pense que pour les permissions c'est pas très clair.
Citation : # |
ici seulement seb peut aller sur la racine
Citation :
|
Seul seb peut aller sur le répertoire privé
Citation :
<Limit LOGIN> # |
anonymous peut aller sur le répertoire public
Citation :
|
Ben là je crois qu'il y a plus que seb.
Marsh Posté le 04-08-2008 à 11:39:14
Bon je crois que j'ai dit une connerie.
Dans le log, il y a écrit que le "user" et le "group" ftp n'existe pas.
Marsh Posté le 04-08-2008 à 14:18:07
C'est normal que Seb soit le seul à avoir accès au répertoire "private".
Pour le "public", j'avoue ne pas être trop sûr car je veux autoriser tout le monde à lire mais que Seb à écrire.
Pour la racine c'est normal .
Pour l'utilisateur et groupe inexistant c'est possible car j'ai suivi des tutos, je vais y regarder.
Marsh Posté le 06-08-2008 à 14:54:49
le user et group "ftp" existent bien, il se trouve dans passwd et shadow .
Marsh Posté le 06-08-2008 à 16:43:04
J'ai un peu changé et voici à quoi il ressemble now, mais bien sur ça ne va pas mieux :
Code :
|
Marsh Posté le 08-08-2008 à 17:34:51
un peu d'aide s'il vous plait
suis-je le seul au monde à vouloir un accès anonyme à ProFTPd ?
Marsh Posté le 08-08-2008 à 18:25:17
Ben tu peux aussi vérifier que ftp peut lire et écrire dans home/ftp car c'est là qu'il va arriver quand il va se connecter.
-> DefaultRoot ~
Tu as certainement aussi des messages d'erreurs dans tes logs.
Marsh Posté le 08-08-2008 à 20:14:27
Quand il se connectera, il arrivera dans /home/ftp/[leSousDomaineDuDomaine].
Quand un anonyme se connectera, il devrait arriver dans /home/ftp/[leSousDomaineDuDomaine]/public.
Mes logs sont tel qu'ils sont postés plus haut.
Je sais que c'est possible de mettre de l'anonyme dans un VH car plusieurs l'on fait. Mais chez moi ça ne va pas . Quoi qu'il arrive on me demande un login .
Ces config ont déjà été reproduites sans succès :
Marsh Posté le 18-08-2008 à 01:59:49
dans ton premier log je lis ceci
Citation : orbis.wyrd-network.lan - no matching vhost found for 10.1.1.10#21, using DefaultServer 'FTP Server from Orbis' |
A priori a aucun moment il ne tient compte de ta configuration virtuel étant donné que celle ci se nomme Seb FTP Server.
Marsh Posté le 18-08-2008 à 12:22:44
Si il ne tient pas compte de mon VH pourquoi j'arrive à me connecter sur les comptes utilisateur et accéder à leurs répertoires ?
De plus cette erreur (celle que tu mentionnes) est référencé quelques fois dans Google mais bien sur personne ne donne de solution.
Marsh Posté le 19-08-2008 à 02:54:25
je ne connais pas le fonctionnement par défaut de proftpd (préférant a titre personnel un logiciel plus simple comme pure-ftpd), cependant il ne me semble pas impossible qu'il permette par défaut la connexion des utilisateurs unix du système.
Après ma remarque n'est basée que sur les logs que tu fournis.
Pour ce qui est du virtualhost, le ftp 1.1 (en rapport au http 1.1) n'existant pas, il me semble plus logique d'user des ips dans la dénomination des vhosts en lieu et place des noms (sauf a imaginer que le domaine seb.xxx.net ne pointe que sur l'ip en question).
Citation : The <VirtualHost> context is used to define the configuration for a particular virtual host, bound to an IP address. For example: |
Un moyen simple de spécifier ce vhost serait probablement de le faire écouter sur un port différent (et donc de vérifier qu'il est bien pris en compte par proftpd.
Voila voila,
Marsh Posté le 19-08-2008 à 10:46:15
Ok merci beaucoup, je vais regarder à tout cela
Cependant si j'utilise l'IP au lieu du sous domaine, comment saura-t-il le "public" de quel compte je veux joindre ? En se logant il le saura mais une fois en anonyme non.
Marsh Posté le 19-08-2008 à 11:14:20
Le changement de port n'a rien fait, anonyme ne va toujours pas.
dernière version de la partie VH :
Code :
|
Sinon, j'hésite à essayer PureFTPd, je sais qu'il y a aussi moyen de faire ce que je veux avec . Il me faut des users virtuels dans une base de donnée ainsi que le support des VH avec pour chaque VH un accès anonyme à un répertoire, le reste n'étant accessible qu'au compte.
Marsh Posté le 19-08-2008 à 11:25:55
# orbis.wyrd-network.lan (10.1.1.2[10.1.1.2]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_delay
# orbis.wyrd-network.lan (10.1.1.2[10.1.1.2]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_auth
# orbis.wyrd-network.lan (10.1.1.2[10.1.1.2]) - dispatching auth request "endpwent" to module mod_sql
# orbis.wyrd-network.lan (10.1.1.2[10.1.1.2]) - dispatching auth request "endgrent" to module mod_sql
# orbis.wyrd-network.lan (10.1.1.2[10.1.1.2]) - dispatching CMD command 'PASS (hidden)' to mod_auth
# orbis.wyrd-network.lan (10.1.1.2[10.1.1.2]) - dispatching auth request "getpwnam" to module mod_sql
# orbis.wyrd-network.lan (10.1.1.2[10.1.1.2]) - no such user 'Anonymous'
tu te connectes en anonymous ou Anonymous ?
<Anonymous ~public>
User ftp
Group nogroup
UserAlias anonymous ftp
<Limit LOGIN>
AllowAll
</Limit>
l'alias c'est bien anonymous et non Anonymous .
http://www.linuxquestions.org/ques [...] gin-14266/
Par défaut, le compte ftp, est configuré avec sans shell
a priori, il faut authoriser les utilisateurs sans shell à se connecter a proftpd
RequireValidShell off
cf la doc ubuntu concernant proftpd Lien
Marsh Posté le 19-08-2008 à 11:51:33
Gavrinis a écrit : Ok merci beaucoup, je vais regarder à tout cela |
Si j'en crois la documentation de proftpd il te faut une ip précise pour un vhost donné...
Donc si tu veux qu'un vhost s'applique il te faudra évidemment te connecter sur l'ip en question et pas ailleurs (sauf a ajouter toutes les ips sur un vhost donné).
En persistant a utiliser un nom (sans savoir si la résolution correspond a l'ip voulue) ton vhost ne sera probablement pas pris en compte...
Tu as combien d'ips d'ailleurs sur ton interface ?
Marsh Posté le 19-08-2008 à 11:53:17
Gavrinis a écrit : Le changement de port n'a rien fait, anonyme ne va toujours pas. |
l'absence de changement de port est la *preuve* que ton vhost n'est pas appliqué, rien de plus, d'ailleurs a en croire la configuration que tu redonnes tu n'as *toujours* pas précisé une ip donnée sur le vhost en question.
Pour mémoire ftp ne *supporte* pas le http 1.1 ....
Marsh Posté le 19-08-2008 à 15:52:40
cf doc ubuntu déjà citée :
exemple:
<VirtualHost 192.168.2.2>
ServerAdmin aide_gnu_linux@yahoo.fr
ServerName "ftp.cereli.org"
# Port mode PASSV
PassivePorts 5000 5100
# Addresse de Masquage !!! A REMPLACER PAR LA VOTRE !!!
MasqueradeAddress XXX.XXX.XXX.XXX
Port 21
</VirtualHost>
Marsh Posté le 19-08-2008 à 16:28:34
l4nkou a écrit : |
D'après les logs, je me connecterais en Anonymous mais ce n'est pas moi qui veut ça car IE ou un client FTP mettent cet user (FF ne passe pas ). Pour le shell Ok, j'ajoute "RequireValidShell off"
mikala a écrit : |
Je n'ai qu'une IP mais j'ai un Bind qui résout mes noms de domaine sur mon IP donc le serveur FTP sait que seb.XXX.net correspond à 10.1.1.10
mikala a écrit : |
Ok je modifie
l4nkou a écrit : cf doc ubuntu déjà citée : |
Apparemment j'avais mal compris à quoi servait le "ServerName".
Marsh Posté le 19-08-2008 à 17:43:58
Après tous vos conseils, voici le résultat d'une connexion échoué sur "seb.XXX.net" en anonyme :
Code :
|
En ligne 350, même erreur que tantôt et tentative de connexion sur le port 21 alors que je lui ai dit 2121.
413 et 414 pour lui l'utilisateur "anonymous" n'existe pas alors qu'il doit forcément exister sur un serveur FTP. (doit-on le créer manuellement si oui en utilisateur système ?)
Marsh Posté le 20-08-2008 à 15:20:51
Ca avance à grand pas, la connexion anonyme est désormais possible à partir de gFTP
Mais toujours pas à partir d'un browser que se soit Firefox ou IE
Log d'une connexion à partir d'IE avec l'adresse "ftp://seb.XXX.net:2121/" :
Code :
|
Marsh Posté le 20-08-2008 à 16:29:48
Peut etre juste un pb de mode passif ou actif?
Le comportement est différent selon le browser, à moins de forcer le ftp passif dans les options de IE.
tu arrives a te loguer mais pas a voir le listing du contenu ?
pourrais-tu redonner ta configuration actuelle de proftpd ?
merci
Marsh Posté le 20-08-2008 à 23:38:23
l4nkou a écrit : tu arrives a te loguer mais pas a voir le listing du contenu ? |
Avec gFTP, je me connecte et ça liste , avec un browser j'ai une erreur comme quoi il ne peut afficher la page
config actuelle :
Code :
|
C'est moi qui te remercie
Marsh Posté le 20-08-2008 à 23:58:42
le port 2120 est ouvert en tcp?
Marsh Posté le 21-08-2008 à 14:23:27
ServerName "FTP Server from Orbis"
User nobody
Group nogroup
Include /etc/proftpd/modules.conf
ServerType standalone
UseIPv6 off
DefaultServer on
DefaultRoot ~
AllowOverwrite on
</Global>
DefaultTransferMode binary
UseFtpUsers on
Port 21
Umask 022
MaxInstances 3
ScoreboardFile /var/log/scoreboard
TransferRate RETR 20:3145728
TransferRate APPE,STOR 512:10485760
TimeoutNoTransfer 600
TimeoutStalled 600
AuthPAM on
AuthPAMConfig proftpd
IdentLookups off
UseReverseDNS off
AccessDenyMsg "Connection échouée - Connection refused"
AccessGrantMsg "Connection OK bienvenue - Connection OK welcome"
AllowOverwrite on
DeleteAbortedStores on
HiddenStor on
RootLogin off
MaxLoginAttempts 3
RequireValidShell off
DeferWelcome on
AllowStoreRestart on
AllowRetrieveRestart on
PathDenyFilter "\\.ftp)|\\.ht)[a-z]+$"
DisplayLogin welcome.msg
TransferLog /var/log/proftpd.xferlog
MaxClients 10 "Trop de connections veuillez réessayer plus tard merci"
MaxClientsPerHost 10 "Une IP par connection SVP - One IP per connect please"
DirFakeUser on nobody
DirFakeGroup on nobody
AuthOrder mod_sql.c
SQLAuthTypes Backend
SQLAuthenticate users* groups
SQLConnectInfo [table]@localhost [user] [motDePasse]
SQLUserInfo usertable userid passwd uid gid homedir shell
SQLUserWhereClause "disabled=0 and (NOW()<=expiration or expiration=-1 or expiration=0)"
SQLGroupInfo grouptable groupname gid members
SQLLog PASS counter
SQLNamedQuery counter UPDATE "lastlogin=now(), count=count+1 WHERE userid='%u'" usertable
SQLLog EXIT time_logout
SQLNamedQuery time_logout UPDATE "lastlogout=now() WHERE userid='%u'" usertable
SQLNamedQuery login_time SELECT "lastlogin from usertable where userid='%u'"
SQLShowInfo PASS "230" "Last login was: %{login_time}"
SQLLog RETR,STOR transfer1
SQLNamedQuery transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'c', NULL" xfer_stat
SQLLOG ERR_RETR,ERR_STOR transfer2
SQLNamedQuery transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'i', NULL" xfer_stat
QuotaLimitTable sqlget-quota-limit
QuotaTallyTable sqlget-quota-tally/update-quota-tally/insert-quota-tally
SQLLogFile /var/log/proftpd.mysql
LogFormat auth "%v [%P] %h %t \"%r\" %s"
ExtendedLog /var/log/proftpd.auth_log AUTH auth
LogFormat write "%h %l %u %t \"%r\" %s %b"
ExtendedLog /var/log/proftpd.access_log WRITE,READ write
<VirtualHost 10.1.1.10>
ServerName "seb.XXX.net"
Port 2121
PassivePorts 5000 5100 <- pas de firewall qui bloquerait coté client ou coté serveur la plage de port 5000-5010 ?
MaxClients 10
MaxLoginAttempts 1
DefaultRoot ~ !seb
<Directory />
<Limit LOGIN ALL>
Order Allow,Deny
AllowUser seb
Deny from all
</Limit>
<Limit ALL>
DenyAll
</Limit>
</Directory>
<Directory /home/ftp/seb/private>
<Limit LOGIN ALL>
Order Allow,Deny
AllowUser seb
Deny from all
</Limit>
</Directory>
<Anonymous /home/ftp/seb/public>
User anonymous_ftp
Group nogroup
UserAlias anonymous anonymous_ftp
RequireValidShell off
<Limit LOGIN>
AllowAll
</Limit>
<Directory /home/ftp/seb/public>
HideUser root
HideGroup root
<Limit LIST READ RETR PWD>
AllowAll
</Limit>
<Limit ALL>
Order Allow,Deny
AllowUser seb
Deny from all
</Limit>
</Directory>
</Anonymous>
</VirtualHost>
Marsh Posté le 21-08-2008 à 16:47:30
l4nkou a écrit : PassivePorts 5000 5100 <- pas de firewall qui bloquerait coté client ou coté serveur la plage de port 5000-5010 ? |
Non je viens d'essayer en désactivant celui du serveur et le mien mais ça ne change rien
Marsh Posté le 21-08-2008 à 17:35:16
tu as testé la connection gftp depuis ta machine ou depuis la machine serveur, en te connectant en ftp en localhost ?
possèdes tu un fichier /etc/hosts.allow?
peut-être faudrait-il rajouter le process en écoute sur l'ensemble des interfaces :
proftpd:ALL
de mémoire , si ton but est d'avoir ton serveur ftp joignable depuis internet, il faut que le serveur ftp présente son adresse ip publique, plutot que son ip locale.
Marsh Posté le 21-08-2008 à 17:41:43
depuis ma machine donc pas localhost.
il n'y a qu'une interface.
mais j'ai une IP dynamique donc pas possible de l'utiliser dans le fichier conf.
Marsh Posté le 21-08-2008 à 18:44:53
Je n'ai plus d'erreur avec Firefox l'hors d'une tentative de connexion mais il n'y a tout de même pas de connexion et rien dans les logs qui témoigne d'un tentative .
Pour ce qui en est d'IE toujours rien que se soit en actif ou passif.
Marsh Posté le 22-08-2008 à 10:41:53
Salut,
J'ai déjà reglé ce soucis avec vsftpd, grace à un simple script :
http://forum.hardware.fr/hfr/OSAlt [...] tm#t930599
tu ne sembles pas utiliser l'option de configuration indiquée ici :
http://www.castaglia.org/proftpd/d [...] O-NAT.html
Configuring ProFTPD behind NAT
First configure your installed proftpd so that it works correctly from inside the NAT. There are example configuration files included with the source. Then add the MasqueradeAddress directive to your proftpd.conf file to define the public name or IP address of the NAT. For example:
MasqueradeAddress seb.XXX.net # using a DNS name
Au sujet de l'interface, il y en a généralement au moins 2 :
la loopback et ton interface réseau liée à ta carte ethernet.
#ifconfig (regarde le résultat )
Par defaut, certaines applications n'autorisent que les connexions depuis la loopback.
Marsh Posté le 30-06-2008 à 18:19:52
Bonjour,
J'essaye désespérément de mettre en place un accès anonyme à un répertoire d'un VH mais impossible d'y avoir accès . J'ai fait une recherche sur OSA mais ça n'a rien donné de concluant pour ce qui est de Google, certes il y a plein de résultat mais à présent aucun ne m'a donné la solution, et celles proposées ne fonctionnes pas.
Voici un exemple :
Où est le problème ?
Message édité par Gavrinis le 22-08-2008 à 13:12:37