Archive for the ‘french’ Category

Informations à propos d’Heartbleed, la faille de sécurité d’OpenSSL

Monday, April 14th, 2014

Voilà maintenant une semaine a été révélée la faille Heartbleed touchant certaines versions récentes de la bibliothèque OpenSSL. OpenSSL est un Logiciel Libre notamment utilisé pour les protocoles sécurisés HTTPS ou IMAPS. Cette faille a été surmédiatisée et plusieurs clients nous ont interrogé à ce sujet. Même si cela date un peu, il s’avère plus pratique et plus transparent de mettre nos réponses sur ce blog.

Qu’est-ce que la faille Heartbleed ?

Il s’agit d’une faille de sécurité touchant OpenSSL permettant d’accéder à une partie (64 Ko) quasi-aléatoire de la mémoire d’une application via le protocole SSL/TLS. Cela concerne évidemment les services utilisant SSL/TLS accessibles publiquement comme HTTPS, IMAPS, POPS, SMTPS ou encore SMTP over TLS. Cela peut aussi concerner les logiciels client faisant des requêtes via SSL/TLS sur des serveurs malicieux.

La partie de la mémoire dévoilée étant plus ou moins aléatoire, on peut considérer que de multiples requêtes permettent de révéler l’ensemble de la mémoire de l’application concernée. Cela concerne évidemment la clé privée SSL utilisée mais les autres données système et applicative chargée en mémoire par l’application (mot de passe d’une base de données, contenu de /etc/passwd, contenu d’une base de données, etc.). Certains experts affirment même que l’ensemble de la mémoire d’une machine impactée pourrait être accessible.

Mon serveur infogéré par Evolix a-t-il été concerné ?

Nous gérons des serveurs avec le système Debian GNU/Linux. Les serveurs utilisant Squeeze (Debian 6) ne sont pas impactés. Les serveurs utilisant Wheezy (Debian 7) sont directement concernés si ils ont un service HTTPS ou  POPS/IMAPS ou SMTP publiquement accessibles, et indirectement si ils peuvent faire de nombreuses requêtes SSL/TLS vers des serveurs non sûrs situés à l’extérieur.

Mon serveur infogéré par Evolix a été concerné, que dois-je faire ?

La faille a été révélée lundi 7 avril 2014 vers 21h. Nous nous sommes penchés sur cette faille à partir de 00h15 (bug signalé sur notre IRC privé, merci Arnaud) et nous avons mis à jour tous les serveurs directement concernés dans les heures qui ont suivi et le lendemain. Votre serveur n’est donc plus vulnérable. Mais il a pu l’être pendant au moins quelques heures. Une analyse du trafic réseau et des logs suspects (connexions STARTTLS via SMTP, requêtes HTTPS sans contenu, etc.) nous laissent penser qu’il n’y a pas eu d’attaque sur ce laps de temps. Cela étant dit, par principe de précaution et car dans tous les cas cela doit être fait régulièrement, nous conseillons tout de même de renouveler toutes les informations secrètes sur les serveurs directement impactés (mots de passe, clés privées, etc.). Vous devez également relancer toutes les applications qui utilisent libssl (démons en Python ou Ruby, etc.).

Et sur mon poste de travail, que dois-je faire ?

Vous devez mettre-à-jour vos postes de travail immédiatement. Avant de vous connecter à un site en HTTPS, vous pouvez vérifier qu’il n’est plus vulnérable. Il est également conseillé de renouveler vos mots de passe sur les différents services en ligne (notamment Google, Github, Facebook, Twitter, Amazon…) : de toutes façons vous devez le faire régulièrement, c’est donc une bonne occasion de le faire !

Des conclusions à tirer de cette affaire ?

Il n’y a rien de vraiment nouveau, si ce n’est qu’il est désormais difficile d’ignorer que :
– l’application régulière des mises-à-jour de sécurité est essentielle, vous ne pouvez pas vous contenter d’installer un serveur et ne pas vous en occuper, surtout si il est accessible publiquement ;
– vous devez exposer publiquement le moins de choses possibles : cela passe par un firewall qui va restreindre un maximum de services par adresse IP, et par la désactivation de tous les fonctionnalités inutiles (avez-vous vraiment besoin d’Apache/SSL si votre site web ne tourne pas en HTTPS ?  l’activation de STARTTLS sur votre Postfix est-elle vraiment nécessaire ?) ;
– toutes les informations secrètes doivent être changés régulièrement (clés privés, mots de passe, certificats, etc.) et changeables rapidement en cas de besoin… l’utilisation d’un gestionnaire de mot de passe étant indispensable.

Bug MySQL : pas de cache avec des tables InnoDB et un nom de base/table foo-bar

Monday, December 2nd, 2013

L’équipe Evolix a récemment découvert un bug assez incroyable : les versions 5.1 à 5.6.8 de MySQL ne gèrent pas le Query Cache (un mécanisme essentiel) sur les tables InnoDB si le nom de la table ou base contient un caractère particulier, notamment le tiret () !! Ce n’est pas une véritable découverte car le bug a été corrigé pour la version 5.6.9 en décembre 2012, mais il a été peu « médiatisé » et surtout il impacte de nombreuses distributions Linux. Concrètement si vous avez Debian (Squeeze/Wheezy/Testing/Sid) ou Ubuntu (toutes les versions depuis 4 ans) et vous utilisez le paquet mysql-server, toutes vos bases ou tables nommées foo-bar sont impactées. Toutes vos requêtes sensées être servies par le cache MySQL ne le sont pas, et il en découle des problèmes de performance (parfois très significatifs). Au passage, pour vérifier qu’une requête MySQL utilise bien le Query Cache, vous pouvez observer le compteur de hits via show status like ‘Qcache_hits’ (parfois difficile sur des serveurs en production, mais vous avez bien sûr des serveurs de préproduction ;-).

Mise en évidence du bug avec un nom de base foo-bar :

mysql> create database `foo-bar`;
mysql> create table `foo-bar`.baz (a int) engine=InnoDB;
mysql> insert into `foo-bar`.baz values (1);
mysql> select * from `foo-bar`.baz;
mysql> show status like 'Qcache_hits';
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| Qcache_hits   | 42     |
+---------------+--------+
mysql> select * from baz;
mysql> show status like 'Qcache_hits';
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| Qcache_hits   | 42     |
+---------------+--------+

Mise en évidence du bug avec un nom de table baz-qux :

mysql> create database foobar;
mysql> create table foobar.`baz-qux` (a int) engine=InnoDB;
mysql> insert into foobar.`baz-qux` values (1);
mysql> select * from foobar.`baz-qux`;
mysql> show status like 'Qcache_hits';
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| Qcache_hits   | 42     |
+---------------+--------+
mysql> select * from foobar.`baz-qux`;
mysql> show status like 'Qcache_hits';
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| Qcache_hits   | 42     |
+---------------+--------+

Si vous n’êtes pas encore parti en courant vérifier le nom de vos bases et tables MySQL/MariaDB, je vais vous expliquer comment ce bug a été découvert et pourquoi cela illustre bien le travail d’infogérance d’Evolix. En effet, un abonnement à l’infogérance est une sorte d’assurance : outre les opérations visibles (surveillance 24/24, veille technologique, mises-à-jour, support technique), c’est aussi la garantie que l’on mettra tout en œuvre si il vous arrive un incident. Pendant plusieurs mois/années vous n’aurez peut-être pas d’incident sérieux (et tant mieux pour tout le monde), mais un jour vous aurez besoin d’une attention de plusieurs heures voire plusieurs jours. C’est ce qui est arrivé ces dernières semaines avec ce bug MySQL : un client d’Evolix a signalé une lenteur sur certaines pages d’un site d’e-commerce suite à une migration de serveurs. Après pas mal d’analyses, nous n’étions pas convaincus, la lenteur s’expliquait par des milliers de requêtes SQL faites sur chaque page, et surtout cette lenteur était également présente sur l’ancien serveur. Néanmoins, nous avons fini par découvrir que sur un très vieux serveur en Debian Lenny, les pages étaient moins lentes. Après de nombreux tests (passage en SSD, utilisation de TMPFS pour éliminer les I/O disque, tests sur différents serveurs dont un ultra puissant, strace des process, etc.), nous avons mis en évidence que l’exécution des milliers de requêtes SQL étaient tout simplement plus rapides sur le très vieux serveur en Debian Lenny. Ce constat était un peu effrayant pour nous, et presque tout l’équipe s’est mis sur ce problème. On a identifié que les requêtes n’utilisaient pas le Query Cache, et l’on a donc relu toute la documentation concernant le cache MySQL… mais rien à faire, des requêtes SQL simples n’étaient toujours pas mises en cache. Même résultats avec MySQL 5.1/5.5 ou MariaDB 5.5. Puis l’on a découvert ce fameux bug : la base concernée ayant un tiret dans son nom, on l’a fébrilement renommée et *bingo* les requêtes sont désormais cachées !

En attendant une éventuelle correction du bug par Debian, nous conseillons de renommer vos bases et tables impactées. Au passage, le tiret () est un caractère particulier pour MySQL et il est préférable de prendre l’habitude d’utiliser l’underscore (_) dans le nom de vos bases et tables.

Evolix : Augmentation de Capital

Tuesday, June 25th, 2013

J’ai le plaisir de vous informer d’une augmentation du capital social d’Evolix, passant d’un montant de 7.500 EUR à 105.000 EUR.

Cette opération a été réalisée en incorporant une partie des profits des dernières années, c’est-à-dire que la répartition du capital reste inchangée : entièrement détenu par Sébastien Dubois et moi-même. Concrètement c’est surtout un moyen de démontrer notre bonne gestion et solidité financière. Nous hébergeons et infogérons des infrastructures web critiques, et la confiance et la stabilité sont des critères importants pour nos clients actuels et futurs. Grâce à cette augmentation de capital et notre croissance régulière (CA de 650k en 2012), l’objectif est de parvenir dans les prochaines années à un chiffre d’affaires d’un million d’euro. Cette ambition maîtrisée vise à poursuivre notre évolution tout en restant fidèles à nos convictions basées sur les valeurs des Logiciels Libres et la stratégie de rester une équipe à échelle humaine : croître « lentement mais sûrement ».

Pour sa 10ème année d’existence, Evolix prouve ainsi être devenue une entreprise stable et pérenne.

Pourquoi il faut éviter les alias mail vers Orange, Gmail, Hotmail, Free, Yahoo etc.

Tuesday, April 23rd, 2013

Une coutume s’est installée depuis quelques années dans le monde de la messagerie : mettre en place des alias ou redirections de messagerie. Le problème c’est lorsque ces redirections sont d’un domaine vers un autre. Exemple typique : j’achète un nom de domaine “monnouveausite.com” et je crée une redirection de contact@monnouveausite.com qui renvoie vers ma messagerie Orange/Hotmail/Gmail/Free/Yahoo. C’est mal… il faut vraiment éviter de faire cela !

Pourquoi c’est mal ? Car votre alias va inévitablement finir par recevoir du spam. Et ce spam sera donc redirigé “tel quel” des serveurs gérant les MX de “monnouveausite.com” vers Orange/Hotmail/Gmail/Free/Yahoo. Du coup, Orange/Hotmail/Gmail/Free/Yahoo vont identifier les MX comme étant des relais de spams et blacklister ces serveurs ! C’est d’autant plus vrai avec les politiques antispam de plus en plus strictes d’Orange ou Yahoo par exemple.

Alors que faire ? Plusieurs éléments de réponses :
– Évitez d’avoir une messagerie chez Orange/Hotmail/Gmail/Free/Yahoo ! Hotmail ne respecte les standards, Gmail ne répond JAMAIS aux demandes sur abuse@, Yahoo et Free ont une politique antispam trop violent, etc. bref, il y a de nombreuses raisons à avoir une messagerie auto-hébergée par vous, vos amis ou des petites entreprises comme Evolix.
– Créez de vrais comptes mail pour héberger “monnouveausite.com” et récupérez les en POP/IMAP/webmail.
– Si vous désirez vraiment centraliser différentes adresses sur une seule messagerie, utiliser une récupération automatique en POP ou IMAP. Si vous avez une messagerie Open Source, vous pouvez utiliser le logiciel libre fetchmail qui récupèrera pour vous tous vos messages. À défaut, si confier vos mots de passe au FBI ne vous fait pas peur, vous pouvez utiliser un service de récupération de messages comme celui de Gmail.

[1er avril] Evolix rachète le datacenter SFR de Marseille

Monday, April 1st, 2013

Pour faire face au succès de notre nouvelle offre de location de serveurs dédiés infogérés, nous avons réfléchi depuis plusieurs mois avec un fond d’investissement qatari pour racheter l’ensemble du datacenter SFR de Marseille. Situé à quelques minutes de nos bureaux, ce datacenter est idéalement placé et va permettre une croissance rapide de nos offres d’hébergement. Nous détaillerons toutes les conséquences de cette acquisition dans les prochains jours, mais nous avons voulu partager au plus tôt l’annonce de cette opération exceptionnelle !

Capturer la sortie audio d’un programme sous Linux

Tuesday, February 19th, 2013

Avec une machine tournant sous Linux et le système audio ALSA, on peut capturer la sortie audio d’un programme en créant un fichier .asoundrc du type :

pcm.!default {
  type empty
  slave { pcm "tee:'hw:0,0','/tmp/out.wav',wav" }
}

On peut même utiliser un script pour encoder chaque sortie en MP3 et avec un nom différent :

pcm.!default {
  type empty
  slave { pcm "tee:'hw:0,0','| /tmp/out.sh',wav" }
}

Avec un script du type :

#!/bin/sh
TIMESTAMP=$(date +%s)
lame -S -h - /tmp/$TIMESTAMP.mp3

Notez qu’il est illégal de faire cela avec une offre de streaming du type Deezer ou Spotify. C’est en effet contraire avec les conditions d’utilisation qui permettent à peine de fredonner sous sa douche la musique que l’on écoute…

Hacker initiation

Monday, February 11th, 2013

Papa de 4 minots, j’avais choisi de ne pas les contaminer avec ma passion pour l’informatique et les Logiciels Libres. Pourquoi ? Car j’avais la volonté de leur laisser un maximum de libre arbitre pour leur future orientation professionnelle. Également car le métier de hacker est ensorcelant : on peut trop facilement dériver en passant un temps fou derrière un écran. Je voyais déjà l’engrenage : écrire son premier programme à 7 ans, devenir un no life à l’époque de l’adolescence, faire une école d’informatique, et enfin, c’est le drame : bosser dans une startup nord-américaine. Bref, j’ai gardé mon virus pour moi.

Mais j’ai changé d’avis. J’ai constaté la médiocrité de l’enseignement de l’informatique à l’école. J’ai vu un grand nombre de personnes handicapées par leur méconnaissance en informatique. L’informatique est devenue une science qui devrait être enseignée au tronc commun dès le plus jeune âge. Et pas seulement l’utilisation de certains logiciels, mais l’apprentissage de la programmation, du fonctionnement d’Internet, des formats de fichiers, etc. Apprendre l’informatique ne signifie plus devenir informaticien. La maîtrise de l’outil informatique est utile dans de nombreux métiers, et il serait dommage de s’en priver.

J’ai donc décidé d’organiser des sessions d’initiation au hacking pour les 8-12 ans : toucher les plateaux d’un disque dur, faire des “ping” entre 2 ordinateurs, programmer en langage LOGO, souder des composants électroniques, installer un système d’exploitation, compter en binaire… l’idée est de passer 1 heure par week-end à s’initier à un concept. L’une des difficultés est la pédagogie : j’ai déjà enseigné à des BAC+3/BAC+4 mais pour des 8-12 ans c’est vraiment un autre monde ! J’ai déjà commencé la première session et ça s’est bien passé, les minots en redemandent ! Si vous avez des idées de sujet à aborder, de méthodes pédagogiques à appliquer, voire même si vous voulez animer une session ou participer, n’hésitez pas à me contacter.

DIY : réparer son écran plat programmé pour l’obsolescence

Wednesday, January 23rd, 2013

Depuis quelques temps, j’ai un écran TV LCD qui avait du mal à s’allumer. Le sortir de veille nécessitait d’appuyer plusieurs fois sur le bouton marche/arrêt : deux fois, trois fois… et ça s’empirait mois après mois : jusqu’à des dizaines fois voire impossible de l’allumer.

Intéressé par la théorie de l’obsolescence programmée, j’avais vu un documentaire évoquant un problème avec certains écrans plats. J’ai d’ailleurs retrouvé ce documentaire (Cash Investigation, France2, “La mort programmée de nos appareils”) et la partie sur les écrans débute à 06:42 : http://www.youtube.com/watch?v=f3a42dMgvkU#t=412s Au passage, vous pouvez regardez en entier ce reportage qui dénonce l’obsolescence programmée des écrans plats Samsung et LG, d’ordinateurs portables HP et évidemment les iPod/iPhone d’Apple. Mais surtout, regardez absolument l’excellent documentaire d’Arte “Prêt à jeter ou l’obsolescence programmée” : http://www.youtube.com/watch?v=XMfz8Cbyxl0

Bref, je consultais déjà le prix d’un écran neuf, mais le vague souvenir de ce reportage et mon récent intérêt pour le DIY (Do It Yourself) m’ont poussé à faire quelques recherches sur le web. Sans trop de conviction au départ, j’ai eu la bonne surprise de découvrir de nombreux témoignages décrivant exactement le même phénomène de sortie difficile de veille. Voici un exemple sur un forum parlant exactement du même modèle que mon écran LG 32LC45 : http://forums.futura-sciences.com/depannage/419609-sortie-de-veille-tv-lg-lcd-32lc45-resolu.html La cause serait donc bien ces fameux condensateurs qui auraient gonflés !

J’ai donc amené mon écran LCD dans le “hacklab” Evolix et je l’ai ouvert : sur l’une des cartes électroniques, j’ai effectivement trouvé 4 condensateurs légèrement gonflés. J’ai commandé des condensateurs de remplacement pour quelques euros.

Restait la partie la plus délicate pour moi : déssouder les anciens condensateurs et souder les nouveaux. Je n’avais jamais vraiment réalisé de soudures électroniques, mais avec quelques bons conseils de la dream team Evolix, j’ai pu réaliser les soudures (un peu grossières il est vrai).

J’ai ensuite remonté la carte électronique et… l’écran s’allume à nouveau parfaitement !

Conclusion : avec un peu de bidouille et quelques euros, on peut résister un peu à l’obsolescence programmée.

Avec 2 millions de followers sur Twitter, I’ve got the power

Saturday, September 1st, 2012

C’est l’histoire d’un sacré coup de com’ d’un joueur de foot qui a forcé son destin grâce à Twitter ! Que vous aimiez le foot ou non, l’histoire est intéressante. @Joey7Barton, joueur anglais, s’est mis en tête de venir jouer l’OM. Et il a du caractère… et surtout 1.7 millions de followers sur Twitter (grâce à une réputation de bad boy qui fait la une des tabloïds). Du coup, contrairement aux négociations secrètes habituelles, il a publié de nombreux tweets ; tout d’abord, il s’est habilement mis dans la poche les supporters de l’OM dimanche dernier, quelques extraits :

@Joey7Barton : Marseille won again as well. Allez les Marseillais. Maybe I’ll see you all this week? (1380 retweets)
@Joey7Barton : Hopefully, QPR and Marseille can finalise the deal in the next few days. My heart is already in the Vélodrome… (1641 retweets)

C’est mardi qu’il réalise son coup de maître : sans être vraiment invité, il annonce qu’il décolle pour Marseille :

@Joey7Barton : En route to Marseille… http://instagr.am/p/O6LHDXr3a_/ (1653 retweets)

Arrivé en grande pompe à Marignane, les dirigeants de l’OM sont obligés de lui dérouler le tapis rouge ! Il visite le centre d’entraînement fermé au public, rencontre le staff marseillais, signe des autographes aux fans. Bien sûr, il n’oublie pas de tweeter :

@Joey7Barton : I would also like to thank all the fans at the training ground for being patient and really friendly when we met. #AllezMarseille

Les jours suivants, coincé au Sofitel du Pharo, Joey Barton continue de faire le buzz :

@Joey7Barton : Bonjour les gens… http://instagr.am/p/O8WfAjL3Zo/
@Joey7Barton : And they tell me it’s cold today? http://pic.twitter.com/pDlXtdrA
@Joey7Barton : Beats the rain, “excuse moi, café au lait s’il vous plaît?” http://pic.twitter.com/VQDnXXA2

Chaque tweet est repris presque en direct à la TV et à la radio… un comble ! L’épilogue est cousu de fil blanc : les dirigeants de l’OM s’offrent les services du bad boy anglais à quelques minutes de la fin du mercato anglais :

@Joey7Barton : I am now a player for L’OM. What a birthday present! Cannot wait to get going. #allezL’OM (1024 retweets)

Reste à voir si Joey Barton sera aussi efficace sur les terrains de foot que sur Twitter, mais c’est déjà une autre histoire. En attendant, pour mesurer votre influence sur les réseaux sociaux, oubliez votre Klout, mais essayez-vous plutôt de tweeter : En route to [votre destination de rêve] et voyez si l’on vous déroule le tapis rouge ;-)

Raisons techniques pour ne pas utiliser Hotmail

Sunday, August 26th, 2012

Si le service de messagerie Hotmail est peu utilisé dans le milieu professionnel, il reste très répandu chez les particuliers (des millions de français utilisent une adresse @hotmail.com c’est davantage que Wanadoo/Orange !). Pourtant, Hotmail est une véritable plaie : il ne respecte pas certains standards de la messagerie, et c’est un casse-tête pour les sysadmins… doit-on tenter d’expliquer cela aux utilisateurs ? ou doit-on bidouiller des solutions pour prendre en compte la position dominante d’Hotmail ?

Comme souvent, la réponse est entre les deux : si l’on tâche de s’adapter aux différents “caprices” d’Hotmail, ce blog-post essaye d’expliquer pourquoi vous ne devez pas utiliser Hotmail ! Et je ne parlerai pas ici des problèmes de confidentialité posés par l’utilisation d’une usine à emails (tout comme Yahoo, Gmail, etc.), ni de l’interface web horrible d’Hotmail, ni même de l’impossibilité d’avoir un accès à sa messagerie avec un protocole aussi standard que l’IMAP. Je vais plutôt parler des problèmes d’envoi d’email, et notamment du non respect du protocole SMTP ! Voici les dernières facéties d’Hotmail :

– Hotmail cesse en quelques minutes ses tentatives d’envoi lors qu’il reçoit un code de réponse 4xx (signifiant une erreur temporaire pour rappel). D’après une observations récente, il essaye uniquement 4 fois en 3 minutes… puis abandonne définitivement en informant l’expéditeur : This is an automatically generated Delivery Status Notification. Delivery to the following recipients failed. Conséquence assez simple : dès qu’un souci temporaire de plus de 3 minutes survient sur un serveur (maintenance, problème DNS, etc.), les messages n’arriveront jamais ! Pire, dans le cas assez répandu d’une protection antispam via greylisting, qui consiste à renvoyer volontairement un code 4xx pendant un certain temps (souvent 5 minutes), tous les messages seront rejetés ! En bref, si vous envoyez vos emails via Hotmail, une bonne partie de vos correspondants ne les recevront pas…

– Hotmail semble lire à l’envers les poids des champs MX d’un nom de domaine ! J’ai vu mention de cela sur quelques forums et après quelques tests, Hotmail envoie bien vers le serveur MX du poids le plus fort ! C’est exactement l’inverse du fonctionnement correct. À première vue, cela n’est pas grave, mais les serveurs MX de poids le plus fort ne sont utilisés qu’en cas de souci sur les serveurs principaux et : ils sont parfois moins bien maintenus ; ils ont souvent des règles antispam strictes (comme du greylisting) ; pire, ils sont parfois hors-service (j’ai déjà découvert une grosse structure publique qui a eu un MX secondaire renvoyant des erreurs 5xx pendant plusieurs mois !). En bref, outre que c’est non conforme aux standards (c’est même une technique de spammeurs…), cela augmente encore les chances que les emails envoyés via Hotmail ne soient jamais reçus.

En résumé, Hotmail ne respecte pas les standards et en ce moment, les messages envoyés via Hotmail ont une bonne chance de ne jamais être délivrés ! C’est l’une des bonnes raisons pour laquelle on ne doit pas utiliser Hotmail. Et changer @hotmail.com en @outlook.com ne changera rien…