Une des méthodes classiques utilisées par les personnes mal intentionnées pour mettre la pagaille dans un serveur est de lui faire exécuter des scritps malicieux hébergés ailleurs. Comme l'attaquant n'arrive pas à entrer dans le serveur et y lancer des commandes, il va héberger le script sur un site piraté ailleurs ou chez un hébergeur gratuit puis il va détourner un site hébergé pour lui faire importer et exécuter ce script.
Normalement, quand un site tournant sous PHP est bien fait, il doit être capable de distinguer entre les scripts légitimes et les scripts malicieux qui ne doivent pas être passés au serveur pour exécution.
Une technique intéressante permet, au niveau du PHP.INI, de demander au serveur de n'exécuter que les scripts qui sont présents localement sur les sites hébergés.
Pour cela, voilà ce qu'il faut faire:
- Ouvrez le fichier: /usr/local/lib/php.ini
- Cherchez la ligne: allow_url_fopen = On
- Remplacez par: allow_url_fopen = Off
Redémarrez APACHE, c'est tout.
La contrainte au niveau de vos sites hébergés est très faible, voir inexistante pour 99% des sites. En effet, il est tout à fait habituel pour les webmasters d'avoir tous leurs scripts sur le même serveur.