Prise en main rapide de JMeter

JMeter est un outil permettant d’effectuer des tests de performance d’applications et de serveurs. Il permet de simuler le comportement de plusieurs utilisateurs agissant de manière si-multanée sur une application web. Il mesure, entre autre, le temps de réponse de chaque re-quête et produit des statistiques de ces temps de réponse.
Il permet aussi de simuler une montée en charge.

Il est développé en Java et est sous Licence Apache.

logo JMeter

Lire la suite

Jour 18 • C’est qui le chef ?

Quel bonheur de commencer la journée avec un peu de frais dans le bureau !

Deuxième surprise : Windows a fait des mises à jour cette nuit1, et a donc redémarrer l’ordinateur : la machine virtuelle d’Ubuntu a planté en plein installation.
Me voilà donc à recommencer l’installation. Problème, après redémarrage problèmes graphiques empêchant le lancement de toute fenêtre. Bref, j’étais bon pour refaire une installation. Et alors là, plantage en plein installation. Que du bonheur. J’ai même tenté une installation « dual-boot » avec Wubi depuis Windows, là encore patatra…

Vint de l’heure de se restaurer pendant que le téléchargement d’Ubuntu serveur est en cours. Car j’ai fondé mon espoir sur cette version sans interface graphique, et fort heureusement, je n’ai pas été déçu.
En suivant scrupuleusement l’article de Dupot2 — après quelques configurations pour accéder au proxy ! —, SonarQube pour PHP et tous les dépendances nécessaires ont été installées

SonarQube résultat
SonarQube résultat

Et il faut dire, que l’outil semble assez puissant. Je n’ai pour l’instant que fait un test sur un exemple proposé par SonarQube, l’ensemble du code est passé en revu. Je n’ai encore pu voir si cela avait un intérêt concernant la sécurité, car la majorité des alertes se font sur la qualité du code (nombre classes, méthodes, fonctions, complexité, etc).
Je vais pouvoir demain passer l’ensemble des projets à travers cet outil


  1. Habituellement, Microsoft sort ses patchs de sécurité tous les deuxièmes mardi de chaque mois. 

  2. http://dupot.org/post-10.html 

Jour 17 • Persévérance

Aujourd’hui encore il a fait chaud. Autant le matin, l’atmosphère était respirable, mais alors l’après-midi, je me serai cru dans une fournaise. Je suis content que le journée se finisse, car je commençais à avoir un peu mal à la tête !

D’autant plus que j’ai continué à rechercher des solutions de scripts pour analyser du code PHP. J’ai fait un rapide bilan écrit (un peu plus complet et détaillé que celui d’hier, notamment avec des captures d’écrans) des solutions trouvées jusqu’à présent.
Sans grande surprise, je n’ai toujours pas trouvé les sources de Pixy.

Mais surtout, j’ai tenté de faire fonctionner SonarQube. Sur Windows évidemment. Alors après quelques cafouillages, des configurations bancales qui ont tout de même le mérite de ne pas tout faire planter, impossible de faire des tests pour PHP. Soit j’ai mal fait quelque chose dans les installations des différents plugins et applications nécessaires (voire j’en ai oublié un :/), soit ce n’était pas mon jour… Alors imaginez avec une chaleur pas possible.

Mon problème n’était pas le serveur central SonarQube, sorte de « dashboard ». Ce qui m’a d’abord posé problème, c’était le Sonar Runner qui permet de lancer des tests sans devoir passer par Maven ou Ant. Mais c’était trop peu pour me faire peur. Car après quelques sueurs froides chaudes, c’est l’installation de PHP qui a flanché. Et là, j’ai perdu tout espoir en Windows.

SonarQube

J’ai donc opté pour une machine virtuelle sous Ubuntu (j’ai d’ailleurs trouvé un tutoriel qui semble bien expliqué pour auditer du code PHP), qui j’espère sera prête d’ici demain matin. Et normalement, merveille des merveilles, je découvrirais le rapport d’audit de Sonar

Jour 16 • À la recherche du lien perdu

Cette nouvelle semaine a commencé avec de nouveaux objectifs, qui tombaient à pic, car le document que j’avais rédigé sur les recommandations de sécurité pour le développement d’applications web est en train d’être relu par A., nous n’avons toujours pas reçu de nouveaux codes sources pour y jeter un coup d’œil…

Il s’agit de faire des recherches pour trouver des logiciels ou scripts open-source permettant d’analyser le code source d’une application PHP.
Parmi ceux trouvés1, il y en a un qui me résiste encore pour le télécharger : Pixy
Le script a été conçu par des membres d’une université en Autriche, et l’ancien site du projet, facilement trouvable, renvoie vers le nouveau site, qui lui est injoignable…

J’ai tenté vainement jusqu’à présent de trouver un autre site sur lequel trouver le script. Peut-être que j’aurais plus de chance demain !

Voici une courte liste de ce qui a retenu mon attention jusqu’à présent :

  • Pixy : on va attendre de trouver un lien de téléchargement valide :/
  • Graudit2 : tout en ligne de commande, mais a du mal avec les framework
  • Rips Scanner : il suffit de copier les fichiers php dans un répertoire web, et on peu lancer les scans. Ne supporte pas pour l’instant PHP orienté objet. C’est bien dommage, car la solution s’annonçait intéressante !
  • SonarQube : ça l’air d’une grosse usine à gaz, et c’est nativement plus pour Java.

Sinon, il fait chaud. Très chaud. Et même si le bâtiment est en général très frais, ça commence à ne plus devenir tenable…


  1. Certains grâce au site du département sécurité CERN, le même qui m’avait permis de découvrir l’analogie mot de passe et brosse à dents

  2. Contraction de grep et de Audit 

Jour 15 • Brosse à dents

Nous voici déjà vendredi. Ce soir, après trois semaines — à raison de 5 jours ouvrés par semaine —, je viens de passer la moitié de mon stage. Déjà !

La journée a été très calme. Mes recommandations concernant les bonnes pratiques de développement de sites web concernant la sécurité ont été envoyées hier à mon maître de stage A.. Aujourd’hui, il a passé la journée avec un représentant CIL1. N’ayant pas de code source à vérifier, et P. étant sur un audit de site — d’ailleurs, il a été fait avec Joomla! 1.5, c’est fou le nombre de failles que cette version possède ! — j’ai pu flâner un peu sur Internet.

Et mine de rien, ça n’a pas été si chronophage : j’ai trouvé une métaphore assez intéressante entre les mots de passe et les brosses à dents sur le site du département sécurité du CERN.

Un mot de passe c’est comme une brosse à dents : c’est personnel et ça se change régulièrement !

J’ai juste trouvé ça bien représentatif.

Lundi commencera une nouvelle semaine, la seconde moitié du stage. J’espère qu’elle sera aussi intéressante et instructive que la première partie !


  1. Correspondant Informatique et Libertés, sorte de correspondant de la CNIL.