<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Benjamin Combe</title>
    <description>Sysop &amp;amp; Devop fanatic</description>
    <link>http://benjamin.combe.pm</link>
    <atom:link href="http://benjamin.combe.pm/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>Monitoring MS SQL Cluster on windows with Zabbix</title>
        <description>&lt;blockquote&gt;
&lt;p&gt;The goal is to monitor an active/passive cluster of MS SQL server in Zabbix
We will try to use a minimalist approach.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;1. Install Zabbix on all nodes&lt;/h2&gt;

&lt;p&gt;Configure each zabbix agent as active and passive&lt;/p&gt;

&lt;h2&gt;2. Declare each hosts and add a windows template on them&lt;/h2&gt;

&lt;p&gt;This will enable basic monitoring on each hosts. Use an active Windows template, so that the agent will send its data to Zabbix.&lt;/p&gt;

&lt;h2&gt;3. Create another host for the cluster&lt;/h2&gt;

&lt;p&gt;Use a passive MS SQL Template, and declare the VIP/Cluster DNS, so that Zabbix will go fetch its information directly on the active node.&lt;/p&gt;

&lt;p&gt;This way, each node is monitored, and the active node has MS SQL Monitoring enabled.&lt;/p&gt;
</description>
        <pubDate>Thu, 21 May 2015 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/MS-SQL-Cluster-Monitoring-Zabbix/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/MS-SQL-Cluster-Monitoring-Zabbix/</guid>
      </item>
    
      <item>
        <title>Configuring a read-only user in Tomcat to add JMX authentification</title>
        <description>&lt;blockquote&gt;
&lt;p&gt;The goal is to configure the Tomcat startup script in order to create a readonly user to read data from the JMX interface.
Then we use that user in Zabbix to connect to the JMX console&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;1. Create or update your setenv.sh to allow for jmx and add authentication&lt;/h2&gt;

&lt;p&gt;If it does not exist, create a env.sh file in your $CATALINA_HOME/bin. It will contain all info on the jmx remote interface.&lt;br&gt;
&lt;a href=&quot;https://tomcat.apache.org/tomcat-7.0-doc/monitoring.html&quot;&gt;From the tomcat documentation&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;#!/bin/sh&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Allow jmx remote&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;CATALINA_OPTS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;$CATALINA_OPTS&lt;/span&gt;
&lt;span class=&quot;s2&quot;&gt;-Dcom.sun.management.jmxremote=true&lt;/span&gt;
&lt;span class=&quot;s2&quot;&gt;-Dcom.sun.management.jmxremote.port=8888&lt;/span&gt;
&lt;span class=&quot;s2&quot;&gt;-Dcom.sun.management.jmxremote.ssl=false&lt;/span&gt;
&lt;span class=&quot;s2&quot;&gt;-Dcom.sun.management.jmxremote.authenticate=true&lt;/span&gt;
&lt;span class=&quot;s2&quot;&gt;-Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password&lt;/span&gt;
&lt;span class=&quot;s2&quot;&gt;-Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access&lt;/span&gt;
&lt;span class=&quot;s2&quot;&gt;-Djava.rmi.server.hostname=SERVER_IP&lt;/span&gt;
&lt;span class=&quot;s2&quot;&gt;&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;2. Create the access and password file&lt;/h2&gt;

&lt;p&gt;Here we create the jmxremote.access to add a monitorZabbix user with readonly permission. We adjust the rights so only tomcat can read it.&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$CATALINA_HOME&lt;/span&gt;/conf
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;monitorZabbix readonly&amp;quot;&lt;/span&gt; &amp;gt; jmxremote.access &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span class=&quot;m&quot;&gt;400&lt;/span&gt; jmxremote.access &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chown tomcat:tomcat jmxremote.access
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Here we create the jmxremote.password to define the password for the monitorZabbix user declared previously. We adjust the rights so only tomcat can read it.&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$CATALINA_HOME&lt;/span&gt;/conf
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;monitorZabbix PASSWORD&amp;quot;&lt;/span&gt; &amp;gt; jmxremote.password &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span class=&quot;m&quot;&gt;400&lt;/span&gt; jmxremote.password &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chown tomcat:tomcat jmxremote.password
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;3. Declaring the user in Zabbix&lt;/h2&gt;

&lt;p&gt;On the host screen, create the two following macros. If needed/wanted you can declare them on the template level.&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$JMX_USER_NAME&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; monitorZabbix
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$JMX_PASSWORD&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; PASSWORD
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
        <pubDate>Fri, 10 Apr 2015 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/Adding-JMX-Authentification-on-Tomcat/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/Adding-JMX-Authentification-on-Tomcat/</guid>
      </item>
    
      <item>
        <title>A website reborn</title>
        <description>&lt;p&gt;Tech.arthion.fr is no more ! Welcome to benjamin.combe.pm !&lt;/p&gt;

&lt;p&gt;The old articles, in french, have all be imported, imported from their own old git repo. This website is now hosted on Github Pages (see &lt;a href=&quot;https://github.com/kamiben/kamiben.github.io&quot;&gt;it&amp;#39;s repo&lt;/a&gt; ), with the easy start template &lt;a href=&quot;https://github.com/barryclark/jekyll-now&quot;&gt;jekyll now&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;From now on I think the future articles should be in English, as they would be able to help a lot more people. &lt;/p&gt;
</description>
        <pubDate>Thu, 09 Apr 2015 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/Hello-World/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/Hello-World/</guid>
      </item>
    
      <item>
        <title>Ruby: Variables multilignes</title>
        <description>&lt;p&gt;Pour créer un retour chariot dans une chaine de caractères, il est possible d&amp;#39;utiliser le caractère d&amp;#39;échappement \n.&lt;/p&gt;

&lt;p&gt;Cependant cette approche n&amp;#39;est pas forcément lisible si la variable présente plusieurs lignes. Il est possible de créer une variable multiligne de la manière suivante : &lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-text&quot; data-lang=&quot;text&quot;&gt;variable=&amp;lt;&amp;lt;TEXT
Voici le contenu de la variable
Présenté sur plusieurs lignes
Il n&amp;#39;est pas nécéssaire d&amp;#39;utiliser le caractère d&amp;#39;échappement.
TEXT
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;A noter qu&amp;#39;il est important de ne pas mettre d&amp;#39;espaces entre le symbole égal et &amp;lt;&amp;lt;.&lt;/p&gt;
</description>
        <pubDate>Sat, 19 May 2012 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/ruby-variables-multilignes/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/ruby-variables-multilignes/</guid>
      </item>
    
      <item>
        <title>Ruby : les operateurs unaire</title>
        <description>&lt;p&gt;J&amp;#39;ai découvert aujourd&amp;#39;hui les opérateurs unaire en ruby (unary operators).&lt;/p&gt;

&lt;p&gt;L&amp;#39;occasion de se rendre compte qu&amp;#39;on les utilise régulièrement mais que leur nom nous est inconnu.&lt;/p&gt;

&lt;p&gt;En math, une opération unaire est une opération avec un seul membre. En ruby, c&amp;#39;est similaire, un opérateur unaire ne prend qu&amp;#39;un seul argument. Par exemple le - de -8 ou ! de !true.&lt;/p&gt;

&lt;p&gt;Il est opposé à l&amp;#39;opérateur binaire, qui prend deux arguements, comme 2 + 3. &lt;/p&gt;

&lt;p&gt;Ainsi, par défaut, l&amp;#39;opérateur unaire - permet de définir un nombre négatif, tandis que + définit un nombre positif. Il existe également le ~ qui renvoie l&amp;#39;opposé binaire d&amp;#39;un entier. Enfin, ! renvoie l&amp;#39;opposé d&amp;#39;un opérateur true or false.&lt;/p&gt;

&lt;p&gt;L&amp;#39;article qui m&amp;#39;a permis de découvrir le concept est l&amp;#39;article très complet de &lt;a href=&quot;http://www.rubyinside.com/rubys-unary-operators-and-how-to-redefine-their-functionality-5610.html&quot;&gt;rubyinside&lt;/a&gt; sur ce sujet, mais qui traite de la redéfinition de ces opérateurs.&lt;/p&gt;
</description>
        <pubDate>Fri, 18 May 2012 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/ruby--les-operateurs-unaire/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/ruby--les-operateurs-unaire/</guid>
      </item>
    
      <item>
        <title>Héberger son serveur git privé</title>
        <description>&lt;p&gt;Prérequis au déploiement de ce site, (enfin, il existait d&amp;#39;autres solutions, mais j&amp;#39;ai choisi git pour la gestion du blog), il a été nécéssaire de mettre en place un serveur Git sur le VPS.&lt;/p&gt;

&lt;p&gt;Cela est également l&amp;#39;occasion d&amp;#39;y heberger les dépots privés (ce blog, jeu.arthion.fr, quelques petits projets qui ne sont pas dignes d&amp;#39;être sur &lt;a href=&quot;http://github.com/&quot;&gt;github&lt;/a&gt;), et pour un aussi petit volume de dépots, il n&amp;#39;était pas nécéssaire de prendre un abonnement payant.&lt;/p&gt;

&lt;p&gt;Voici donc en quelques étapes comment mettre en place un serveur git sur son serveur. Ca va être rapide ;).&lt;/p&gt;

&lt;h2&gt;Mise en place du serveur&lt;/h2&gt;

&lt;p&gt;Ces instructions sont pour un VPS tournant sous Débian 5, mais devraient rester identiques sur Ubuntu.&lt;/p&gt;

&lt;p&gt;Pour isoler les dépots du reste du système, et permettre un éventuel partage de dépot avec des amis,  on va créer un utilisateur appelé git :&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-text&quot; data-lang=&quot;text&quot;&gt;sudo adduser git 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;A partir de là, on va ajouter les clés pour permettre une authentification sans mot de passe : &lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-text&quot; data-lang=&quot;text&quot;&gt;sudo mkdir /home/git/.ssh
sudo chown -R git:git /home/git/.ssh
sudo chmod 700 !$
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sur la machine de developpement :&lt;br&gt;
  scp ~/.ssh/id&lt;em&gt;rsa.pub git@server.com:.ssh/authorized&lt;/em&gt;keys&lt;/p&gt;

&lt;p&gt;On sécurise la clé sur le serveur :
    sudo chmod 600 /home/git/.ssh/*&lt;/p&gt;

&lt;p&gt;Il est désormais possible de vous authentifier sans mot de passe en tant qu&amp;#39;user git, on va tester sur la machine de dev: 
    ssh git@server.com &lt;/p&gt;

&lt;h2&gt;Ajouter les dépots sur le serveur&lt;/h2&gt;

&lt;p&gt;Sur le serveur, effectuez cette commande pour initier un dépot vide, a répéter pour chaque dépot qu&amp;#39;on voudra transférer depuis la machine de dev :
    git --bare init nom_dépot.git&lt;/p&gt;

&lt;p&gt;Quittez le serveur, les dernieres étapes sont à effectuer en local.&lt;/p&gt;

&lt;h2&gt;Configurer la machine de développement &lt;/h2&gt;

&lt;p&gt;Si vous avez déjà configuré votre dépot pour Github par exemple, on va supprimer le remote déjà enregistré avec : 
    git remote rm origin&lt;/p&gt;

&lt;p&gt;A noter qu&amp;#39;il est également possible de nommer le remote vers votre serveur autrement, cette étape est donc optionnelle.&lt;/p&gt;

&lt;p&gt;On ajoute alors le nouveau remote : &lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-text&quot; data-lang=&quot;text&quot;&gt;git remote add origin ssh://git@myserver.com:2207/~/myrepo.git
git push origin master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et voila ! Si vous souhaitez conserver le remote origin déjà en place, utilisez un autre nom (j&amp;#39;utilise vps). Mes commandes push sont alors git push vps master.&lt;/p&gt;

&lt;p&gt;Pour ne pas avoir à répéter origin master, on peut indiquer à git le remote et une branch par défaut :
    git config branch.master.remote origin &amp;amp;&amp;amp; git config branch.master.merge refs/heads/master&lt;/p&gt;

&lt;p&gt;Et voila, désormais vous pouvez utiliser git push et git pull et vos dépots seront sauvegardés sur votre serveur.&lt;/p&gt;

&lt;p&gt;Nota : Si vous souhaitez un environnement multi-utilisateur avec un fort controle sur les dépots, je vous invite à vous renseigner sur &lt;a href=&quot;http://wiki.github.com/sitaramc/gitolite/&quot;&gt;Gitolite&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 17 May 2012 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/heberger-son-serveur-git-prive/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/heberger-son-serveur-git-prive/</guid>
      </item>
    
      <item>
        <title>Utiliser Pageant pour charger automatiquement des cles</title>
        <description>&lt;p&gt;Pageant est un outil intégré à Putty permettant de garder des clés en mémoire. L&amp;#39;outil se trouve dans le dossier d&amp;#39;installation de Putty. Cependant il est pénible de les charger à la main. &lt;/p&gt;

&lt;p&gt;Heureusement Pageant permet de charger automatiquement une ou plusieurs clés privées au lancement.
Il suffit de les passer en paramètre sur la ligne de lancement (ou sur le raccourci) :&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-text&quot; data-lang=&quot;text&quot;&gt; C:\PuTTY\pageant.exe d:\main.ppk d:\secondary.ppk
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(Pour le raccourci ajouter un espace après le dernier guillemet et entrer les chemins vers les clés sans guillemet)
Si les clés sont protégées par mot de passe, il vous sera demandé au lancement, impossible d&amp;#39;y couper.
Si Pageant est déjà lancé, les clés seront ajoutées au process existant.  &lt;/p&gt;

&lt;p&gt;Pratique ! &lt;/p&gt;
</description>
        <pubDate>Wed, 16 May 2012 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/utiliser-pageant-pour-charger-automatiquement-des-cles/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/utiliser-pageant-pour-charger-automatiquement-des-cles/</guid>
      </item>
    
      <item>
        <title>Déploiement du site</title>
        <description>&lt;p&gt;J&amp;#39;ai migré le site sur un VPS, après plusieurs mois sur le routeur. Ce fonctionnement a été une réussite et a correctement fonctionné sans aucun accroc sur toute la durée.&lt;/p&gt;

&lt;p&gt;Le gros inconvénient motivant la migration est que je ne pouvais pas générer le site directement sur le routeur, par faute de ressources trop faible. Il était donc nécéssaire de générer le site en local, soit dans une VM Ubuntu, ce qui n&amp;#39;est pas particulièrement aisé pour poster au quotidien. (Lancer une VM uniquement pour écrire un post est un peu rebutant.)&lt;/p&gt;

&lt;p&gt;J&amp;#39;ai donc opté pour un petit VPS pour :&lt;br&gt;
- Parfaire ma maitrise de l&amp;#39;administration Linux (le VPS tourne sous une débian)&lt;br&gt;
- Pouvoir générer le site directement sur la machine&lt;/p&gt;

&lt;p&gt;Cela me permet donc de simplement éditer mes articles sur toutes mes machines, et de les envoyer via git sur le serveur.&lt;/p&gt;

&lt;p&gt;Une fois arrivé sur le serveur, j&amp;#39;ai créé un Post-receive hook afin d&amp;#39;éxecuter automatiquement les commandes suivantes, basé sur les &lt;a href=&quot;https://github.com/mojombo/jekyll/wiki/Deployment&quot;&gt;conseils suivants&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-text&quot; data-lang=&quot;text&quot;&gt;GIT_REPO=$HOME/myrepo.git
TMP_GIT_CLONE=$HOME/tmp/myrepo
PUBLIC_WWW=/var/www/myrepo

rvm gemset use jekyll
git clone $GIT_REPO $TMP_GIT_CLONE
jekyll --no-auto $TMP_GIT_CLONE $PUBLIC_WWW
rm -Rf $TMP_GIT_CLONE
exit
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ce qui permet à chaque git push de générer le site directement en production. Ce premier article sera le premier test pour ce mode de déploiement ;)&lt;/p&gt;

&lt;p&gt;Normalement ce nouveau fonctionnement me simplifiera grandement l&amp;#39;envoi d&amp;#39;article, et donc me permettra de poster plus souvent ! J&amp;#39;espère pouvoir poster des articles sur l&amp;#39;administration de VPS, ruby et autre.&lt;/p&gt;
</description>
        <pubDate>Wed, 16 May 2012 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/migration-du-site/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/migration-du-site/</guid>
      </item>
    
      <item>
        <title>Debrief sur une attaque web</title>
        <description>&lt;p&gt;Par un frais soir d&amp;#39;hivers, au détour de quelques pages web, je fais un tour sans forcément de raison sur un de mes blogs wordpress.&lt;/p&gt;

&lt;p&gt;Quelle horreur quand j&amp;#39;ai découvert que le site n&amp;#39;était plus accessible. Apparemment, php5 n&amp;#39;était plus activé. Ceci étant défini par un fichier.htaccess chez OVH, je me connecte sur mon hébergement par FTP.&lt;/p&gt;

&lt;p&gt;Je récupère le .htaccess fautif et constate qu&amp;#39;il a été altéré pour comprendre des redirections en fonction d&amp;#39;user agent. Mais surtout qu&amp;#39;ils se sont plantés et qu&amp;#39;ils ont cassé le blog.&lt;/p&gt;

&lt;p&gt;Immédiatement inquiet, je cherche à trouver quels sont les fichiers modifiés et surtout depuis quand.&lt;/p&gt;

&lt;h4&gt;Trouver tous les fichiers mis à jour depuis X jours (X = nombre de jours)&lt;/h4&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-ruby&quot; data-lang=&quot;ruby&quot;&gt;&lt;span class=&quot;n&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mtime&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;A l&amp;#39;aide de cette commande je trouve que tous les fichiers .htaccess de mes sites ont été modifiés le même jour, la veille. &lt;/p&gt;

&lt;p&gt;Afin de déterminer la source de la faille, je consulte les logs chez OVH (quelques recherches google m&amp;#39;ayant montré que le probleme pouvait venir d&amp;#39;un compte FTP compromis, je cherche à voir les logs FTP.&lt;/p&gt;

&lt;p&gt;L&amp;#39;adresse pour consulter ces logs est la suivante : https://logs.ovh.net/adresse_hebergement/&lt;/p&gt;

&lt;p&gt;Cela me permet de constater qu&amp;#39;en effet, la faille vient de là. Je bloque immédiatement l&amp;#39;accès par FTP, et commence à remettre en place les fichiers d&amp;#39;origine via SCP, en utilisant les snapshots d&amp;#39;OVH accessible à l&amp;#39;adresse FTP habituelle mais en modifiant le login par login-snapX, avec X = 1 3 5 30 en fonction du nombre de jours souhaités.&lt;/p&gt;

&lt;p&gt;Les sites étant de nouveau d&amp;#39;aplomb et fonctionnels, je ne peux m&amp;#39;empecher de me demander si le compte est compromis depuis longtemps. &lt;/p&gt;

&lt;p&gt;L&amp;#39;épluchage des logs remonte une trace depuis l&amp;#39;été précédent, avec quelques fichiers ajoutés à mon insu, mais sans toujours aucun téléchargement de fichier compromettants.&lt;/p&gt;

&lt;p&gt;Néanmoins, je modifie tous les mots de passe d&amp;#39;accès aux bases de données, et je réinstalle à neuf toutes les parties de mes sites.&lt;/p&gt;

&lt;h4&gt;Lecon retenue :&lt;/h4&gt;

&lt;p&gt;FTP est un protocole véritablement dépassé, qui transmet les mots de passe en clair. Une de mes connexion à du etre interceptée, ou le mot de passe FTP a tout simplement été brute forcé.&lt;/p&gt;

&lt;p&gt;Désormais l&amp;#39;accès FTP est désactivé pour mon hébergement, sauf en cas de besoin.&lt;/p&gt;
</description>
        <pubDate>Sun, 05 Feb 2012 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/debrief-sur-une-attaque-web/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/debrief-sur-une-attaque-web/</guid>
      </item>
    
      <item>
        <title>Héberger son site sur son routeur</title>
        <description>&lt;p&gt;Ce site est hébergé sur mon routeur Asus WL 500Gp, flashé avec un firmware &lt;a href=&quot;https://openwrt.org/&quot;&gt;openwrt&lt;/a&gt; et utilisant ma connexion personnelle.&lt;/p&gt;

&lt;p&gt;Le serveur qui vous sert ces pages est &lt;a href=&quot;http://www.lighttpd.net/&quot;&gt;lighttpd&lt;/a&gt;. Il est configuré pour servir deux sites : jeu.arthion.fr et tech.arthion.fr.&lt;/p&gt;

&lt;p&gt;Ceci est réalisé en ajoutant quelques lignes au fichier lighttpd.conf &lt;a href=&quot;http://www.cyberciti.biz/tips/howto-lighttpd-web-server-setting-up-virtual-hosting.html&quot;&gt;un guide complet&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-text&quot; data-lang=&quot;text&quot;&gt;## jeu.arthion.fr
$HTTP[&amp;quot;host&amp;quot;] =~ &amp;quot;jeu.arthion.fr&amp;quot; {
server.document-root = &amp;quot;/www/games/_site&amp;quot;
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;J&amp;#39;utilise le moteur de blog (un parseur de texte en ruby) &lt;a href=&quot;https://github.com/mojombo/jekyll&quot;&gt;Jekyll&lt;/a&gt; afin de générer les pages du sites en format HTML à partir de fichier texte rédigés avec la syntaxe Markdown. &lt;/p&gt;

&lt;p&gt;Lors de la création du site, j&amp;#39;ai utilisé comme base les deux ressources ci-dessous très utiles pour découvrir jekyll : &lt;a href=&quot;http://jekyllbootstrap.com&quot;&gt;Jekyll bootstrap&lt;/a&gt; et ... &lt;a href=&quot;https://github.com/jgritman/Jekyll-Bootstrap-Template&quot;&gt;Jekyll bootstrap template&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pour la feuille de style, j&amp;#39;utilise le boilerplate &lt;a href=&quot;http://twitter.github.com/bootstrap/&quot;&gt;Bootstrap&lt;/a&gt; de Twitter. &lt;/p&gt;

&lt;p&gt;Enfin, pour la partie esthétique, j&amp;#39;ai adapté du mieux que j&amp;#39;ai pu l&amp;#39;excellent thème wordpress &lt;a href=&quot;http://www.vostoktheme.com/&quot;&gt;Vostok&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Les sites sont mis à jour à l&amp;#39;aide de git. Le theme est disponible sur https://github.com/kamiben/Jekyll-bootstrap2-template--french-&lt;/p&gt;
</description>
        <pubDate>Wed, 01 Feb 2012 00:00:00 +0000</pubDate>
        <link>http://benjamin.combe.pm/heberger-son-site-sur-son-routeur/</link>
        <guid isPermaLink="true">http://benjamin.combe.pm/heberger-son-site-sur-son-routeur/</guid>
      </item>
    
  </channel>
</rss>