(Bien que les réponses et les commentaires sur Comment gérer un serveur compromis? sont utiles, ma question porte davantage sur la prévention du piratage lorsque je n’exerce pas un contrôle total (ou important) sur le serveur. J'ai un accès SSH mais pas les privilèges root. Je ne peux rien voir ou changer quoi que ce soit en dehors de mon propre compte utilisateur.)
Je fais du bénévolat pour une organisation à but non lucratif, maintenant leur site Web pour eux. Nous sommes sur une plateforme d'hébergement mutualisé à petit budget (Bluehost) depuis plusieurs années. Le site a été construit sur Wordpress et j'ai fait de mon mieux pour garder le noyau WP et tous les plugins à jour.
Mais nous avons été piratés plusieurs fois. Parfois, c'était malveillant (dégradant la page d'accueil) tandis que d'autres fois c'était furtif (j'ai découvert des fichiers cachés qui semblaient simplement permettre à quelqu'un d'entrer et de fouiner).
Je me suis totalement débarrassé de WP, en reconstruisant le site sur Bootstrap. J'ai supprimé tous les fichiers du serveur, exécuté plusieurs analyses antivirus sur la version locale du nouveau site, effectué une recherche sur tout ce qui serait suspect, puis j'ai téléchargé les fichiers sur le serveur. J'étais presque sûr à 100% que cette nouvelle base de code était "propre".
Mais en quelques jours, j'ai découvert (en comparant le serveur à ma version locale) un index.php piraté (certains 'preg-replace 'code a été inséré avant la première ligne) et a trouvé un fichier "logo-small.png" dans un sous-répertoire qui n'était pas vraiment un fichier image. C'était un gros morceau de PHP obscurci qui semblait prêt à faire des choses désagréables (j'ai désobscurci et visionné le code).
Je savais que les hôtes partagés, souvent avec des centaines de sites, pouvaient être vulnérables. À ce stade, je me méfie totalement du serveur sur lequel nous sommes. Mais quand j'ai demandé à Bluehost si nous serions plus en sécurité sur un VPS ou un serveur dédié (en pensant que notre "bac à sable" serait plus difficile d'accès), ils ont dit que cela ne ferait pas vraiment de différence.
Je suis donc dans un dilemme. L'asbl que j'aide a un budget limité. Mais je ne veux pas non plus continuer à passer des dizaines à des centaines d'heures à surveiller et à réparer le site. Je ne sais pas si les pirates entrent via le système de fichiers ou un port ouvert qui ne devrait pas être ouvert.
Existe-t-il une solution rentable offrant un bien meilleur «durcissement»?