La Sécurité WordPress - Les bonnes pratiques pour protéger son site Brigitte DJAJASASMITA - wp2
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
La Sécurité WordPress
Les bonnes pratiques pour protéger son site
Brigitte DJAJASASMITA
WordPress Meetup Geneva
12 octobre 2017Brigitte Djajasasmita
IT depuis 1980
Indépendante depuis 2014
Formatrice / Consultante
Sécurité de l'information
Sites Web - WordPress
SEO
Photographie
Montagne
https://www.linkedin.com/in/bibiweb/Contenu 1. La sécurité : en quoi ça me concerne ? 2. Protéger son site 3. Surveiller son site 4. Réagir en cas d'attaque
Cyber-attaques: POURQUOI ? • Vol de données • Gain financier (par ex. ransomware) • Injection de programmes malicieux (Drive by download) • Insertion de liens (SEO spam) • Bloquer des ressources (DDOS) • Vandalisme (defacement) • Pour s'amuser • L'occasion fait le larron
WordPress : 75 millions de sites
27.5% de l'InternetSource: http://www.wptemplate.com/tutorials/safety-and-security-of-wordpress-blog-infographic.html (2013)
Se protéger
Niveau facile
1
Bien choisir son HÉBERGEMENT 2
3
4
5
6
7
81
Critères pour choisir un hébergeur 2
3
• Support technique de qualité (7/7) 4
• Sauvegardes et processus de restauration 5
• Versions récentes de PHP et MySQL
6
• Certificats SSL (Let's Encrypt)
7
• Protection contre les attaques DDOS (et autres)
8
• Disques rapides (SSD)
• Ressources suffisantes (mémoire et temps
d'exécution)1
2
Pas d'identifiant 3
4
ADMIN 5
6
7
Eviter également : 8
• Nom ou prénom
• Adresse mail
• Webmaster
• Administrator
• Tout ce qui est facile à deviner…1 2 3 4 5 6 7 8
1
2
Utiliser des 3
mots de passe 4
FORTS
5
6
7
et 8
UNIQUES1
Les pires mots de passe (2016) 2
3
Rang Mot de passe Rang Mot de passe
1 123456 13 solo 4
2 password 14 abc123
5
3 12345 15 admin
4 12345678 16 121212 6
5 football 17 flower
6 qwerty 18 passw0rd 7
7 1234567890 19 dragon 8
8 1234567 20 sunshine
9 princess 21 master
10 1234 22 hottie
11 login 23 loveme
12 welcome 24 zaq1zaq1
Source : https://www.teamsid.com/worst-passwords-2016/1
Exemples de bons mots de passe 2
3
4
0uY216@7kviBBql!!nlG 5
xD99005jh%#brP#a1Kmg 6
Cm901q71&i#!1$NnuEZd 7
8l1U7U99@SYOY@nxl&TR 8
83pW70K0u8d%c#%0F5wP1
Mots de passe d'un site WP 2
3
• Votre PC 4
• Accès WordPress 5
• Utilisateur de la base de données (WP)
6
• phpMyAdmin
• FTP/SFTP 7
•… 8
Ne JAMAIS utiliser deux fois le même mot de passe!1
Gestionnaires de mots de passe 2
3
4
5
6
7
81
Modifier le PRÉFIXE des tables 2
3
4
5
6
7
81
2
3
4
5
6
7
8
Faire des SAUVEGARDES1
Sauvegardes : Bonnes pratiques 2
3
4
• Fichiers et base de données 5
• Automatisation (scheduling) 6
• Fréquence (quotidien, hebdomadaire) 7
• Rétention (nombre de versions) 8
• Stockage (copies multiples et hors serveur)
• Validation processus de restauration1
Quelques plugins de sauvegarde 2
3
4
5
6
7
81
2
3
4
5
6
7
8
Protéger aussi votre ORDINATEUR !1
2
3
4
5
6
7
Prudence sur
8
les RÉSEAUX
PUBLICS1
Se DÉCONNECTER 2
3
4
5
6
7
8Niveau dégourdi
1
2
3
4
5
6
Installer depuis des SOURCES SÛRES1
wordpress.org 2
3
4
5
61
Bien choisir PLUGINS et THÈMES 2
3
4
5
61
PAYANT n'est pas toujours
2
3
synonyme de QUALITÉ 4
5
61
2
3
4
5
6
Source : https://blog.sucuri.net/2017/09/fake-plugins-fake-security.html1
2
3
4
5
6
Faire les MISES À JOUR1 2 3 4 5 6
1
Faire les mises à jour 2
3
• WordPress Core 4
• Thèmes et plugins
5
• Traductions
• PHP et MySQL 6
• Votre PC (ou MAC)
• Navigateur
•…
>> Ne pas attendre plus de 8 jours !1
Versions de WordPress et PHP 2
3
4
5
6
Source : https://wordpress.org/about/stats/1
2
3
4
5
6
Faire le MÉNAGE1
Supprimer ce qui est inutile 2
3
4
5
6
Thèmes Plugins Utilisateurs1
2
Appliquer le principe 3
de SÉPARATION DES 4
PRIVILÈGES 5
6
(Least privilege principle)1
2
3
4
5
6
Installer un PLUGIN DE SÉCURITÉ1
Fonctions d'un plugin de sécurité 2
3
• Limiter le nombre de tentatives de login 4
• Bloquer des comptes / IP / pays 5
• Identification de fichiers modifiés 6
• Malware scanning
• Firewall applicatif (WAF)
• Authentification forte (2FA)
•…Exemple : Wordfence
1
Quelques plugins de sécurité 2
3
4
5
6Utiliser L'AUTHENTIFICATION FORTE 1
2
3
4
5
61
Trois facteurs possibles 2
3
• Quelque chose que vous connaissez 4
• Quelque chose que vous avez 5
• Quelque chose que vous êtes (biométrie) 6
https://www.wpnormandie.fr/authentification-a-deux-facteurs-pour-une-connexion-wordpress/Niveau expérimenté
1
Passer en 2
3
4
5
61
2
3
4
5
Certificat SSL 6
Comment faire :
https://wpformation.com/wordpress-http-https/
Dès octobre 2017 :
Google signale les sites non HTTPSSFTP
1
Utiliser 2
3
4
5
61
2
3
Contrôler les PERMISSIONS aux 4
dossiers et fichiers 5
61
Permissions standards WP 2
3
Dossiers Fichiers
Lecture – 4 X X 4
Propriétaire
Ecriture – 2
Exécution – 1
X
X
7 X
-
6 5
6
Lecture – 4 X X
Groupe
Ecriture – 2
Exécution - 1
-
X
5 -
-
4
Lecture – 4 X X
Public
Ecriture – 2
Exécution - 1
-
X
5 -
-
4
755 6441
UN UTILISATEUR par base de données 2
3
4
5
6
BD_A BD_B BD_C
User_A User_B User_C1
Utiliser les CAPTCHA sur les formulaires 2
3
4
5
6
Comment faire :
https://guersanguillaume.com/google-recaptcha-wordpress/1
2
3
4
5
6
Installer un plugin ANTI-SPAM1
Quelques plugins anti spam 2
3
4
5
6Niveau Top Gun
1
Désactiver L'ÉDITEUR 2
3
4
5
Modifier le fichier wp-config :
define( 'DISALLOW_FILE_EDIT', true );1
CLÉS & SEL 2
3
Modifier le fichier wp-config :
4
5
Pour générer : https://api.wordpress.org/secret-key/1.1/salt/1
Protéger certains fichiers 2
3
Modifier le fichier .htaccess : 4
5
order allow,deny
deny from all
order allow,deny
deny from all
Options All -Indexes1
Masquer la version de WP 2
3
• Effacez le fichier readme.html à la racine de votre site
4
5
• Supprimez la balise “generator” du en ajoutant cette ligne au fichier
functions.php du thème :
remove_action("wp_head", "wp_generator");
• Masquez les erreurs de connexion en ajoutant cette ligne au fichier
functions.php du thème :
add_filter('login_errors',create_function('$erreur', "return 'Erreur de connexion';"));1
Autres mesures 2
3
• Déplacer la page de login
https://www.wpnormandie.fr/changer-lurl-de-votre-page-de-login-wordpress/ 4
5
• Bloquer l'exécution PHP dans certains répertoires
http://www.wpbeginner.com/wp-tutorials/how-to-disable-php-execution-in-certain-
wordpress-directories/
• Désactiver XML-RPC
http://www.wpbeginner.com/plugins/how-to-disable-xml-rpc-in-wordpress/Surveiller son site
VISITER son site
GOOGLER son site
Utiliser les outils de
SCANNER son site
Quelques outils • https://wpscans.com/ • https://sitecheck.sucuri.net/ • https://www.virustotal.com/ • https://app.webinspector.com/ • https://quttera.com/ • Plugin de sécurité • Outils de votre hébergeur
DÉTECTER les CHANGEMENTS de fichiers
Faire de la veille BLOGS : • https://www.wordfence.com/blog/ • https://www.wpsecuritybloggers.com • https://wpvulndb.com/ GROUPE FACEBOOK : • https://www.facebook.com/groups/wordpresssec/
Si malgré tout…
Rester CALME ☺
Faire une sauvegarde (SNAPSHOT)
NETTOYER (si possible)
RESTAURER une sauvegarde
Changer TOUS LES MOTS DE PASSE
Modifier CLÉS & SEL
ANALYSER l'attaque
Le mot de la fin
“SECURITY IS A JOURNEY,
NOT A DESTINATION”
- Inspired by Ralph Waldo EmersonSources • https://codex.wordpress.org/Hardening_WordPress • https://www.wpbeginner.com/wordpress-security/ • https://www.wordfence.com/learn/wordpress-security-checklist/ • https://www.wordfence.com/learn/introduction-to-wordpress-security-video/ • https://pantheon.io/blog/wordpress-security-101-4-steps-take-today • https://makeawebsitehub.com/wordpress-security/ • https://researchasahobby.com/best-security-plugin-for-wordpress-combination/
MERCI !
Brigitte Djajasasmita
@bibiweb
bdjaja@bluewin.ch
079 637 38 59Vous pouvez aussi lire