Forum Linux.général serveur compromis / n'importe quel mot de passe FTP accepté

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
1
28
juil.
2013

Bonjour,
je suis bien embêté : mon serveur kimsufi a été modifié à mon insu, quelqu'un ayant accès au compte FTP de la machine. Je croyais qu'il y avait un lien avec le problème de sécurité dont OVH a été victime mais je crois que dans mon cas, les choses sont encore plus simples : quelque soit le mot de passe qui est donné pour l'utilisateur "ftp", la connection est acceptée !

Il doit donc y avoir un gros trou de sécurité dans mon fichier proftpd.conf, fichier que j'avais bricolé il y a quelques mois. J'ai déclaré une section "anonymous" qui ne contient que cela :

User ftp
Group ftp
Useralias anonymous ftp
< Limit WRITE>
Denyall
DenyUser ovh
< /Limit >

… mais j'ai manifestement oublié quelque chose, mais quoi ?

Merci de m'aider !

  • # anonymous

    Posté par  . Évalué à 3.

    Useralias anonymous ftp

    ca veux dire qu'un compte se presentant sous le nom FTP
    sera associé à anonymous (un compte sans login/pass)

    cf l'exemple ici
    http://www.proftpd.org/docs/configs/basic.conf

    bref, ta connexion avec le compte ftp doit etre :
    - limitée au dossier que tu as referencé
    - interdite d'ecriture dans ce dossier (Limit Write Denyall)

    • [^] # Re: anonymous

      Posté par  (site web personnel) . Évalué à 1.

      Merci NeoX pour ton aide,
      je comprends mieux mon erreur : je VEUX que "ftp" soit associé à un mot de passe. J'ai donc éliminé ma section Anonymous de proftpd.conf. Maintenant, que dois-je écrire dans ce fichier pour que l'utilisateur "ftp" soit accepté ? Pour le moment, après avoir supprimé la section Anonymous et redémarré le service profptd, je ne peux plus me connecter en tant que "ftp".

      Trust the Python !

      • [^] # Re: anonymous

        Posté par  . Évalué à 3.

        il faut que l'utilisateur "ftp" existe sur ton systeme
        tout comme ton utilisateur xavier

        • [^] # Re: anonymous

          Posté par  (site web personnel) . Évalué à 1.

          L'utilisateur "ftp" existe : je peux modifier son mot de passe depuis l'interface Web du serveur; que veux-tu dire par "utilisateur xavier" ?

          Trust the Python !

          • [^] # Re: anonymous

            Posté par  (site web personnel) . Évalué à 1.

            Bon, je me réponds car je crois avoir compris. J'ai ajouté une section suivante qui semble répondre à mes problèmes.

            Un grand merci à Neox !

            < Anonymous /home/ovh/www/>
            User ftp
            Group ftp
            AnonRequirePassword on

            < Limit LOGIN>
            AllowAll
            < /Limit>
            < Anonymous>

            Trust the Python !

            • [^] # Re: anonymous

              Posté par  . Évalué à 3.

              je ne comprend pas ce que tu veux faire.

              là tu viens de faire un acces anonyme, qui demandera un mot de passe, et qui posera ses fichiers dans /home/ovh/www

              User ftp
              Group ftp

              c'est pour mettre les propriétaires des fichiers qui y seront deposer.

              • [^] # Re: anonymous

                Posté par  (site web personnel) . Évalué à 1.

                Je reconnais que mes compétences sont plus que limitées, mais qu'entends-tu par accès anonyme ? Avec ce que j'ai mis en place, seul l'accès avec le couple d'identifiants ftp/mot de passe ftp est accepté. Or c'est bien ce que je voulais faire. Qu'est-ce que je ne comprends pas ?

                Trust the Python !

                • [^] # Re: anonymous

                  Posté par  . Évalué à 3.

                  que tu as mis la configuration dans le paragraphe Anonymous

                  alors que tu peux mettre ce paragraphe en commentaire

                  le reglage par defaut doit permettre à n'importe quel utilisateur ayant un compte sur le serveur (toi, ftp, tacopine) de se connecter en ftp au serveur et d'y deposer des ficheirs.

                  • [^] # Re: anonymous

                    Posté par  (site web personnel) . Évalué à 2.

                    Ah… merci : ce que tu dis m'ouvre enfin les yeux. Je vais donc me créer un compte et accéder autrement au serveur que par l'intermédiaire du compte "ftp" que j'utilisais jusqu'à présent.

                    Merci de ta patience !

                    Trust the Python !

                    • [^] # Re: anonymous

                      Posté par  . Évalué à 2.

                      de rien,

                      avec proftpd, je decommente la ligne DefaultRoot
                      pour eviter que l'utilisateur se ballade en dehors de son dossier personnel

                      # Use this to jail all users in their homes 
                      # DefaultRoot           ~
                      DefaultRoot         ~

                      et j'ajoutes les lignes suivantes

                      AllowStoreRestart       On
                      AllowRetrieveRestart        On

                      pour permettre de reprendre les transferts qui auraient pu etre interrompus par une ligne capricieuse
                      (pratique quand tu transfers de gros fichiers, ca evite de redemarrer le transfert de zero)

                      • [^] # Re: anonymous

                        Posté par  (site web personnel) . Évalué à 3.

                        Merci Neox : j'aurais encore bien des questions mais je crains d'abuser. Je vais prendre le temps de lire la doc' de proftpd pour améliorer mes connaissances.

                        Trust the Python !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.