Un peu de sécurité pour WordPress

Nicolas, le 11 mar 2012

Blog Security Unit

WordPress est un CMS très efficace et très simple pour mettre en place un blog ou site web dynamique. Mais se contenter de l’installer et d’y poster des articles n’est pas suffisant pour garantir, dans le temps, son bon fonctionnement et surtout, sa sécurité.
Quelques règles simples permettent aisément de s’assurer qu’on ne laisse pas traîner de grosses failles et rendre un peu plus complexe le piratage de WordPress. Attention, rien d’impénétrable, mais de quoi éviter les catastrophes à la moindre intrusion maligne.

Mettre à jour WordPress

Chaque nouvelle version de WordPress arrive avec son lot de pansements pour les failles qui ont pu être découverte dans la précédente version. C’est une bonne et donc une bonne raison d’en profiter. D’autant qu’en publiant la liste des patchs et des failles, WordPress délivre des solutions simples pour pénétrer l’ancienne version, rendant cette dernière d’autant plus vulnérable.

Sauvegarder son WordPress

Sauvegarder est une bonne solution pour retrouver son blog ou son site en cas de gros problème. Il faut procéder en 2 étapes :
– Sauvegarder l’ensemble des fichiers qui se trouvent sur votre serveur à l’aide de votre client FTP
– Sauvegarder le contenu de la base de données en utilisant, par exemple, le plugin WP-DBManager qui permet différents modes de sauvegarder ainsi qu’une fonction d’optimisation des bases de données. On en profitera pour vérifier la « santé » de son installation WordPress avec le plugin Health Check.
Il est impératif d’effectuer ces opérations régulièrement et non uniquement lors des mises à jour de WordPress. Si j’avais été sérieux concernant ce point, je n’aurais pas eu autant de difficultés à retrouver le contenu de mon blog après une mauvaise manipulation dans la gestion de mes bases de données !
Quand je dis « régulièrement », je pense à toutes les 2 semaines à une fois par mois au maximum.

Ne pas utiliser le login « admin » donné par défaut

Tout est dit. Mais si vous avez déjà créé votre compte avec le login « admin », vous ne pouvez pas simplement le changer. Le login ne peut être changé avec WordPress. Alors comment faire ? Il suffit de créer un nouvel utilisateur en lui donnant le statut d’administrateur, se connecter avec ce nouveau compte et de détruire l’ancien. Il faudra alors attribuer les articles au nouveau compte.

Un mot de passe sérieux

Quitte à se créer un nouveau compte, autant choisir un mot de passe qui joue vraiment son rôle. Eviter les « 1234567 », « azertyu », « password », etc ! Prendre un mot de passe plutôt long (plus de 7 caractères), avec majuscules/minuscules, espaces, ponctuations et chiffres. Je dois avouer que j’utilise une phrase complète que je retiens facilement mais qui fait plus de 15 caractères.
Il peut être bon de changer ce mot de passe régulièrement.

Masquer les notifications d’erreurs de connection

Toujours concernant le couple login/mot de passe, il est intéressant de masquer les notifications d’erreurs lors de connections ratées. En effet, ces notifications donnent des indices qui permettent, par élimination, de faciliter l’intrusion.
Pour ce faire, éditez le fichier functions.php de votre thème et ajoutez cette ligne :
add_filter(‘login_errors’,create_function(‘$a’, « return null; »));

Changer le préfixe wp_ des tables des bases de données

Si vous n’avez pas encore installé votre blog ou que le coeur vous en dit de faire les modifications (attention quand on joue avec les bases de données et les fichiers de configuration), changer le préfixe wp_ des tables est une barrière supplémentaire aux intrusions. A l’installation, modifiez la ligne ad hoc dans le fichier wp-config.php.
$table_prefix = ‘wp_';

Protégez le fichier wp-config.php

La seule fois où mon blog a été « squatté », c’est ce fichier qui avait été modifié. Pour empêcher ce genre d’incursion, il faut modifier le fichier .htaccess du répertoire en ajoutant les lignes suivantes :
# protect wp-config.php
<files wp-config.php>
Order deny,allow
Deny from all
<⁄files>

Utilisation des clés d’authentification WordPress

On trouve ça dans le fichier wp-config.php et ça permet simplement de compliquer le décryptage des données. Tout comme les mots de passe, on peut renouveler l’opération régulièrement.
* Clefs uniques d’authentification et salage.
*
* Remplacez les valeurs par défaut par des phrases uniques !
* Vous pouvez générer des phrases aléatoires en utilisant
* {@link https://api.wordpress.org/secret-key/1.1/salt/ le service de clefs secrètes de WordPress.org}.
* Vous pouvez modifier ces phrases à n’importe quel moment, afin d’invalider tous les cookies existants.
* Cela forcera également tous les utilisateurs à se reconnecter.
*
* @since 2.6.0
*/
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’);

Voilà qui est déjà pas mal et, même si rien n’est imparable, ces mesures devraient quand même renforcer votre précieux blog ou site. Et pour les free-lances qui me lisent, vous pourrez rajouter « sécurisation » dans votre prestation :-)

#blog #hack it yourself

Wallpaper – Mars 2012

Nicolas, le 10 mar 2012

Wallpaper 03 2012

Pour renouer avec la « tradition », voici mon wallpaper du mois. Trouvé sur deviantART (via iconpaper) et signé par l’anglais ~salmanarif, ce wallpaper correspond bien à l’ambiance d’un mois de mars et ses giboulées. Toujours dans le spleen de l’hiver et la chaleur de beaux jours encore au loin.

#Apple #design

Histoire d’archives

Nicolas, le 08 mar 2012

Depuis que j’ai malencontreusement effacé la base de données de mon blog, je me suis efforcé, à plusieurs reprises, de reconstitué les archives disparues. Entre des sauvegardes locales liées à l’usage du logiciel Ecto pour la rédaction des articles, des backups de BDD et le site Wayback Machine (qui donne des versions gardées en cache des sites web).
Voilà aujourd’hui que la tâche est terminée. La quasi totalité des articles de décembre 2004 à aujourd’hui sont à nouveau en ligne. Bien sûr, les images sont (beaucoup) plus petites dans les anciens articles, la mise en page peut parfois être un peu chamboulée et surtout, il manque une très grande quantité d’images d’aperçu (que j’utilise pour les articles liés).
Petits problèmes inhérents à plus de 7 ans de rédaction que je récupère au cours de mes petites balades dans le temps.

#blog

Boston Dynamics vs. Massive Dynamic

Nicolas, le 07 mar 2012

Je fais partie de ceux qui pensent que J.J. Abrams ne fait rien par hasard. Pour s’en convaincre, il suffit de se rendre sur les pages IMDB de Lost ou de Fringe et de constater la longue liste des « Trivia« .
Ainsi, je ne peux m’empêcher de faire une corrélation entre Dharma Initiative, organisation mystérieuse présente dans Lost et la très célèbre DARPA (Defense Advanced Research Projects Agency), même si le réflex est de penser au terme Dharma qui désigne l’ensemble des normes et lois, sociales, politiques, familiales, personnelles, ou naturelles (Wikipedia).

Vous pouvez dès lors imaginer qu’en lisant l’information ce matin, l’idée m’est tout de suite venue en tête !
L’information en question est le record de vitesse établi par un robot sur pattes a été battu par une mécanique à l’allure de panthère signée… Boston Dynamics (information à lire sur Wired).
Alors ? Boston, ville célèbre berceau de Harvard University et du MIT, point central de la série Fringe avec le labo du docteur Walter Bishop. Fringe dont l’intrigue tourne invariablement autours d’une société extrêmement puissante qui donne dans la recherche militaire, chimique, médicale, biologique et robotique. Une société qui s’appelle Massive Dynamic. D’ailleurs, pour la petite histoire, Massive Dynamic s’appelait originellement Massive Dynamics, avec un « s ».

Boston + Massive Dynamic(s)… On retrouve une proximité troublante avec Boston Dynamics qui donne dans la robotique, les projets militaires et les records de vitesse.
Difficile qu’il s’agisse d’une coïncidence et non d’un calcul signé du geek des références, J.J. Abrams !
En tout cas, moi, je n’en démords pas ! (Faudrait que je lui pose la question sur Quora #jemelapète)

#culture #média #sciences

Xcode cannot find the software image to install this version

Nicolas, le 07 mar 2012

RoOoh, le message qui fait peur alors que l’on tente de connecter à Xcode le iPhone/iPad qui servira de machine de test.
C’est la panique alors qu’on a passé toutes les dures épreuves des certificats : on se dit « Quoi, encore ! Qu’est ce qui va pas ».
Et bien, en fait… tout va bien. Ce genre de message signifie simplement que Xcode ne trouve pas d’image de backup de votre version d’iOS et qu’il ne sera pas en mesure de restaurer votre device mobile préféré. Ce qui n’est pas un drame en soi. iTunes sert (pas que) à ça.
Pour continuer, il suffit d’ignorer ce message et tout fonctionnera bien.

#Apple #hack it yourself #tests

Adieu, ma petite Mouchka

Nicolas, le 04 mar 2012

En ce premier dimanche de mars 2012, alors qu’on avait renoncé à un sortie au Jardin du Luxembourg pour cause de giboulées, elle se baladait de sa démarche féline rasant les murs du salon pour tenter de se lover dans un coin tranquille.
Je surveillais la scène presque inconsciemment, toujours un regard vigilant pour m’assurer que la petite chatte de 7 ans et demi ne tomberait pas dans une embuscade de sa nemesis, ma fille cadette de 2 ans.
C’est ce coup d’oeil qui m’a fait me précipiter vers Mouchka lorsque je l’ai vue bondir disgracieusement, comme si elle s’était coincé une griffe dans le rideau. Le miaulement accompagnant le bond soulignait que quelque chose n’était pas normal.
Un quart de seconde, le temps de me précipiter sur elle, je n’ai pu que constater un râle bref et soutenir son corps déjà sur le flanc qui, irrémédiablement, se détendait. Les pupilles se sont instantanément dilatées. Les pattes molles et inanimées. Je n’avais jamais vécu ou assisté à ce genre de scène, pourtant, je savais, je sentais, que c’était fini. Définitivement fini. Mouchka venait de mourir, dans mes bras.
Un accident vasculaire, me dira le vétérinaire, alors que je suis en train de signer le papier demandant son incinération. Une cause de décès courante chez le chat, paraît-il.

Mouchka, officiellement appelée Apple iCat, est restée à mes côté pendant quasiment 8 ans. Alors que le véto, chez qui je l’ai emmenée juste après que les pompiers aient récupéré cette petite boule de poils crottée sous le capot d’une voiture, en bas de chez moi, m’avait assuré que cette orpheline des rues ne passerait pas le mois.
Mouchka a été soignée et aimée. Biberons et médicaments, siestes interminables sur mon torse et promenades sur mon épaule, auront raison de ce début de vie difficile.
L’amour, elle me l’a bien rendu ! A sa manière de chat. Toujours là, pendant mes joies et mes peines. Elle a connu mes différentes copines, les connasses et les autres. Me récupérant en lambeaux quand il le fallait. Se contentant de câlins sans jamais une remontrance ou une leçon de bon sens.
Elle était là quand ma femme et sa fille sont arrivées dans ma vie. Me soutenant durant les nuits solitaires d’un début de relation qui se faisait à distance. Elle n’a pas fait de crise de jalousie quand de son maître solitaire et attentionné, elle a dû me partager et composer avec une famille empiétant sur son territoire de félin. Elle était là, lorsque la petite dernière est arrivée. Elle a, bien sûr, râlé lorsqu’elle a constaté qu’elle ne pourrait pas faire de sieste dans le lit du bébé, mais elle a compris et s’est contentée d’éviter le plus possible celle qui deviendra « la tireuse de poils et de queue ».

Je l’ai emmené chez le véto dans un panier. Elle semblait dormir. Paupière fermées. Enroulée. « Coucouche panier, papattes en rond ». Je n’arrivais pas à me faire à l’idée que j’allais la laisser là. Je la caressais sans relâche comme pour m’assurer que je me souviendrai éternellement de cette sensation. Son poil si souple et si doux. Ses oreilles si droites et la pointe de son menton.Son petit corps de 4 kilos et demi, ses toutes petites pattes qui lui permettaient les plus magnifiques acrobaties sans jamais casser quoi que ce soit, je savais que tout ça me manquerait.

A mon retour à la maison, c’est l’angoisse. Je n’arrive pas à imaginer qu’elle ne va pas bondir sur le canapé, filer furtivement vers la cuisine, tenter de rentrer discrètement dans la chambre interdite. Ma gorge se serre, mon estomac se noue, les larmes montent. Avant de me laisser envahir par le chagrin, je réconforte ma fille aînée qui est, tout autant que moi, renversée par cette situation.

Mouchka n’est plus là. Elle me manque déjà horriblement. L’encens brule déjà dans l’appartement et ses affaires vont rester à leur place exacte durant 3 jours, comme le souhaite ma femme, pour suivre les rites funéraires en vigueurs.
3 jours, c’est le temps qu’il faut à l’âme du défunt pour quitter les lieux et se réincarner.
Même si Mouchka ne va plus sauter sur mes épaules pour se frotter à ma chevelure, son âme est encore là pour quelques jours. Mouchka dont le comportement particulièrement étrange un 31 décembre avait précédé le coup de fil m’annonçant la mort de mon Grand-Père. Troublant.

Je ne vais pas prendre un autre chat.
Parce que c’est Mouchka qui va me manquer.
Je t’aime, ma chatte.

#subjectif

Développer sur plusieurs machines avec Xcode

Nicolas, le 03 mar 2012

Je continue de consigner ici quelques recherches liées à l’activation de mon abonnement développeur chez Apple (hors de question pour moi de ne pas mettre les mains dans le cambouis).

Cette fois-ci, je vous propose d’utiliser un seul compte développeur sur plusieurs machines de production.

Lorsqu’on crée un compte développeur et que l’on installe Xcode, il faut créer des certificats. Pleins de certificats qui vont permettre d’associer Xcode à son compte développeur, et d’y associer l’iPhone (ou iPod ou iPad) pour pouvoir tester les applications.

Tout est relativement bien expliqué sur le site d’Apple, section développeur, même lorsqu’on est, comme moi, peu habitué à ces démarches de certification.

Oui mais qu’en est-il si l’on veut certifier plus d’un ordinateur ?
(Avec un peu de patience, vous trouverez ces infos en anglais en suivant le chemin suivant : developer.apple.com > Member Center > iOS Provisioning Portal > Certificates > How To > Saving your Private Key and Transferring to other Systems)

L’important est de savoir que pour produire sur plusieurs machines avec un seul compte développeur, il faut partager une clé privée et un certificat (obtenue suite à la procédure de certification sur le site d’Apple).

To export your private key and certificate for safe-keeping and for enabling development on multiple systems, open up the Keychain Access Application and select the ‘Keys’ category.
Après avoir terminé la procédure de certification pour une première machine, il faut exporter la clé privée et le certificat pour les utiliser sur les autres ordinateurs de production.
Pour ce faire, il faut ouvrir Trousseaux d’accès (Applications > Utilitaires) et sélectionner la catégorie « Clés ».
Faire un « ctrl+clic » sur la clé privée associée au certificat de développement iOS et sélectionner « Exporter » dans le menu. Choisir « .p12″ pour le format et créez un mot de passe. Mot de passe que vous utiliserez à l’import de cette clé sur un autre ordinateur.
Transférez la clé sur les machines de production. Double-clic, mot de passe et voici l’opération terminée.

Pour importer les clés du iPhone (iPod ou iPad) que vous utilisez pour vos tests sur les autres machines de production, l’opération sera un peu moins basique.
Procédez comme précédemment pour exporter la clé privée (.p12) et la clé publique (.pem) liées à votre iPhone, ensuite, lorsque vous souhaiterez importer ces clés sur un ordinateur, le double-clic ne fera pas l’affaire et vous aurez le message d’erreur suivant : « An error has occurred. Unable to import an item. The contents of an item cannot be retrieved.« .

Pour régler la situation, un petit tour du côté du terminal s’impose :
security import priv_key.p12 -k ~/Library/Keychains/login.keychain
security import pub_key.pem -k ~/Library/Keychains/login.keychain

(En prenant garde de bien localiser l’endroit où se trouve les clés à importer).

Amusez-vous bien !

#Apple #hack it yourself #tests