Joomladay francophone 2018 à Paris 18 et 19 mai

Comment trouver l'origine des attaques

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Comment trouver l'origine des attaques

    Ca recommence alors il faut que vous ayez les cartes en main pour vous en sortir tout seul.

    J'appelle donc tous les spécialistes à participer à ce Biki pour donner des pistes et aboutir à un tuto qui aurait un plan de ce type :

    1. Règles de base : être à jour dans ses versions
    2. Les paramètres PHP sensibles et les attaques liées
    3. Mettre en place une solution de sauvegarde automatique si votre hébergeur n'en propose pas
    4. Récupérer ses logs (chez les principaux hébergeurs)
    5. Trouver les fichiers modifiés ou ajoutés -> utilisation de filist.php

    Merci de commencer vos réponse par le numéro du chapitre concerné. Ex: "4. récupérer ses logs ches OVH"
    Que la forge soit avec vous.

  • #2
    5. Trouver les fichiers modifiés ou ajoutés

    J'ouvre les hostilités :

    Un site Joomla contient de nombreux sous-répertoires et il serait fastidieux de les explorer tous un par un.

    Une 1ère solution consiste à transférer l'ensemble du site en local pour éviter les le faire à distance. Mais le transfert par FTP prend déjà un certain temps et le nombre de répertoires est toujours conséquent.

    La 2ème consiste à utiliser un script comme "Filist" qui génère dans votre navigateur la liste de tous les fichiers du répertoire dans lequel il se trouve et de tous ses sous-répertoire.
    Pour cela, téléchargez Filist ici, dé-zippez le en local puis trasférez le fichier PHP à la racine de votre site Joomla par FTP. Ensuite, appelez le dans votre navigateur en entrant l'url qui serait de ce style : http: //www.monjoomla.com/filist.php
    Une fois la liste affichée (ce qui peut prendre quelques dizaines de secondes), sélectionnez la liste avec votre souris et copiez-là pour la coller (menu Edition / collage spécial / texte) dans un tableur. Enregistrez alors le fichier du tableur en local et supprimez filist.php de votre serveur pour éviter que d'autres n'y aient accès...

    Maintenant que vous avez votre liste dans le tableur, vous avez tout le loisir d'examiner les fichiers et de les comparer aux fichiers d'origine. En règle générale, les fichiers modifiés pour l'attaque sont en début de liste. Mais la meilleure chose à faire est d'utiliser ce script pour dresser la liste des fichiers avant une quelconque attaque. Vous pourrez ainsi comparer les 2 listes, avant et après : vous pourrez ainsi comparer la signature numérique de chaque fichier et donc avoir la certitude qu'il a été modifié ou non.
    Si vous trouvez un fichier "c99..." ou "...shell..." vous aurez déjà une piste : il s'agit d'un script qui a été uploadé et qui fait office de console d'administration pour les fichiers et la base de données, donc très dangereux!

    Une fois que vous avez détecté un ou plusieurs fichiers douteux, essayez de trouver la trâce du nom de ce(s) fichier(s) dans vos logs. Pour cela, reportez-vous au chapitre 4.

    Une précision importante : Aucun des fichiers de Joomla (le noyau que vous avez téléchargé en premier pour l'installation) n'est censé être modifié, execpté le fichier "configuration.php". Si un ou plusieur de ces fichiers l'ont été, vous pouvez les uploader à nouveau sur le serveur. Ca corrigera certainement le problème, mais n'empêchera pas le pirate de recommencer tant que vous n'aurez pas trouvé la façon dont il s'y est pris et fermé la "porte" qu'il a utilisé. Encore une fois, pour trouver cette "porte", un examen minitieux des logs est indispensable.
    Dernière édition par globule à 22/07/2007, 07h34 Raison: Signature des fichiers
    Que la forge soit avec vous.

    Commentaire


    • #3
      0. Introduction

      Joomla en lui-même est un script sûr. Les problèmes de sécurité peuvent venir de réglages PHP trop permissifs ou de faille dans des extensions. C'est pourquoi il est important de :
      1. bien choisir son hébergeur
      2. tenir compte des avertissements lors de l'installation
      3. connaitre la liste complète des extensions utilisées et de les tenir à jour
      4. s'abonner au forum Sécurité
      5. faire régulièrement des sauvegardes de son site (fichiers et base de données)

      Même si ces préconisation ne vous protègent pas complètement, elles permettent de limiter les risques au maximum et vous simplifier la tâche en cas d'attaque.

      Nous allons donc voir comment bien se préparer et réagir face à une éventuelle attaque.
      Que la forge soit avec vous.

      Commentaire


      • #4
        2. Les paramètres PHP sensibles et les attaques liées

        Pour comprendre les problèmes de paramétrage PHP et y remédier, commencez par lire ceci.
        Si ce document concerne une ancienne version de Joomla, il concerne tout autant les extensions qui peuvent ne pas être aussi bien sécurisés que la version actuelle de Joomla. C'est pourquoi il est important les certains paramètres PHP soient réglés de la façon suivante :
        register_globals=off
        magic_quotes_gpc = on
        (vous pouvez en ajouter d'autres, ma mémoire est loin d'être parfaite!)

        Le paramètre "register_globals" permet des attaques très simples : on passe un paramètre dans l'url pour modifier une des variables de configuration de Joomla et planter le site ou rediriger les pages ailleurs (en modifiant $mosConfig_live_site).

        Après l'installation de Joomla, il faut également modifier le fichier "global.php" pour que l'émulation de soit désactivée :
        define( 'RG_EMULATION', 0 );
        Si vous trouvez des extensions aui nécessite cette émulation, évitez de les installer : ça signifie qu'ils sont une source potentielle de failles.

        Si "magic_quotes_gpc" n'est pas activé, ce sont des requêtes SQL qui peuvent être envoyées à la base de donnée par une URL. Comme toute l'organisation de votre site y est stockée...

        Il est par exemple arrivé à un membre de la communauté de trouver, à la place d'un titre de menu (ils sont dans la base), un javascript qui redirigeait le navigateur vers un autre site. Si bien que lorsqu'on affichait n'importe quelle page où le menu apparaissait, le navigateur était redirigé vers un autre site. Dans ce cas, aucun fichier n'avait été modifié!
        C'est un exemple qui démontre que l'imagination des pirates est très grande et qu'il ne faut pas les sous-estimer.
        Dernière édition par globule à 22/07/2007, 07h43
        Que la forge soit avec vous.

        Commentaire


        • #5
          2. Les paramètres PHP sensibles et les attaques liées

          Je rajoute :
          allow_url_fopen = Off
          Qui interdit le traitement des url en tant que fichier et empêche donc de pouvoir télécharger des fichiers dont le type mime n'est pas déclaré dans la config du serveur.
          Que la forge soit avec vous.

          Commentaire

          Annonce

          Réduire
          1 sur 2 < >

          C'est [Réglé] et on n'en parle plus ?

          A quoi ça sert ?
          La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

          Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

          Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
          Comment ajouter la mention [Réglé] à votre discussion ?
          1 - Aller sur votre discussion et éditer votre premier message :


          2 - Cliquer sur la liste déroulante Préfixe.

          3 - Choisir le préfixe [Réglé].


          4 - Et voilà… votre discussion est désormais identifiée comme réglée.

          2 sur 2 < >

          Assistance au forum - Outil de publication d'infos de votre site

          Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

          Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

          Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

          UTILISER À VOS PROPRES RISQUES :
          L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

          Problèmes connus :
          FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

          Installation :

          1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

          Archive zip : https://github.com/AFUJ/FPA/zipball/master

          2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

          3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

          4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

          5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

          6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
          et remplacer www. votresite .com par votre nom de domaine


          Exemples:
          Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
          Télécharger le script fpa-fr.php dans: /public_html/
          Pour executer le script: http://www..com/fpa-fr.php

          Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
          Télécharger le script fpa-fr.php dans: /public_html/cms/
          Pour executer le script: http://www..com/cms/fpa-fr.php

          En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

          Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
          Voir plus
          Voir moins
          Travaille ...
          X