Récupérer configuration d’apache et vhost depuis la mémoire du process Apache

Si comme moi, vous avez supprimé une conf de votre serveur Apache via un rm, ne vous inquiétez pas il est possible de la récupérer.
Dans mon cas après la suppression de mon vhost Apache, je n’avais pas redémarrer Apache.

Il suffit de dumper la mémoire du process Apache pour ensuite faire une recherche dedans afin de retrouver votre vhost malencontreusement effacé.

  1. Installer le paquet gdb
    sudo apt-get install gdb

     

  2. Copier la code suivant dans un fichier dump-all-memory-of-pid.sh
    #!/bin/bash
    
    grep rw-p /proc/$1/maps | sed -n 's/^\([0-9a-f]*\)-\([0-9a-f]*\) .*$/\1 \2/p' | while read start stop; do gdb --batch --pid $1 -ex "dump memory $1-$start-$stop.dump 0x$start 0x$stop"; done

     

  3. Rendre le fichier executable
    chmod +x dump-all-memory-of-pid.sh

     

  4. Récupérer le pid du process Apache
    sudo pgrep -uroot apache2

     

  5. Dumper la mémoire du process
    mkdir /tmp/apache_dump && cd /tmp/apache_dump
    sh /path/to/dump-all-memory-of-pid.sh <PID>

     

  6. Faite un grep sur tous les fichiers de dump
    grep DocumentRoot *

     

  7. Ouvrir chaque fichiers de dump qui matche le grep pour y rechercher votre config.

 

J’ai pu ainsi récupérer la conf d’un vhost qui était assez délicate et dont je ne me voyais pas me re-torturé l’esprit pour la réécrire.

 


Commenter

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *