[Résolu] Déconnections répétés avec ProFTP - MySQL


#1

Voilà je suis légèrement entrain de devenir un peu singler :smiley:

Les utilisateurs sont déconnectés/reconnectés tout le temps. Je ne sais pas du tout d’ou ca peut venir.
Voice mon proftpd.conf si ca peut aider à résoudre ce problème plus que génant.

Voilà le message d’un hébergé sur mon forum :

[code]ServerName "GoLDZoNE Web HoSTING"
ServerType standalone
ServerIdent on "FTP GoLDZoNE Web HoSTING "
AccessGrantMsg "Bienvenue %u sur GoLDZoNE Web HoSTING. www.goldzoneweb.info pour se tenir au courant."
ServerAdmin goldyfruit@free.fr
TimesGMT on

PassivePorts 40000 50000

DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
AllowOverwrite on

TimeoutLogin 120
TimeoutNoTransfer 900
TimeoutStalled 900
TimeoutIdle 900

ListOptions "-l"
Defaultroot ~

DenyFilter *.*/

Port 21

A configurer selon sa connection

MaxInstances 30
MaxLoginAttempts 3
#MaxClientsPerUser 10
MaxClientsPerHost 3
#MaxHostsPerUser 10
MaxClients 10

ProFTPD est excecuté avec des droits réduits

User nobody
Group nogroup

Umask 022
AllowStoreRestart on
AllowRetrieveRestart on

Recupère le nom à partir de l’ip de la machine de l’utilisateur ( resolution DNS )

IdentLookups off
UseReverseDNS off

Mod MySQL

Les mots de passe sont cryptés ds la base avec la fct ENCRYPT (MySQL)

SQLAuthTypes Crypt
SQLAuthenticate users* groups*

Modifiez cette ligne selon l’utilisateur et le mot de passe définit plutôt

SQLConnectInfo hosting@localhost **** **********

On donne à ProFTPD le nom des colonnes de la table usertable

SQLUserInfo ftpuser userid passwd uid gid homedir shell
SQLUserWhereClause “LoginAllowed = ‘true’”

On donne à ProFTPD le nom des colonnes de la table “grouptable”

SQLGroupInfo ftpgroup groupname gid members

Créer le repertoire home de l’utilisateur si il n’existe pas

SQLHomedirOnDemand on

Met à jour les compteurs à chaque connection d’un utilisateur

SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE “count=count+1, accessed=now() WHERE userid=’%u’” ftpuser

#Met à jour les compteurs à chaque upload ou download d’un utilisateur
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE “modified=now() WHERE userid=’%u’” ftpuser

Mod quota

QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on

Définit les requêtes SQL pour que ProFTPd recupere les infos sur les quotas

SQLNamedQuery get-quota-limit SELECT “name, quota_type, par_session, limit_type, bytes_up_limit, bytes_down_limit, bytes_transfer_limit, files_up_limit, files_down_limit, files_transfer_limit FROM ftpquotalimits WHERE name = ‘%{0}’ AND quota_type = ‘%{1}’”

SQLNamedQuery get-quota-tally SELECT “name, quota_type, bytes_up_total, bytes_down_total, bytes_transfer_total, files_up_total, files_down_total, files_transfer_total FROM ftpquotatotal WHERE name = ‘%{0}’ AND quota_type = ‘%{1}’”

SQLNamedQuery update-quota-tally UPDATE “bytes_up_total = bytes_up_total + %{0}, bytes_down_total = bytes_down_total + %{1}, bytes_transfer_total = bytes_transfer_total + %{2}, files_up_total = files_up_total + %{3}, files_down_total = files_down_total + %{4}, files_transfer_total = files_transfer_total + %{5} WHERE name = ‘%{6}’ AND quota_type = ‘%{7}’” ftpquotatotal

SQLNamedQuery insert-quota-tally INSERT “%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}” ftpquotatotal

QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

RootLogin off
RequireValidShell off

Gestion des logs

Enregistre les requêtes SQL dans /var/log/proftpd/mysql.log

SQLLogFile /var/log/proftpd/mysql.log

Enregistre les authentifications

LogFormat auth "%v [%P] %h %t “%r” %s"
ExtendedLog /var/log/proftpd/auth.log AUTH auth

Enregistre les accès aux fichiers

LogFormat write "%h %l %u %t “%r” %s %b"
ExtendedLog /var/log/proftpd/access.log WRITE,READ write[/code]
Je comprends pas trop ou ca merde la.

J’ai ajouté PassivePorts 40000 50000 puis MultilineRFC2228 on dans mon proftpd.conf, les ports 20-21 sont ouverts ainsi que ceux pour les ports passifs. J’ai aussi viré les Timeout au cas ou mais rien n’y fait.

Merci d’avance.


#2

slt,

Le mieux je pense c’est si de chez toi ca coupe aussi toute les 20 minutes, utilise tcpdump ou etheral pour dumper le flux, aprés ça tu pourra analyser le traffic et eventuellement avoir une piste.


#3

Chez moi ca ne coupe pas :confused:

Parmis tout les postes distants sur lesquels j’ai essayé, je n’ai eu aucun problèmes.

Je viens de passer l’option UseReverseDNS off à UseReverseDNS on je vais voir si il y a un changement


#4

J’ai mis l’ip du serveur en DMZ et ca fonctionne :confused:


#5

slt,

Em dmz quoi, privée/public, public a mon avis…ha c’est clairs que c’est mieux, si je comprend bien, ca veux dire que les clients avait accés à la dmz privée avec des coupures toutes les 20sec…


#6

J’ai pas trop le choix avec mon routeur.
C’est DMZ ou pas DMZ :blush: Mais ou en gros c’était la merdasse et maintenant c’est nikel !