Mai 2018
aka Xavier Mouton-Dubosc
⋅ Développeur d'applications
⋅ Émission CPU sur Radio <FMR>
⋅ Co-animateur Cryptoparty Toulouse
Je n'aime pas Wordpress
et même
⋅ Qui programme en PHP ?
⋅ Qui connait des commandes sous linux ?
⋅ Qui peut intervenir en ssh sur son serveur ?
⋅ Qui a déjà conduit un audit sur serveur ?
⋅ Qui a le numéro de portable de son admin sys ?
⋅ Vendre du viagra
⋅ Se retrouver avec des scripts maveillants (pubs, mineurs de cryptomonnaie)
⋅ Avoir une demande de rançon
⋅ Être impliqué dans un DDoS
⋅ Envoyer du spam (e-mail, comments,…) en son nom
⋅ Infecter d'autres serveurs
⋅ Se retrouver impliqué dans une affaire judiciaire
⋅ RGPD ← là, j'ai fini de vous faire peur
⋅ On s'en aperçoit toujours trop tard
⋅ Le serveur doit être considéré comme totalement compromis → À reformater
⋅ Les mots de passe sont peut-être interceptés et tentés ailleurs
⋅ Les données personnelles sont revendues.
RGPD → prévenir la CNIL
⋅ Utiliser FTP
⋅ Être en http:// only
⋅ Avoir des mots de passes faibles et partagés
⋅ Ne pas mettre à jour son site
⋅ Envoyer des mots de passe par e-mail (en clair)
⋅ Avoir un formulaire qui envoie un e-mail avec un message
Autre analogie :
Plus il y a de codes, de fonctions
↳ plus grande est la surface d'attaque
↳ plus il y'a de risques de bugs, de plantages, de failles
↳ plus il devient facile à attaque
⋅ Plusieurs services sur un même NDD ? Séparez-les ! VM, not Docker
⋅ Un add-on ou thème ajouté ? → regardez le code
⋅ Vous installez une lib JS ? → hébergez-le
⋅ Bloquez les droits d'écriture de vos fichiers
⋅ Si vous pouvez, double-auth partout
⋅ Virez XML/RPC sauf si vous l'utilisez VRAIMENT
⋅ Clean code : vos fichiers de templates doivent avoir aucune ligne de code PHP ou JS
⋅ Déplacez l'interface d'admin à une autre adresse
⋅ Affichez le moins possible votre CMS/PHP/Apache
⋅ Pensez aux CSP et CORS
⋅ Un outil de versionnage (git)
⋅ une suite de préparation (make, bower, closurejs backport ECMA6, backport css3 myth.io ou cssnext…)
⋅ une suite de tests unitaires (intégration, bdd)
⋅ un script de déploiement (ansible)
⋅ Wordpress
⋅ Les add-ons de votre Wordpress
⋅ Les libs Javascript
⋅ L'OS du serveur lui-même
« Wordpress est très bien car il peut tourner en PHP 5.2 »
Fin de support de sécurité PHP 5.2 : 6 janvier 2011
⋅ Identifiez ce qui est à sauvegarder
⋅ Essayez une restauration : une sauvegarde ne sert à rien si elle n'est pas réinstallable
⋅ idéalement, automatisez vos backups (snapshots, crons, scripts), et mettez-les sur un autre serveur que le site web (sinon, ça sert à rien)