Renforcez vos sites HTTPS contre les attaques de type BEAST

juin 6th, 2012 § 2 comments § permalink

Fin 2011, Thai Duong et Juliano RizzoDes, deux chercheurs en sécurité informatique ont présenté à la conférence de sécurité Black Hat Ekoparty un proof of concept d’attaque contre le protocole TLS (anciennement nommé SSL) utilisé pour le chiffrement des échanges sur Internet.

L’attaque batisée BEAST (Browser Exploit Against SSL/TLS) affecte en particulier les version 1.0 et plus anciennes du protocole TLS, en fait, elle repose sur une faiblesse (au niveau de l’utilisation d’un chiffrement par bloc) déjà connue et corrigée dans les versions 1.1 et 1.2 de TLS. Malheureusement ces dernières versions ne sont pas supportées par l’ensemble des navigateurs web.

Au moment où je rédige cet article, il y a encore de très fortes chances pour que votre serveur web (Apache, Nginx ou autre) exploite le protocole TLS 1.0, vous exposant ainsi aux attaques BEAST, il est d’ailleurs possible de vérifier cela via cet outil en ligne : https://www.ssllabs.com/ssltest/analyze.html

Pour mitiger les risques de telles attaques sans avoir à passer à TLS 1.1 ou 1.2, il faut configurer le serveur web pour privilégier un algorithme de chiffrement par flot : RC4.

Plus concrètement, voici ce qu’il faut ajouter à votre fichier de configuration :

Voilà, n’oubliez pas de reloader votre serveur web pour appliquer les changements apportés.

Un hook GIT coté serveur pour la vérification du code styling PHP, JavaScript et CSS

juin 4th, 2012 § 1 comment § permalink

J’ai dernièrement développé un hook pour GIT qui permet de vérifier le code styling PHP, JavaScript et CSS coté serveur à l’aide de PHP_CodeSniffer, c’est-à-dire que ce hook s’exécute lors d’un push et non pas lors d’un commit comme les autres scripts de ce genre que j’ai pu retrouver sur le net. Cette façon de faire permet d’éviter de devoir distribuer le script du hook à l’ensemble des développeurs qui contribuent au dépôt.

Ce hook est publié sur Github sous licence MIT : https://github.com/blueicefield/PHP_CodeSniffer_GIT_Hook

Scan’Mail : un générateur de QR code intégré à Thunderbird

mai 5th, 2011 § Commentaires fermés § permalink

J’ai dernièrement profité de mes temps libres pour développer un module pour le client de messagerie Mozilla Thunderbird,  j’ai nommé celui-ci Scan’Mail. Il permet d’un simple clique droit sur une adresse email, un lien, une image ou une sélection de texte de générer un QR code que vous pourrez scanner à l’aide de votre smartphone (iPhone, Android ou autre) pour récupérer ses informations. C’est un moyen rapide et original de copier des données contenues dans vos emails sans risquer une erreur de retranscription.

J’ai pris beaucoup de plaisir à coder ce petit greffon même si j’ai trouvé la documentation en ligne peu conviviale et parfois incomplète. Je compte améliorer ce premier plugin en ajoutant, dans la prochaine version, le support du format vCard pour pouvoir transférer des contacts.

Je invite à télécharger Scan’Mail via son espace dédié sur le site de Thunderbird et à me laisser vos commentaires :

https://addons.mozilla.org/fr/thunderbird/addon/scanmail/

 

De retour d’Afrique du sud

février 21st, 2011 § Commentaires fermés § permalink

Me voilà donc de retour d’un voyage professionnel en Afrique du sud. Que dire de ce pays si ce n’est que je l’ai adoré. Temps radieux, paysages merveilleux, population accueillante… Tout ce qu’il faut pour passer un bon séjour, à noter toutefois, quelques problèmes d’insécurité.

Bref, ce retour annonce aussi la publication très rapidement de nouveaux billets.

Accélérer vos applications PHP à l’aide d’APC

septembre 7th, 2010 § 5 comments § permalink

Le PHP est un langage compilé à la volée, à chaque appel d’une page il y a compilation du code PHP en un code intermédiaire que l’on nomme opcode. Ce mécanisme de compilation systématique est lourd et rallonge sensiblement la durée de traitement des pages PHP.

APC (Alternative PHP Cache) est ce qu’on appèle  un cache d’OPCodes. Celui-ci permet donc de stocker en mémoire vive le code compilé des pages PHP et nous épargne ainsi la fastidieuse phase de compilation, les performances générales se retrouvent de ce fait nettement améliorées.

En plus d’être une solution fiable et robuste, APC est gratuit, opensource et relativement simple à installer et à utiliser. Alors pourquoi s’en priver ?

Tout d’abord commençons par préparer l’environnement :

Maintenant que nous avons l’ensemble des paquets requis, procédons à l’installation d’APC :

Maintenant créons le fichier de configuration d’APC :

Et mettez y ceci :

Il est important de s’attarder un peu sur l’option apc.stat. Si sa valeur est à 1, APC vérifiera à chaque appel d’une page si celle-ci a été modifiée depuis sa mise en cache, ces vérifications systématiques affaiblissent les performances. Sur un serveur de production sur lequel les fichiers sont modifiés rarement, il est préférable de désactiver cette option pour gagner en performances. Dès lors, si un fichier est modifié il faudra vider le cache pour que les modifications soient prises en compte.

Vous pouvez trouver la description complète des options disponibles sur cette page.

Il reste maintenant à redémarrer Apache pour achever l’installation d’APC.

Une fois APC installé, son cache se remplira au fur et à mesure des chargements des pages PHP améliorant ainsi progressivement les performances générales.

Il est possible d’obtenir des informations sur l’état de ce cache via une page web spéciale. Celle-ci n’est pas déployée par défaut sur votre serveur, pour se faire il suffit de la rendre accessible depuis le répertoire de votre serveur web :

Finissons ce billet avec un petit benchmark histoire d’avoir un aperçu du gain réel apporté par l’utilisation d’APC. Sur la même machine je vais tester, à l’aide de l’utilitaire ab fourni avec apache, les performances d’accès à la page d’accueil d’un site sous Joomla sans puis avec APC d’activé.

Le résultat obtenu avant l’activation d’APC :

Sans APC il est possible de traiter près de 14 requêtes par seconde.

Le résultat obtenu après l’activation d’APC et le chargement de la page dans le cache :

Avec APC activé (avec la page mise en cache ce qui implique une première visite de celle-ci), il devient possible de traiter près de 31 requêtes par seconde soit un gain de performance de facteur deux.

Vous l’aurez compris, APC apporte une véritable amélioration des performances tout en restant simple à déployer. De plus, il offre aussi une fonctionnalité de cache utilisateur que je n’ai pas traité dans ce billet.