Publier un site Web
malgré l'insécurité d'Internet
Petit Guide de Survie
adapté à WordPress
Sommaire
Quelles sont les menaces pour un site web ?
Le point sur WordPress (et l'actualité...)
Les mesures de base
Pour l'hébergement
Pour le site
Pour votre informatique personnelle
Que faire si votre site est compromis ?
Questions / Réponses
Le point sur les menaces
Qu'est-ce qui menace un site web ?
L'erreur de manipulation (destruction de données)
L'imprévoyance humaine (ça n'arrive qu'aux autres)
Le laisser-aller coupable
(ne pas remettre à demain)
L'attaque opportuniste (syndrome Caliméro)
L'attaque ciblée et délibérée (c'est à vous qu'on en veut)
La plus grande des menaces ... ... c'est vous !!
Que peux (veux) faire un hacker ?
Entre autres nuisances ...
Exécuter du code arbitraire dans vos pages
Rediriger votre trafic vers son site
Injecter ou modifier du contenu visible
Causer un DOS (crash serveur, CPU & B. P.)
Injection SQL, exécuter des commandes
Obtenir les mots de passe des utilisateurs
Transformer votre site en ferme de liens
Placer une porte dérobée (pour plus tard)
Inclure du code chiffré dans vos pages
Plus précisément pour WordPress
80 millions
Nombre de sites utilisant WordPress
30
Nombre moyen de vulnérabilités connues sur la version courante
Mais c'est dingue !!
Données © pingable.org - 2012
Plus précisément pour WordPress (2)
L'actualité est cruelle ...
Nombre de recherche de vulnérabilités (scan) journellement constaté ciblant WordPress
Plus précisément pour WordPress (3)
Il ne faut certes pas installer les mises à jours trop vite. Mais ...
En moyenne, moins de 20 % des sites disposent de la
dernière version deux mois après sa publication
Alors, je fais quoi !!
Données © pingable.org - 2012
Mesures de base ... pour l'hébergement
Choisissez un hébergement de confiance et de qualité Questions à (se) poser :
Combien de sites de cet hébergeur sont blacklistés pour des raisons liées aux malwares ?
Quelle sont les versions des logiciels sur les serveurs et sont-elles fréquemment mises à jour ?
Comment sont stockées les informations liées à la sécurité (mes identifiants et mes mot de passe) ?
L'administration est-elle sécurisée (https, sftp) ?
Puis-je avoir un accès SSH ? une crontab ?
Mesures de base ... pour votre site
10 mesures simples et indispensables
1) Maintenez Wordpress et vos extensions à jour ... en prévoyant un retour arrière
Comment (bien) faire ses mises à jour ?
S'abonner aux flux RSS d'alertes de vos composants,
Lire (et comprendre) les "changelogs",
S'assurer d'une éventuelle restauration (backups),
Procéder calmement, par étapes et sans précipitation,
Contrôler le frontoffice puis le backoffice,
S'il faut revenir en arrière, le faire sans hésiter.
Mesures de base ... pour votre site
WP Updates Notifier
http://wordpress.org/extend/plugins/wp-updates-notifier/
Mesures de base ... pour votre site
2) Ajoutez du "sel" à vos mots de passe
... et choisissez des mots de passe robustes
Renseignez le bloc prévu pour ça dans wp-config.php
Générateur de bloc de "salt values" :
https://api.wordpress.org/secret-key/1.1/salt/
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
define('AUTH_KEY', '%5Pl(eM.JNWyW#V|[<FW78QD`c7xA 0;Ke9(k$@ZcYq$5 f');
define('SECURE_AUTH_KEY', 'V^;IB$J|SP9b`=v#c4$zOXm?aTl+DmgE^hp4$#x*kkh$mkf');
define('LOGGED_IN_KEY', 'F122,|,L$;tLFYqQgD{S<VFdIS2ffEN)XjG.giz++HS>R');
define('NONCE_KEY', 'n9Q>V.(~2mVdko#003yze!UPXdAH7&~Pju=!Yn<sm NT|');
define('AUTH_SALT', '%A*B@2D_YjQRy?:wJs +#q Pkv%R0XA*)~h,4!|*Un:_^2');
define('SECURE_AUTH_SALT', 'I=3IV9ut. 062;AT:sw >:p>u&=3#PfwGytWi3=Yd8g)M4');
define('LOGGED_IN_SALT', '}qa[z]!Azt`{ MC?+sW4Y:)s5QW=|Q=}xTM+r`_M~(~<t');
define('NONCE_SALT', '>qG_Fj8iY7K/*I&<bmnk}Eb:LI %[|Eac:8#=?f~ch%f2Z');
Mesures de base ... pour votre site
... choisissez des mots de passe robustes ...
Il existe des générateurs de mots de passe
http://strongpasswordgenerator.com/
... et testez sa robustesse (attention aux surprises)
10 |zpE8yP1dh4 1 semaine |mickael123 48 secondes |raimondu33 3 semaines 9 |zpE8yP1dh 1 jour |martin123 3 millisecondes |jackydu33 5 secondes
8 |zpE8yP1d 54 minutes |cindy123 2 millisecondes |jeandu33 180 millisecondes
*=^(N+(d;>%8s 21 038 552 ans wE4Y616R6XX86yg 6 937 ans 1Cheval=2Poneys 1 014 556 ans
Le Corbeau et le Renard 151 921 600 270 132 ans Maître Corbeau sur un arbre perché 1 000 000 000 000 000 000 000 000 000 ans
Mesures de base ... pour votre site
3) N'utilisez que des ressources de confiance
... bannissez le "warez" et méfiez-vous du "gratuit"
N'introduisez pas vous même le Loup dans la Bergerie
Si vous ne payez pas, vous n'êtes pas le client, vous êtes le produit.
Mesures de base ... pour votre site
Theme Authenticity Checker (TAC)
Mesures de base ... pour votre site
4) Changez le nom du compte Administrateur
... modifiez toujours les fonctionnements par défaut
Une simple commande SQL permet de le faire :
Ou en procédant via l'interface d'administration :
Créez un nouveau compte avec un identifiant vraiment unique,
Donnez à ce compte tous les droits d'administration,
Déconnectez vous pour vous reconnectez avec le nouveau compte,
Effacez l'ancien compte "admin".
UPDATE wp_users SET user_login='WebmasterDeMonSite' WHERE user_login='admin';
Mesures de base ... pour votre site
5) Vérifiez les droits de vos fichiers et répertoires
... et modifiez les pour n'accorder que le minimum
Seul le propriétaire doit disposer du droit d'écriture ce qui se traduit par :
755 pour les répertoires (rwxrxrx)
644 pour les fichiers (rwrr)
De simples commandes bash permettent de le faire :
find [Racine_Du_Site] type d exec chmod 755 {} \;
find [Racine_Du_Site] type f exec chmod 644 {} \;
Mesures de base ... pour votre site
6) Protégez l'administration et la configuration du site ... plusieurs actions sont possibles ... et cumulables
Remontez le fichier wp-config.php d'un répertoire
Protégez le fichier wp-config.php via le .htaccess
Protégez wp-admin via le .htaccess et .htpasswd
http://code.google.com/p/apache-htaccess-wp/
mv public_html/MonSite/wpconfig.php public_html/wpconfig.php
# protect wpconfig.php
<files wpconfig.php>
order allow,deny deny from all
</files>
Mesures de base ... pour votre site
7) ... plus loin dans la protection de l'administration
Limiter l'accès de l'administration à certains PC par un fichier .htaccess dans le répertoire wp-admin
Forcer l'accès en SSL (URL en https://) pour ne pas transmettre votre mot de passe en clair sur Internet
AuthUserFile /dev/null AuthGroupFile /dev/null
AuthName "Administration Access Control"
AuthType Basic order deny,allow deny from all
# IP address Whitelist
# allow from [Votre_Adresse_IP_Fixe]
allow from 88.169.123.123
Mesures de base ... pour votre site
8) Auditer soi-même régulièrement son propre site ... parce que l'insécurité évolue en permanence
Vérifiez que le nouveau plugin que vous installez ne contient rien de suspect ...
Choisissez bien vos sources de composants.
Installez Exploit Scanner
http://wordpress.org/extend/plugins/exploit-scanner/
Vérifiez que rien ni personne n'a modifié les fichiers que vous avez installés et contrôlés ...
Installez WordPress File Monitor Plus
http://wordpress.org/extend/plugins/wordpress-file-monitor-plus/
Mesures de base ... pour votre site
Exploit Scanner
Ce plugin analyse le code et ne produit que des alertes en les qualifiant selon la gravité qu'elles peuvent représenter.
Ce rapport doit être exploité avec beaucoup de bon sens ...
et une certaine compétence.
Mesures de base ... pour votre site
WordPress File Monitor Plus
http://wordpress.org/extend/plugins/wordpress-file-monitor-plus/
Mesures de base ... pour votre site
9) Sauvegardez très régulièrement votre site
... et conservez une copie à l'extérieur du serveur Sauvegardez ...
Sauvegardez ...
Sauvegardez TRES régulièrement !!!
Mesures de base ... pour votre site
BackUpWordPress
Un plugin d'automatisation ...
parmi beaucoup d'autres ...
Peut transmettre la sauvegarde par courriel (en plusieurs parties)
Gère une rotation des archives (ne conserve que les N dernières)
Maintient plusieurs configurations avec une planification distincte pour chacune d'elle
http://wordpress.org/extend/plugins/backupwordpress/
Mesures de base ... pour votre site
10) Mettez en place une veille technique dédiée
... d'autres extensions liées à la sécurité existent
Limit Login Attempts
Permet de limiter le nombre de tentatives de connexion
http://wordpress.org/extend/plugins/login-lockdown/
BulletProof Security
Plugin "tout en un" plutôt bien fournit en outils
http://wordpress.org/extend/plugins/bulletproof-security/
Secure WordPress
Un autre plugin regroupant plusieurs fonctionnalités
http://wordpress.org/extend/plugins/secure-wordpress/
etc.
Mesures de base pour votre informatique (1)
Ayez une informatique personnelle saine, n'oubliez pas que vous êtes : "le maillon faible"
Maintenez votre poste de travail à jour (et pas seulement le système, mais tous les logiciels installés)
Utilisez des connexions et des protocoles sûrs et chiffrés (travaillez toujours de chez vous, en HTTPS, sFTP ou SSH plutôt que HTTP et FTP)
Utilisez des câbles plutôt que le Wifi (sinon,
sécurisez le en WPA2-TKIP avec un mot de passe fort)
Évitez Smartphone et Tablette pour
faire de l'administration (tout ce qui passe par ces appareils est tracé par des tiers...)
Tout ça !!
Mesures de base pour votre informatique (2)
Bonus pour les postes Windows® (... un maillon encore plus faible)
Utilisez un anti-virus performant et toujours à jour (une fonction pare-feu peut également être très utile)
Utilisez Firefox, oubliez Chrome et IE 7, 8, 9, etc. (il existe Opéra et Chromium ...)
Installez AdBlock et Ghostery (évitez trop d'extensions liées à un usage "privé")
Votre PC est un outil de travail ...
ne faites pas autre chose avec, ne jouez pas, surfez "safe", et surtout :
sauvegardez régulièrement ses données !!
Aie !! J'ai tout faux !!
Que faire si votre site est compromis ? (1)
Malgré toutes vos précautions, votre site s'est fait "pirater" ...
Restez calme ! Paniquer va aggraver la situation
Mettez immédiatement votre site hors ligne
Faites un double de la dernière sauvegarde et sauvegardez le site "en l'état" pour analyse.
Au secours !!!
Que faire si votre site est compromis ? (2)
Modifiez tous vos mots de passe ; et notamment celui de la base de données
Analysez vos données (en
ligne et dans l'export MySQL)
Réinstallez un Wordpress "nu"
(sans plugins et sans thèmes) et connectez le à la base
Réinstallez les plugins d'origine et votre thème (depuis la
dernière bonne sauvegarde) On ne passe plus
Que faire si votre site est compromis ? (3)
Prendre des conseils sur des sites de confiance :
Le Codex dispose d'une page dédiée :
http://codex.wordpress.org/FAQ_My_site_was_hacked
De nombreux guides existent sur internet :
http://www.marketingtechblog.com/wordpress-hacked/
http://www.journaldunet.com/developpeur/php/wordpress-pirate-comment-faire-face
et ...
Avant de remettre votre site en ligne, vérifiez le, et testez le !!
On-line scanner :
http://sitecheck.sucuri.net/scanner/
Merci de votre attention
C'est l'heure des Questions / Réponses
Sources :
http://blog.sucuri.net/
http://strangework.com/
... et bien sûr :
http://wordpress.org/
contact@ordilibre.com