Meetup Wordpress Toulouse #16

Mai 2018


Protégez
votre site web

Je suis Dascritch

aka Xavier Mouton-Dubosc


⋅ Développeur d'applications

⋅ Émission CPU sur Radio <FMR>

⋅ Co-animateur Cryptoparty Toulouse

Je n'aime pas Wordpress

</troll>


Ce que je vais dire s'applique
pour tout CMS

et même

pour tout site web !

Faisons connaissance


⋅ 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 ?

Quels risques pour un site mal protégé ?


⋅ 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

Oh PHRACK !
I've been pwn'd…


⋅ 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

Les signes annonçant un suicide


⋅ 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

Pour rappel, un mot de passe, c'est comme un slip :


⋅ On ne le montre pas à tout le monde


⋅ On ne le partage pas avec un autre


⋅ On le change souvent

Autre analogie :

Un programme est comme un château fort


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


Ayez le moins de fonctions et d'add-ons possibles

À l'installation :

⋅ 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

Devenez pros, utilisez :


⋅ 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)

Après l'installation : Faites TOUTES les mises à jour

⋅ 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 »

SÉRIEUSEMENT ?

Fin de support de sécurité PHP 5.2 : 6 janvier 2011

Faites des backups très régulièrement :


⋅ 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)

Utilisez des outils de monitoring

Q&R

 


http://dascritch.net

http://cpu.pm