Lire un journal d'accès après une attaque Le journal contient déjà toute l'histoire. Six commandes d'une ligne transforment un million de lignes en : qui, d'où, et s'il est entré. 5 min read Les sauvegardes sont une mesure de sécurité Une sauvegarde sur le même serveur, avec les mêmes identifiants, n'est pas une sauvegarde. C'est une seconde copie qui attend le même événement. 4 min read CSRF : un formulaire envoyé depuis ailleurs Votre visiteur est connecté, et un autre site pousse son navigateur à envoyer une requête au vôtre. Un jeton par formulaire y met fin. 4 min read Comment savoir si un site est compromis La plupart des sites compromis paraissent parfaitement normaux à leur propriétaire. Les signaux qui valent d'être vérifiés, et les quatre commandes qui les trouvent. 5 min read fail2ban : ce qu'il arrête et ce qu'il n'arrête pas Il lit les journaux et bannit les adresses qui répètent un motif. Utile, étroit, et facile à configurer de façon à bannir votre propre bureau. 5 min read Des droits justes, pas seulement des droits qui marchent 777 fait disparaître l'erreur et ouvre le site à quiconque peut écrire un fichier. Ce que signifient les chiffres, et ce dont un site a réellement besoin. 5 min read Nettoyer un site compromis L'ordre qui rend un site piraté propre et le garde propre — et l'étape que presque tout le monde saute. 8 min read Durcir SSH Six lignes de configuration transforment le service le plus attaqué de votre serveur en un service qu'on ne peut plus deviner du tout. 4 min read Un code malveillant dans la base, pas dans les fichiers Vous avez réinstallé le cœur, remplacé toutes les extensions, et la redirection est toujours là. Elle est dans une ligne, pas dans un fichier. 4 min read La propriété, umask et le piège du groupe chmod 777 soigne le symptôme et ouvre la porte. La propriété et le bit de groupe soignent la cause, et gardent les nouveaux fichiers corrects. 5 min read La force brute contre le panneau Des milliers de tentatives de connexion par jour sont un bruit de fond normal. Cela ne devient une intrusion que lorsqu'un mot de passe est faible et que personne ne compte. 4 min read Garder PHP à jour sans casser le site Rester sur une version de PHP qui n'est plus suivie est une faille de sécurité au ralenti. Les versions correctives sont sans risque ; les versions majeures demandent vingt minutes de préparation. 4 min read Pourquoi une sauvegarde n'est pas une sauvegarde Un rançongiciel cherche d'abord les sauvegardes, et trouve celles que le serveur peut atteindre. La règle 3-2-1 existe précisément pour cela. 4 min read Limiter le débit d'une page de connexion Deviner un mot de passe, ce sont des milliers de tentatives par heure. Une limite rend cela inutile, et cela coûte un bloc dans la configuration du serveur. 4 min read L'injection SQL, en termes simples La donnée a été lue comme une partie de la question. Une seule habitude supprime toute la famille - et ce n'est pas l'échappement. 5 min read Des clés SSH plutôt que des mots de passe Une clé met fin aux tentatives par force brute, purement et simplement. Générez-la, installez-la, testez-la dans une seconde fenêtre, et seulement ensuite coupez les mots de passe. 5 min read La double authentification, et où garder les codes de secours Elle fait qu'un mot de passe volé ne suffit plus. La mise en place prend deux minutes ; ce qu'on rate, c'est la partie qui traite de la perte du téléphone. 4 min read Le répertoire de téléversements ne doit jamais exécuter Vérifier l'extension du fichier ne suffit pas. Si le serveur web exécute du PHP depuis votre dossier de téléversements, un seul mauvais fichier est un shell. 4 min read Les quatre choses par lesquelles un site WordPress se fait pirater Pas des exploits obscurs. Quatre omissions ordinaires expliquent presque tous les sites compromis, et chacune se ferme en quelques minutes. 6 min read Le cross-site scripting, en clair Le code d'un autre qui tourne sur votre page, dans la session de votre visiteur. Une seule habitude en empêche la quasi-totalité. 5 min read