0
Posted by alex on Aug 27th, 2008

PhpSysInfo est un script permettant de générer un résumé de l'état et des périphériques du serveur.

Je vais garder cet article court afin de ne pas vous décourager (les derniers paragraphes sont complémentaires, pas besoin de les lires ;) ) . C'est pourquoi je n'aborderai pas les pour/contre d'une chroot ou d'une bsd jail, je vais simplement expliquer plusieurs méthodes pour faire fonctionner phpsysinfo à l'intérieur d'une prison.

 

Voici donc la première méthode:

  1. Télécharger phpsysinfo et décompresser l'archive dans vos documents apache.
  2. Renommez index.php en cron.php
  3. Exécutez chattr +i -R *.php
  4. Créer un cron qui s'execute à chaque minute. Executez crontab -e et inscrivez:
  5. * * * * * cd /chroot/httpd/home/phpsysinfo/ && php -n cron.php >index.html

N'oubliez pas de changer le chemin en rose.

Note: Pour plus de sécurité je recommande de placer les scripts de phpsysinfo à l'extérieur de la prison chroot et de garder seulement les répertoires images et templates dans la prison. Parce que si le serveur est compromis et vos fichiers altéré, il seront exécuter à l'extérieur de la prison ! Le chattr sert à réduire ces risques !

Inconvénients/Limitations:

  1. Le script est généré à chaque minute, peu importe si quelqu'un le consulte ou pas (Une charge inutile).
  2. Les informations ne sont pas en temps réel.
  3. On ne peut pas changer de thème sur la page de phpsysinfo, seul le thème par défaut fonctionnera.

Et voilà, à chaque minute votre phpsysinfo sera mis à jour :)

Plus d'informations/Prochains articles:

À force de réfléchir à des solutions, j'en suis venu à la liste d'idées suivante pour faire fonctionner phpsysinfo:

  1. Faire des hard-links de tous les devices, programmes et librairies dont phpsysinfo à besoin à l'intérieur de la chroot. Peu sécuritaire.
  2. Modifier phpsysinfo pour qu'il prenne ses informations dans des fichiers textes qu'un cron aurait généré. Compliqué pour rien.
  3. Créer un programme qui écoute sur un socket unix et qui génère le contenu de la page phpsysinfo sur demande (le programme étant à l'extérieur de la prison, mais le socket étant à l'intérieur).
  4. Même chose que point #3 mais avec un socket tcp.
  5. Simplement générer le contenu de la page à l'aide d'un cron à l'extérieur de la prison.

J'ai rapidement éliminé la première idée pour des raisons de sécurité. J'ai également éliminé la deuxième méthode parce que c'est trop compliqué pour rien.

Il me restait deux solutions: Un programme qui écoute à l'extérieur de la prison et génère la page sur demande ou bien un cron qui génère le contenu de la page à intervalle régulier. Vous l'aurez deviné, le gros avantage des méthodes 2 et 3 est que la page va être généré en temps réel et seulement au besoin, l'utilisateur n'y verra que du feu. La cinquième méthode a l'avantage d'être très très facile à mettre en œuvre :)  mais elle va représenter un décalage de 60 secondes avec la réalité.

Note: Cette suite d'articles s'adresse aussi à ceux ayant désactivé des fonctions de php ou ayant mis un open_basedir empêchant phpsysinfo de fonctionner !

0 comment
Connectez-vous ou postez en tant qu'invité:
Your Name Your Email


Vérification: 0320
Go to Top