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