La liste de contrôle de sécurité PHP ultime des meilleures pratiques WordPress

Publié: 2017-11-03

mirsad / stock.adobe.com

Le processus de sécurité de votre site Web aborde probablement la manière de sécuriser votre site WordPress au niveau du serveur ainsi que de protéger votre site au niveau des fichiers. Mais avez-vous besoin de protéger votre langage de programmation ? Existe-t-il de bonnes pratiques de sécurité PHP que vous devez suivre ? PHP doit-il être sécurisé ?

Oui, oui et oui.

Si vous gérez un site Web WordPress mais ne vous concentrez pas sur la sécurité de votre code PHP, vous pourriez être exposé à un incident majeur.

Oh non Omg GIF par des amis

Il y a de nombreux avantages à utiliser PHP pour développer votre site Web WordPress :

  • Il est assez simple à utiliser en tant que novice et suffisamment flexible pour les professionnels de la programmation.
  • Il fonctionne parfaitement sur toutes les plateformes (par exemple Linux, Windows, etc.).
  • Il est également très convivial pour WordPress.
  • Cela peut améliorer la vitesse du site.

Cela dit, PHP n'est pas sans défauts. Les applications programmées en PHP peuvent présenter des risques :

  • Injection SQL
  • Scripts intersites
  • Identifiants de connexion exposés
  • Détournement de session
  • Formulaires usurpés
  • Et d'autres risques de sécurité désagréables

Connexe : Comment vérifier la version PHP de votre site WordPress (et la compatibilité des mises à niveau)

Évidemment, cela ne vise pas à vous décourager d’utiliser PHP pour programmer votre site Web WordPress. Il s'agit d'un langage extrêmement fiable et flexible qui, lorsqu'il est correctement sécurisé, peut constituer un outil incroyablement puissant qui contribue également à rationaliser votre processus.

La liste de contrôle de sécurité PHP suivante vous apprendra toutes les meilleures pratiques de sécurité PHP que vous devez connaître pour assurer la sécurité de votre langage de programmation et des applications construites en PHP à l'avenir.

Notre équipe chez WP Buffs aide les propriétaires de sites Web, les agences partenaires et les partenaires indépendants à suivre les meilleures pratiques de sécurité PHP. Que vous ayez besoin de nous pour gérer 1 site Web ou prendre en charge 1 000 sites clients, nous sommes à vos côtés.

La liste de contrôle de sécurité PHP ultime pour WordPress

Vous voulez vous assurer que votre site Web WordPress reste à l’abri des pirates ? C'est ensuite à vous de vous assurer que tous les outils que vous utilisez pour le construire (y compris votre langage de programmation) respectent les meilleures pratiques de sécurité. Plus précisément, en ce qui concerne PHP, vous devrez prêter une attention particulière aux éléments suivants :

  • Meilleures pratiques de codage PHP
  • Restrictions d'accès sur le backend de votre site
  • Gestion et suivi des comptes utilisateurs
  • Validation, nettoyage et échappement des données
  • Données soumises par les utilisateurs et surveillance des téléchargements
  • Fiabilité de l'hébergeur Web

Si vous souhaitez plus d'informations sur les points de contrôle de sécurité PHP ci-dessus et comment les utiliser dans le développement WordPress, continuez à lire pour la liste de contrôle de sécurité PHP ultime.

Meilleures pratiques PHP

  • Utiliser PHP7 : Utilisez toujours la dernière version de PHP. Il en va de même pour toutes les bibliothèques et applications tierces que vous utilisez avec.
  • Masquer la version : la version actuelle de PHP que vous utilisez peut permettre aux pirates informatiques de savoir à quel type de vulnérabilités vous avez laissé votre site ouvert, alors désactivez ce paramètre dans votre en-tête en utilisant expose_php.
  • Renommer phpinfo : Les informations supplémentaires sur votre installation doivent également être masquées, alors assurez-vous de changer le nom du fichier phpinfo.php.
  • Modifier le code d'erreur : modifiez le message d'erreur par défaut qui s'affiche aux utilisateurs en cas d'échec d'une connexion à votre site. Cela les empêchera de voir les informations sur votre adresse IP ou le chemin du fichier. Au lieu de cela, enregistrez simplement ces erreurs de votre côté.
  • Limiter les commandes système : le consensus général est que vous ne devriez pas utiliser de fonctions shell en PHP. Toutefois, si vous devez le faire, n’incluez pas les données utilisateur.

Protégez le back-end

  • Utiliser SFTP : lors du transfert de fichiers sur le backend, utilisez toujours SFTP.
  • Restreindre l'accès au répertoire : modifiez le nom du répertoire par défaut de votre application PHP.
  • Configurez le chemin de session : si vous utilisez un hébergement partagé pour votre site, les autres utilisateurs du serveur pourront peut-être voir vos données de session. Vous pouvez arrêter cela en stockant les nouveaux chemins de session sous le répertoire racine.
  • Créer des administrateurs distincts : si vous exécutez plusieurs sites Web basés sur PHP sur un seul serveur, assurez-vous d'utiliser un administrateur distinct avec des informations de connexion complètement différentes pour chacun. Cela empêchera les infections intersites.
  • Rendre le répertoire en lecture seule : protégez votre répertoire accessible sur le Web en le définissant en lecture seule.
  • Stocker les fichiers sensibles en dehors du répertoire : les fichiers d'application sensibles (comme les fichiers de configuration) doivent être placés dans un répertoire non accessible par le Web. Vous pouvez ensuite les router à l'aide d'un script PHP.

Informations utilisateur sécurisées

  • Crypter tous les mots de passe : celui-ci est évident, mais assurez-vous de l'appliquer à tous les niveaux – pour vos mots de passe ainsi que pour tous les utilisateurs connectés.
  • Sessions sécurisées : empêchez le détournement de sessions en créant un identifiant de session complexe. Vous pouvez également ajouter un jeton spécial à chaque URL.
  • Détruire les anciennes sessions : Lorsqu'une personne s'est déconnectée ou si ses droits d'accès ont changé, supprimez toujours les cookies de sa session et forcez un nouvel identifiant de session.
  • Vérifier les nouveaux utilisateurs : vérifiez toujours l'identité des nouveaux utilisateurs et accordez-leur les privilèges d'accès en conséquence. Ceci est particulièrement important s’ils tentent d’accéder à une page restreinte.
  • Utilisez une limitation : trop de connexions échouées doivent être bloquées avec une limitation de mot de passe.

Valider les entrées et les sorties des utilisateurs

  • Valider et nettoyer les entrées : toutes les données, fichiers, URL, contenus intégrés, CSS ou HTML envoyés via votre site par un utilisateur – connu ou inconnu – doivent être examinés et nettoyés. Cela signifie que seules les données que vous vous attendiez à recevoir (par exemple, nom d'utilisateur pour nom d'utilisateur, adresse e-mail pour adresse e-mail, etc.) doivent être autorisées. Conservez les « mauvais » mots comme « DE » ou « OÙ » ou la ponctuation comme un guillemet simple. sur votre radar , car ils peuvent indiquer que quelqu'un essaie d'introduire un code malveillant sur votre site .
  • Sortie d'échappement : avant de publier des données ou des fichiers utilisateur sur votre site, assurez-vous qu'ils ont également été échappés pour empêcher les caractères et le code potentiellement dangereux de passer (comme les guillemets simples ou <script>).
  • Limiter les données POST : Si des pirates souhaitent attaquer votre site avec une quantité énorme de données, vous pouvez empêcher cela en fixant des limites à la quantité de données POST pouvant être envoyées. Vous pouvez également limiter le temps de saisie.
  • Désactivez Register_Globals : il ne devrait jamais y avoir de latitude quant au type d'informations pouvant être soumises dans les formulaires de votre site. Malheureusement, Register_globals ouvre cette opportunité aux pirates.
  • Désactivez Magic_Quotes : Magic_quotes en soi ne nuira pas à votre site, mais les personnes qui l'utilisent pour échapper à vos données générées pourraient involontairement introduire une vulnérabilité.

Surveiller les téléchargements

  • Désactiver les téléchargements de fichiers : cela n'est pas toujours possible. Mais si vous n'avez pas besoin de recevoir des fichiers ou des données des utilisateurs, supprimez cette fonctionnalité.
  • Vérifier les fichiers téléchargés : si vous devez autoriser les utilisateurs à télécharger des fichiers sur votre site, vous devrez analyser le contenu du fichier pour détecter toute injection nuisible. En guise de raccourci, vous pouvez réenregistrer le fichier dans un format différent. S'il est toujours valide, il y a moins de chances qu'il y ait un problème.
  • Utilisez un antivirus : Si votre site accepte de nombreux fichiers téléchargés, vous souhaiterez qu'un antivirus soit installé.

Utiliser un hébergement Web sécurisé

  • Utilisez un hôte fiable : quel que soit le travail que vous consacrez à la sécurisation de votre site Web, de vos fichiers, de votre zone de connexion ou de votre langage de programmation, la sécurité doit commencer au niveau de l'hébergement. C'est pourquoi vous devez vous associer à un hébergeur fiable qui donne la priorité à la sécurité et fournit une prise en charge spécifique pour PHP7.
  • Obtenez un CDN : Une autre façon de réduire les menaces de sécurité au niveau du serveur consiste à obtenir un réseau de diffusion de contenu (CDN). Bien qu’ils soient souvent associés à l’amélioration des performances des sites Web globe-trotters, les CDN offrent également une couche de protection supplémentaire.
  • Obtenez un certificat SSL : il s'agit d'une bonne pratique, que vous programmiez avec PHP ou non. Les certificats SSL ajoutent une couche cryptée supplémentaire entre votre serveur et les navigateurs de vos visiteurs.

Bien que chacun des points ci-dessus soit effectivement valable, ce point particulier mérite d'être souligné, car la qualité de l'hébergement Web sur lequel vous comptez peut en fin de compte faire ou défaire la stratégie de sécurité de votre site.

Comme il est souvent difficile de distinguer le bon du mauvais, surtout lorsque vous recherchez quelque chose d'aussi spécifique que le support de PHP7, nous vous suggérons de commencer par des hébergeurs Web comme WP Engine et Kinsta.

Connexe : Hébergement WordPress entièrement géré via WP Engine et Kinsta

WP Engine est un fournisseur d'hébergement WordPress géré qui inclut le support PHP7 dans chacun de ses plans d'hébergement. De plus, WP Engine aborde régulièrement le sujet de PHP7 sur son blog avec des mentions spéciales à son plugin PHP Compatibility Checker. Dire que cette société se consacre au support utilisateur de PHP7 serait un euphémisme.

Kinsta, autre société d'hébergement WordPress gérée, héberge tous les sites Web de ses clients avec PHP7. Il s’agit de garantir des performances et une vitesse élevées à tous les niveaux. Kinsta offre également à ses utilisateurs la possibilité de mettre à jour leur moteur PHP vers la dernière version de PHP.

Et, bien sûr, il faut également prendre en compte l’hébergement WordPress entièrement géré de WP Buffs. WP Buffs reste toujours en avance en gardant ses serveurs et ses versions PHP à jour avec les dernières et meilleures versions, vous n'aurez donc jamais à vous soucier de gérer vous-même ces mises à niveau (ce qui fait partie de la joie d'externaliser la gestion de WordPress). à quelqu'un d'autre, non ?)

Emballer

Lors de la création d’un site Web WordPress, la sécurité est toujours une préoccupation majeure. C'est pourquoi vous utilisez des plugins et des thèmes fiables et gardez toujours votre noyau à jour, entre autres bonnes pratiques de sécurité. PHP n'est pas différent. Gérez-le comme vous le faites avec vos autres outils WordPress : gardez-le à jour et respectez toujours les meilleures pratiques de sécurité, et vous (et votre site Web) pourrez dormir beaucoup plus sainement la nuit.

Vous souhaitez donner votre avis ou participer à la conversation ?Ajoutez vos commentaires sur Twitter.

Enregistrer Enregistrer