Planète auto-hébergement

2014-08-22

Le logiciel libre n’est pas nécessairement un gage de liberté pour l’utilisateur

Le titre est un poil provocateur.

L’erreur que l’on fait tous plus ou moins, c’est de considérer le libre comme un gage de liberté. Se le dire, c’est prendre le risque de passer à côté d’un détail important. En effet, on peut se poser la question suivante : « Suis-je bien l’utilisateur qui bénéficie des avantages de la solution libre et/ou open source ? »

Clairement, il est impossible de répondre systématique à cette question par l’affirmative. Il faudrait lister quelques cas de figure :


L’admin

Chez moi, assis derrière ma machine qui tourne avec du libre, avec tout les accès nécessaires pour l’administrer, c’est fort probable. Ce qui me conforte dans cette idée est que je dispose des droits nécessaires pour casser entièrement mon système et qu’à priori, nul autre que moi ne dispose de ces droits. J’ai donc aussi le devoir de tenir mon système en état si je veux l’utiliser au mieux. Attention quand même car dans ce cas, il ne fait pas oublier la possible présence et exploitation (comme dans n’importe quel logiciel) de failles non comblées, soit pour cause de mise à jour non effectuée, soit parce qu’il s’agit d’une faille « zero day ».

Le proche de l’admin

Par contre, chez moi, toujours assis derrière ma machine mais SANS les accès pour son administration, c’est déjà moins certain. Ainsi, si dans mon entourage quelqu’un vient à utiliser ma machine pour ses propres besoins, son usage est limité au cadre que j’ai autorisé. Comme je suis le seul à disposer de mon mot de passe root, une partie de l’environnement n’est pas accessible complètement aux autres utilisateurs (fichiers de configuration, logs, certains programmes déjà installés, l’installation de nouveaux programmes…). Je reste, moi administrateur de la machine, alors le seul vrai utilisateur de la solution. Mon entourage me fait confiance et passe par moi pour l’ensemble des actions qu’il n’est pas autorisé à effectuer.

La connaissance de l’admin

Le raisonnement est identique pour mon serveur. Cette machine n’utilise que des logiciels libres (Debian stable, avec uniquement les dépôts « main ») mais pour la même raison que précédemment, je suis le seul qui bénéficie des bienfaits de l’usage des logiciels installés dessus. L’ami à qui j’ai proposé d’héberger son site web ne profite par exemple pas directement des bienfaits des logiciels qu’il utilise sur ma machine car je reste l’administrateur de cette machine. Il me connaît IRL et me fait confiance.

L’utilisateur des services proposés par l’admin

Sortons de chez moi maintenant. Dans le même esprit que l’exemple précédent, lorsqu’on utilise des services en ligne propulsées par des solutions libres, on est pas directement utilisateur de logiciels libres. On est simplement utilisateur d’un service et ce qui fait tourner ce service n’a pas d’importance. Ce que le fournisseur de service fait de nos données (celles qu’il héberge) peut tout autant être légitime, qu’illégitime. Voilà d’ailleurs pourquoi je n’ai jamais tenté l’aventure du RHIEN. Je trouve cette initiative extrêmement intéressante mais pour autant, je pense que ça implique une très grande confiance de la part des hébergés vis à vis de l’hébergeur. Même animé d’intentions louables, l’hébergeur reste un humain avec des parfois faiblesses, dont la curiosité…

Oui… donc :

Tout ça pour dire que les logiciels libres ne sont que des outils et que des outils peuvent être bien utilisés ou non. Le mot « confiance » figure dans chacun des quatre paragraphes précédents et cela n’est pas innocent de ma part. La confiance accordée dans une solution logicielle devrait donc, de mon point de vue, être la combinaison de deux confiances différentes :

  • Celle envers le logiciel en lui même (merci aux licences libres, qui facilitent l’audit du code source).
  • Celle envers celui par qui on utilise le logiciel (nous même, un proche, une connaissance, un parfait inconnu, une entreprise…).

J’essaye de garder ça dans un coin de ma tête à chaque fois que je pose les mains sur un clavier…

Avec HSTS, forcez vos visiteurs à revenir en HTTPS sur votre site web

HSTS permet à un site web en HTTPS de notifier au navigateur web qu’il doit toujours revenir le voir en HTTPS et non en HTTP.

Concrètement, ça prend la forme d’une entête spéciale envoyée par le serveur lors de la consultation d’une page web en HTTPS. Donc il faut que votre visiteur visite au moins une fois votre site web en HTTPS pour que la règle soit prise en compte.

Pour l’activer sur Apache, rajoutez cette ligne à votre virtualhost SSL :

Header add Strict-Transport-Security: "max-age=15768000; includeSubdomains"

J'aime(2)Ferme-la !(0)

2014-08-14

Campagne de dons libre association de l'April : derniers jours

L'April a lancé une campagne de dons en faveur de la promotion du logiciel libre en milieu associatif.

Le logiciel libre, porteur d’une idéologie de partage, rejoint les valeurs véhiculées par le monde associatif en général (partage, volontariat, bénévolat, passion, etc.) et par l’éducation populaire en particulier. Paradoxalement, nous constatons régulièrement que les associations sont captives de logiciels et services privateurs de liberté.

Dans le cadre du groupe de travail « Libre Association », l'April a entrepris de « jeter des ponts entre les logiciels libres et le monde associatif » en réalisant un guide répertoriant des méthodes et des outils de travail adaptés aux besoins des associations. Ce guide est prévu pour donner à chaque association les clés de ses libertés informatiques. Il est disponible en version Web et en Version papier (PDF).

L'April a réalisé et diffusé gratuitement à 10 000 exemplaires une première version de ce guide, en 2012, grâce à une subvention de la Fondation Crédit Coopératif. Dans la continuité de ces actions, l'April souhaite financer une nouvelle édition du guide et le distribuer gracieusement auprès des associations.

Il ne reste plus que quelques jours !

2014-08-10

La page d’accueil des sites web est morte

Longtemps, la page d’accueil d’un site web a été le lieu de départ de tout visiteur. Elle guidait le visiteur vers les pages plus profonde du site web. Par cette fonction même le webmaster pouvait choisir de mettre en avant un contenu plutôt qu’un autre.

Mais le RSS et surtout les réseaux sociaux ont profondément changé la manière dont les internautes visitent les sites web aujourd’hui. Ils ne passent plus par la page d’accueil des sites web. Ils reçoivent un flux continu d’informations choisies pour correspondre à leur désir. Quand le contenu de l’information est incomplet (pour des raisons commerciales), un lien direct permet d’aller directement vers la page web du contenu sans passer par la page d’accueil du site web.

C’est le constat qu’en fait aussi le New York Times dans un rapport interne. Voici l’évolution du nombre de visiteurs de sa page d’accueil sur les dernières années :

new york times homepageLes applications mobiles dédiées qui répliquent souvent le site web subissent le même sort. Les internautes ne prennent plus la peine de lancer régulièrement ces applications pour vérifier si un contenu les intéresse.

J'aime(2)Ferme-la !(0)

2014-08-09

Surveillance des logs avec logwatch sur une semaine complète

Logwatch, l’analyseur de log bien pratique et largement utilisé présente toutefois un défaut majeur. Par défaut, il analyse les logs jour par jour uniquement et envoi un rapport chaque matin, cette fréquence d’envoi peut toutefois vite devenir décourageante à lire.

Voyons donc comment configurer logwatch pour qu’il fasse un rapport chaque fin de semaine sur la semaine écoulée.

Commençons simplement en installant logwatch

sudo apt-get install logwatch

Une tâche cron est créée dans /etc/cron.daily/00logwatch
Nous allons tout d’abord déplacer cette tâche cron en weekly

sudo mv /etc/cron.daily/00logwatch /etc/cron.weekly/

Puis la modifier pour configurer directement l’usage de logwatch
Pour cela, nous allons simplement remplacer la ligne
/usr/sbin/logwatch –output mail
par
/usr/sbin/logwatch –detail med –mailto adresse@domain.tld –range "between -7 days and -1 days" –archives

C’est tout, logwatch nous fera à présent un rapport chaque semaine couvrant les 7 derniers jours.

Le niveau de détail de l’analyse peut être choisi entre high, med ou low.

2014-07-29

Mysearch 1.4 : cachez votre IP avec le mode relai

MySearch est un programme qui va récupérer les résultats de recherches sur Google, GoogleImage, Wikipedia, Openstreetmap, ou Yacy et les afficher en enlevant tout ce qui utilisé pour vous tracer : cookies personnels, liens personnalisés, javascript traceur, images traceuses, etc…

Par exemple, voici mon instance perso : http://search.jesuislibre.net

Vous allez me dire, ca ressemble à DuckDuckGo, mais sans les bangs. Mais DuckDuckGo n’a pas la pertinence de Google. MySearch, oui.
Et comment être sûr que DuckDuckGo ou Mysearch ne m’espionnent pas aussi? Avec Mysearch, vous avez accès au code source, et surtout vous pouvez l’installer facilement sur votre machine grâce au paquet Debian (nécessite Debian Jessie).
Une fois installé, vous pouvez y accéder par http://localhost:60061

Il restait un problème, si j’installe Mysearch sur ma machine, alors Google aura connaissance de mon IP et pourra toujours lier mes mots clés à mon IP. C’est là qu’intervient le mode relai entre installations Mysearch !

C’est encore en beta/alpha mais l’idée est que votre recherche soit transmise par l’intermédiaire d’une autre installation Mysearch plutôt qu’en direct. Rassurez-vous, cet intermédiaire ne pourra pas connaître les mots clés que vous cherchez ni connaître ou altérer les résultats car le flux est chiffré par SSL de bout en bout.

Pour activer le mode « relai »:
Modifiez le fichier de config /etc/mysearch/mysearch.conf mettez la valeur relay = true
Pour prendre en compte le changement, relancez le service : #service mysearch restart
Le port 60062 est utilisé pour le relai et doit donc être ouvert.

En activant le mode relai :
- Toutes les requêtes que vous lancerez devront passer par un intermédiaire sinon elles échoueront. Pour l’instant, l’intermédiaire est forcé à search.jesuislibre.net. Si les requetes ne marchent plus vérifier que mon serveur est toujours en ligne ;-) Si le service est utilisé, j’organiserai une pool.
- Vous autorisez automatiquement les autres à pouvoir utiliser votre relai pour leurs requêtes. Vous pouvez vérifier si votre relai est utilisé par d’autres en regardant sur la première page. Normalement vous ne devrez pas voir de connexions étant donné que le pooling n’est pas actif pour l’instant.

mysearch

J'aime(6)Ferme-la !(0)

2014-07-26

Bloc-Notes : Conky au démarrage de gnome-shell 3.12

Objectif :

Lancer conky à l’ouverture de session de gnome 3.12.

 

Mise en place :

Avec le script suivant, à placer dans /usr/share/gnome/autostart/conky.desktop

#conky.desktop
[Desktop Entry]
Type=Application
Name=Conky
Comment=Start conky script
Exec=conky -d
OnlyShowIn=GNOME;
X-GNOME-Autostart-Phase=Application

 

2014-07-18

[Wiki]Installer et configurer son serveur DNS connecté aux serveurs root avec Unbound

Nous n’avions pas encore parlé DNS sur HomeServer-DIY. Voilà qui est réparé avec un tuto sur la mise en place d’un serveur DNS perso:

Sur un réseau IP chaque machine est joignable par une adresse unique qui est son adresse IP. Elle se présente sous la forme de nombres séparés par des points. Par exemple, 158.88.4.144. Mais les utilisateurs trouvent souvent assez peu pratique de travailler avec ces nombres et préfèrent utiliser un nom de domaine comme homeserver-diy.net. Pour traduire un nom de domaine en adresse IP de façon à ce que la machine cliente s’adresse au bon endroit, elle utilisera le protocole DNS. Pour simplifier, lorsque vous demanderez à votre PC de joindre un nom de domaine, il fera une requête à un serveur DNS qui lui répondra en lui disant à quelle adresse IP correspond à ce domaine. Ce tuto va expliquer comment mettre en place votre propre serveur DNS pour en tirer plusieurs bénéfices.

Pour savoir comment, comme d’habitude, il suffit d’aller sur notre wiki: Installer et configurer son serveur DNS connecté aux serveurs root avec Unbound

2014-06-20

Vie privée, internet, … tout ça … pfff

Je pense que je viens de comprendre quelque chose récemment. Une chose qui m’avait échappé jusqu’alors.

J’ai pris conscience il y a quelques années déjà que le respect de la vie privée était un enjeu important, notamment sur internet en général et sur le web en particulier. Ce n’est pas par pur intérêt technique que j’ai décidé d’auto-héberger mes services internet avec un maximum de logiciels libres. Je pense que ça fait partie des moyens susceptibles de renforcer le respect de ma vie privée sur internet.

Ceci dit, l’auto-hébergement ne protège pas des atteinte à la vie privée lorsqu’on surf sur internet. De nombreux sites collectent des infos et tracent de plus en plus finement leurs visiteurs. Ainsi, certains comme Facebook tracent leurs utilisateurs y compris lorsqu’ils ne sont plus sur le site.
Il existe quand même des moyens pour se prémunir au moins partiellement des effets de ces pratiques. On peut citer le « Do Not Track » à activer dans son navigateur (de moins en moins respecté quand même), des modules à ajouter au navigateur (j’utilise adblock et RequestPolicy sous Firefox), ou simplement la suppression des cookies à la fin de la session.

Bon, ok, tout ceci est connu, vu, revu et rabâché.
Je parle parfois des atteintes à la vie privée sur internet à mon entourage. Je constate que ces problématiques sont généralement plutôt comprises quand on les exposent et pourtant, ça s’arrête là. Dans les faits, le retour à la réalité se fait sans le moindre changement.
J’en ai sans doute parlé à plusieurs dizaines de personnes et rien ne bouge. C’est même souvent de pire en pire. Les services ou logiciels peu respectueux des libertés semblent plus séduisant que ce que j’ai à en dire.

J’ai plusieurs hypothèse pour expliquer ça :

  • Les gens ne se sentent pas concernées individuellement.
  • Ils sont devenus fatalistes et pensent qu’on a quoi qu’il arrive déjà perdu.
  • Ils pensent naïvement que puisqu’ils n’ont rien cacher, il n’y a pas de problème pour tout montrer à qui le veut. Ça c’est juste un raisonnement fallacieux.
  • Ils ont pris goût au confort de tout ces services qui leur veulent du bien.

Une nouvelle hypothèse m’est venue récemment :

  • Les gens n’ont pas (ou plus) le moindre respect pour leur propre vie privée.

Je pense que cette hypothèse est la conséquence de toutes les autres réunies et j’ai l’impression que finalement, c’est la bonne :( .
Cela me fait dire que quoi que l’on propose comme solution technique pour protéger la vie privée, cela n’aura qu’un impact limité, voir très limité, puisqu’on ne cible pas le bon problème.
Quand plus de gens auront pris conscience que leur vie privée a une valeur inestimable, ils seront plus demandeurs de solutions techniques pour la protéger.
Mon constat peut sembler fataliste mais je ne désespère pas totalement…

2014-06-13

Chris Burnat un héros méconnu

Chris Burnat est décédé ce mercredi 11 juin 2014 à Rozelle  dans sa patrie d’adoption, l’Australie. Cet homme plus habitué à la célébrité des changelogs, n’aurait pas aimé cette publicité, tant il savait se montrer calme et  modeste, avec un sens de l’humour très développé.Chris Burnat

Au yeux de certains, il aurait pu passer pour un vieil homme de 70 ans, mais pour le Projet SME Server, c’était un Roc, un travailleur acharné, un packageur de RPM, un QA debuggeur, un auteur de documentation et plus simplement un camarade.

Pour moi, il était la preuve que l’age est un poids à traîner mais surtout pas un handicap, il était celui qui savait vous engager dans le projet en demandant simplement de faire le meilleur de vous même, il était celui qui savait guider vos débuts, patiemment.

Des gars comme Chris ont façonné le libre que nous avons, en y passant le plus clair de leur temps, avec cette flamme dans les yeux de ceux qui ont compris que leurs actions les dépassent.

La SME Server 9.0 va sortir très bientôt, et cela n’aurait pas été possible sans lui.

Pour finir je vais laisser Chris s’exprimer :

The End of the Internet
Congratulations! This is the last page.
Thank you for visiting the End of the Internet.
There are no more links.
You must now turn off your computer and go do something productive.
Go read a book, for pete’s sake.

Edit : une vidéo d’hommage a été faite par sa famille : Voir Ici

2014-06-12

Webmasters, arrêtez de faire le boulot de la NSA

Les journaux ont beau jeu de dénoncer l’espionnage des populations par quelques multinationales et Etats.
Pourtant derrière ce discours, les mêmes journaux livrent quotidiennement les données personnelles de leur lecteurs directement aux mains de ces mêmes multinationales du tracking et participent ainsi activement au fichage et profilage qu’ils dénoncent. Petit aperçu de la presse française :

Par exemple, sur Mediapart est bourré d’outils de statistiques, ce qui est bien étrange car il n’a aucune nécessité publicitaire :

  • Google (Analytics, Favicons,  Google+)
  • Facebook
  • Twitter
  • Xiti
  • Chartbeat

Sur Reflets.info, dont on ne peut nier la compétence technique :

  • Google (fonts)
  • WordPress.com Stats
  • Twitter

Sur Liberation.fr :

  • Chartbeat
  • SmartAdserver
  • Google (Google Tag Manager)
  • Xiti
  • Panoplie de sites publicitaires

Sur LeMonde.fr :

  • SmartAdserver
  • Chartbeat
  • Xiti
  • Yandex.ru
  • Panoplie de sites publicitaires

Sur leFigaro.fr :

  • Google (Analytics, Favicon)
  • SmartAdserver
  • Xiti
  • Facebook
  • Twitter
  • Panoplie de sites publicitaires

Sur l’Express :

  • Google (Analytics, API)

Sur le Nouvel Obs :

  • Google (Analytics, API)
  • Chartbeat
  • Twitter
  • Facebook
  • Xiti

Sur Numerama:

  • Google (Analytics, API, Google+, Google Tag Manager)
  • Twitter
  • Facebook
  • Xiti

Sur NextInpact (anciennement PCInpact), en étant logué comme abonné payant (et donc sans publicité):

  • Google (Analytics, fonts)
  • Xiti

Sur Korben :

  • Google (Analytics, Google Tag Manager)
  • Disqus
  • Panoplie de sites publicitaires

Je crois que ce serait bien plus efficace que chacun commence par balayer devant sa porte si on veut avancer vers un internet qui respecte la vie privée. Si vous connaissez des gens travaillant pour ces sites web, n’hésitez pas à leur demander des comptes.

C’est trop facile de faire une pétition qui n’a aucune chance d’aboutir (vous ne voyez pas que même un référendum, le pouvoir politique s’en cale) ou d’apposer une futile bannière « Reset the net » (on dirait du « green-washing ») pendant une journée.

Ce serait néanmoins dommage de terminer cet article sans rendre hommage aux bons élèves : Framablog, Sebsauvage, Standblog, Wikipedia

 

J'aime(20)Ferme-la !(2)

2014-06-07

Bloc-Notes : Paramètres de sécurité Oracle Java sous Debian

Objectif :

Afficher la console locale d’une VM proxmox sans être bloqué par les paramètres de sécurité Java avec un pc sous Openbox. Par défaut Java bloque les connexions sur les sites chiffrés auto-signés.

 

Mise en place :

Dans un terminal :

/usr/lib/jvm/jdk-8-oracle-x64/bin/ControlPanel

Ouverture du panneau de contrôle java :

securite_javaIl suffit ensuite de cliquer sur le bouton Modifier la liste des sites.

site_javaPuis rajouter le site internet auto-signé, dans mon cas l’url de proxmox.

 

2014-06-06

Bloc-Notes : Nginx en reverse proxy d’Apache

Objectif :

Soulager apache pendant les heures d’affluences, soulager ma machine virtuelle en consommation mémoire, permettre au contenu statique d’être téléchargé plus rapidement. Héberger plusieurs serveurs web avec une seule connexion internet et donc un seul port 80 ouvert sur le pare-feu.

nginx_schemas

Schémas de présentation

Installation :

service apache2 stop
apt-get install nginx
service nginx stop

Mise en place :

1.Apache :

Modifier le fichier ports.conf et les fichiers de configurations du ou des hôtes virtuels.

nano /etc/apache2/ports.conf

# renseigner les différent ports d'écoute
Listen 80
Listen 81
Listen 82
Listen 85
Listen 86
# port d'écoute pour les requêtes SSL
<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 8083
    Listen 8084
</IfModule>

<IfModule mod_gnutls.c>
    Listen 8083
    Listen 8084
</IfModule>

 Sur les hôtes virtuels voici la modification à apporter (exemple) :

<VirtualHost *:85> <- ligne à modifier
        ServerAdmin courriel@olivierdelort.net
        ServerName blog.olivierdelort.net


        DocumentRoot /var/www/blog/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/blog>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
ServerSignature Off
</VirtualHost>

Pour que les ip soient correctement journalisées sur le serveur apache, installer :

apt-get install libapache2-mod-rpaf

2.NGINX

Configuration de nginx en mode reverse proxy :

nano /etc/nginx/conf.d/proxy.conf

proxy_redirect          off;
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
client_header_buffer_size 64k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size   16k;
proxy_buffers       32   16k;
proxy_busy_buffers_size 64k;

Configuration globale de nginx :

user www-data;
worker_processes 2;
pid /var/run/nginx.pid;

events {
	worker_connections 1024;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	server_tokens off;

	server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;
	gzip_disable "msie6";
   	gzip_min_length	0;
	gzip_vary on;
	gzip_proxied any;
	gzip_comp_level 5;
	gzip_buffers 16 8k;
	gzip_http_version 1.1;
	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

	##
	# nginx-naxsi config
	##
	# Uncomment it if you installed nginx-naxsi
	##

	#include /etc/nginx/naxsi_core.rules;

	##
	# nginx-passenger config
	##
	# Uncomment it if you installed nginx-passenger
	##
	
	#passenger_root /usr;
	#passenger_ruby /usr/bin/ruby;

	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}

 

Création d’un hôte virtuel pour les différentes redirections

nano /etc/nginx/sites-enabled/reverse

#exemple de redirection depuis le port 80 vers le port 85 d'apache
server {
        listen   80;
        server_name blog.olivierdelort.net;
        access_log  /var/log/olivier.access.log;
        error_log  /var/log/olivier.nginx_error.log debug;
        location / {
                proxy_pass         http://127.0.0.1:85/;
        }
}

#Ici les images du blog sont chargé directement par nginx qui est plus performant qu'apache sur ce genre de contenu
server {
        listen   80;
        server_name  olivierdelort.net;
        location = /50x.html {
        root /var/www/nginx-default;
        }
        access_log /var/log/pictures.nginx.access.log;
        error_log /var/log/picture.nginx.error.log;
        index index.html;
        location / {
        expires     max;
        root  /var/www/blog/wp-content/uploads/;
        }

 

Pour finir on démarre les services :

service apache2 start
service nginx start

2014-06-05

Création d’un nas maison avec proxmox – Partie 2 Le partage de fichiers

Voici la deuxième partie sur la création d’un nas à partir d’une machine virtuelle sous proxmox. Dans cette partie nous allons aborder le partage de fichiers. Mes fichiers doivent être accessible depuis n’importe quel ordinateur de mon réseau local et n’importe quel système d’exploitation.

Deux serveurs de partage seront installés, NFS pour le partage en natif Linux et Samba pour les postes sous Windows.

Enfin l’installation d’un serveur ownCloud pour synchroniser mes documents, images, photos, musiques.

Avant de commencer la configuration du serveur de partage, j’ai modifié la méthode de montage des deux disques durs. En effet j’ai préféré faire un montage basé sur l’UUID pour m’y retrouver plus facilement. J’utilise un petit utilitaire compris dans le paquet util-linux afin d’identifier les différents disques durs.

root@elune:~# blkid 
/dev/sdb1: LABEL="serietv" UUID="5b8275e1-85cb-4406-ba7f-8c54d48d7978" TYPE="ext4" 
/dev/sdc1: LABEL="films" UUID="27bd44d9-71aa-4b4a-9ed4-ab79e715d3fd" TYPE="ext4"

Il me reste plus qu’a modifier mon fstab pour que les disques soient montés au démarrage.

UUID=5b8275e1-85cb-4406-ba7f-8c54d48d7978 /media/5b8275e1-85cb-4406-ba7f-8c54d48d7978 ext4 defaults,nofail,acl,user_xattr,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2
UUID=27bd44d9-71aa-4b4a-9ed4-ab79e715d3fd /media/27bd44d9-71aa-4b4a-9ed4-ab79e715d3fd ext4 defaults,nofail,acl,user_xattr,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2

Samba

Installation de samba sous Debian :

apt-get install samba

Ensuite toute la configuration se fait via le fichier smb.conf situé dans /etc/samba. Le fichier se découpe en deux parties, une pour la configuration générale du serveur, l’autre pour les différents partages.

Voici la configuration que j’utilise :

#======================= Global Settings =======================
[global]
#Spécifie le groupe de travail
workgroup = WORKGROUP
#Description du serveur
server string = %h server
#pas de proxy
dns proxy = no
#Niveau de précision des log plus d'infos ici[->]
log level = 1
#pas de log dévènement
syslog = 0
#ou enregistrer le fichier de logs
log file = /var/log/samba/log.%m
#taille maximale du fichier
max log size = 1000
#mot de passes chiffrés
encrypt passwords = true
smb password file = /etc/smbpasswd
#niveau de sécurité : seul les utilisateurs avec un compte peuvent se connecter
security = user
#Permet de mapper les autorisation Unix vers windows, tous les fichiers créés à partir
#d'un poste windows aura les autorisations linux 777
create mask = 0777
#pareil que create mask mais pour les dossiers
directory mask = 0777
#améliore les transferts de fichiers
use sendfile = yes
aio read size = 16384
aio write size = 16384
#utilisaeurs sans mot de passe interdit
null passwords = no
#seul maître à bords
local master = yes
#pas de serveur de temps ni de support wins
time server = no
wins support = no

Passons maintenant à la configuration des partages :

En exemple la configuration d’un de mes partages.

#======================= Share Definitions =======================
[photos]
path = /media/5b8275e1-85cb-4406-ba7f-8c54d48d7978/photos/
#invités interdit
guest ok = no
#lecture seule non
read only = no
#dossier navigable
browseable = yes
#hérite des différentes acl
inherit acls = yes
inherit permissions = no
ea support = no
store dos attributes = no
printable = no
#lorsqu'un dossier ou un fichiers est crée il hérite des autorisations suivantes
create mask = 0755
force create mode = 0644
directory mask = 0755
force directory mode = 0755
hide dot files = yes

Le partages de fichiers samba est opérationnel. Seul les utilisateurs avec un compte sur le serveur pourrons accéder aux fichiers. Personnellement je n’utilise windows que pour les jeux, mais n’étant pas un extrémiste du libre, je tolère que mon entourage n’utilise pas le même système que moi. C’est alors plus facile pour échanger nos fichiers.

NFS – Network File System

NFS est un système de fichier réseau qui permet le partage entre machines UNIX. C’est le gros morceaux, car tous mes ordinateurs linux doivent pouvoir y accéder en lecture/écriture.

Installation.

apt-get install nfs-kernel-server

Ensuite les partages se configurent dans un seul fichier /etc/exports

/export/videos 192.168.66.0/24(rw,subtree_check,insecure,no_root_squash) 192.168.67.1(rw,subtree_check,insecure,no_root_squash)

  •  /export/videos : Nom du partage afficher lors de interrogation du serveur showmount -e IP_du_serveur_NFS
  • 192.168.66.0/24 – j’autorise n’importe quels ordinateurs du réseau à se connecter au partage
  • rw : accès en lecture/écriture
  • subtree_check : vérification de l’arborescence
  • insecure : permet au client de se connecter sur un port différent de celui par défaut le 1024, utile dans certains cas.
  • no_root_squash : spécifie que le root de la machine sur laquelle le répertoire est monté possède les droits root sur le répertoire

Tous les partages sont configurés de la même façon.

Mon pc de salon qui est en Wi-Fi utilise mon nas, pour ne pas ouvrir mon réseau local, sur mon pare-feu j’ai créer un réseau dédié au Wi-Fi en 192.168.67.XX, avec uniquement des accès ciblés vers mon réseau local. C’est pour cela qu’en plus de plage Ip locale j’ai renseigné celle de mon pc de salon.

ownCloud – l’accès depuis internet

J’ai besoin d’avoir accès à certains documents hors de chez moi avec une mise à jour à chaque modifications. C’est là qu’intervient le célèbre ownCloud. Si vous voulez plus d’infos c’est par ici[angl].

De plus il offre la possibilité de synchroniser ses contacts, son calendrier, la musique en streaming, et pleins d’autre petites applications sympatiques.

Pour l’installer, toujours sous Debian, il suffit de suivre le mini-tuto du site officiel. Il permet d’ajouter les dépôts et de procéder à l’installation.

Les données hébergées doivent être sauvegardées, mais pas aussi fréquemment que les VM. J’ai donc ajouté un disque virtuel ou seront stockés mes fichiers owncloud. Ce disque sera sauvegardé une fois par semaine avec un historique dont je n’ai pas encore définit la durée, peut être 15 jours ou un mois en fonction de son évolution.

add-hdd

Il sera monté dans /home/olivier/owncloud et il servira pour le dossier data de owncloud.

config_owncloudVoici une capture d’écran lors de mon installation. Pour la base de données je préfère utiliser mon serveur MariaDB à la place de sqlite. C’est aussi une des raisons qui m’ont poussé à ne pas utiliser le plugin d’openmediavault qui impose l’utilisation de sqlite.

Ajout des droits pour l’utilisateur d’apache afin qu’il puisse utiliser le dossier data.

chown -R www-data:www-data /home/olivier/owncloud

 Il me reste plus qu’a modifier la configuration de reverse proxy pour accéder au ownCloud depuis internet en ssl.

Conclusion

Mon nas est maintenant fonctionnel et prêt à accueillir mes fichiers. Mes fichiers sont disponibles partout où je suis, j’ai de la place pour le stockage multimédia, ils sont accessible via windows et Linux.

Dans la prochaine partie nous verrons comment sauvegarder et restaurer tout ce petit monde.

2014-06-03

Proxmox : Suprimer le message « no subscription »

Logo-ProxmoxVE

Depuis Promox 3.1, à chaque login (ou sur certaines actions), vous avez une fênetre qui apparait :

subscription

Moi perso ça a finis par me gonfler !
Voici une astuce simple pour le virer :

On commence par faire un backup (au cas où) du fichier incriminé.

cp /usr/share/pve-manager/ext4/pvemanagerlib.js /usr/share/pve-manager/ext4/pvemanagerlib.js.backup

On édite le fichier :

 nano /usr/share/pve-manager/ext4/pvemanagerlib.js

et vous cherchez la ligne :

if (data.status !== 'Active') {

Puis vous la remplacez par :

if (false) {

 

c'est tout :)

Un driver libre pour contrôler les sensors d’une carte mère Asus

 

asus_logo

J'ai récemment changé mon hyperviseur (j'en ferai une présentation plus tard).

Au programme : moins de place, moins de conso, plus de WAF !

J'ai donc acheté une nouvelle machine qui comprends une carte mère Asus :)
Tout content, je réinstalle mon OS, mes programmes … dont "lm-sensors" afin d'avoir une vue sur les températures et autres paramètres de la CM.

sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +105.0°C)
temp2:        +29.8°C  (crit = +105.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +34.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:         +34.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:         +33.0°C  (high = +80.0°C, crit = +100.0°C)

le drame… quasiment aucune info …

nada !

Autre soucis, j'utilise open-vz et j'ai donc un vieux kernel qui date de la préhistoire …
à coup de recherches sur l'Internet, dans dmesg, les modules …

il m'en manque un, celui qui gère les sonde de la carte mère (évidemment …)

Je dispose d'une Asus H81i-Plus en socket 1150 avec un H81, en cherchant sur les modèles de cette famille il me faut le driver pour le composant "w83627ehf".

Problème celui ci est déjà présent indecision (pourquoi tu marches pas ???), mais pas utilisable car j'ai pas ce composant sur ma CM (wtf ??).
En cherchant encore j'ai un "nct6775" qui est poutant gérer par le driver "w83627ehf" …

Etant donné qu'on est dans le monde des bisounours barbus, autant le recompiler soi même, nan ?

Il vaut dans un premier temps le nécessaire du parfait geek : les headers du kernel, les outils de compilations …
Puis récuper sur le site du fabricant les sources (cool c'est du libre !) : https://github.com/groeck/nct6775

 

et enfin :

cd /tmp
wget https://github.com/groeck/nct6775/archive/master.tar.gz
tar xvzf master.tar.gz
cd nct6775-master
make
cp ./nct6775.ko /lib/modules/mon-kernel/kernel/drivers/hwmon/
depmod -a
modprobe nct6775
echo nct6775 >> /etc/modules

On vérifie avec "lsmod" :

lsmod
Module                  Size  Used by
nct6775                51920  0 
[...]
hwmon_vid               3148  1 nct6775
[...]

 

et petit coups de "sensors" :)

sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +105.0°C)
temp2:        +29.8°C  (crit = +105.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +35.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:         +35.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:         +32.0°C  (high = +80.0°C, crit = +100.0°C)

nct6779-isa-0290
Adapter: ISA adapter
Vcore:                  +0.85 V  (min =  +0.00 V, max =  +1.74 V)
in1:                    +1.03 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
AVCC:                   +3.38 V  (min =  +2.98 V, max =  +3.63 V)
+3.3V:                  +3.38 V  (min =  +2.98 V, max =  +3.63 V)
in4:                    +1.01 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:                    +0.00 V  (min =  +0.00 V, max =  +0.00 V)
in6:                    +0.86 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
3VSB:                   +3.39 V  (min =  +2.98 V, max =  +3.63 V)
Vbat:                   +3.26 V  (min =  +2.70 V, max =  +3.63 V)
in9:                    +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in10:                   +0.14 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in11:                   +0.12 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in12:                   +0.11 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in13:                   +0.11 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in14:                   +0.12 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
fan1:                  2061 RPM  (min =    0 RPM)
fan2:                  1192 RPM  (min =    0 RPM)
fan5:                     0 RPM  (min =    0 RPM)
SYSTIN:                +121.0°C  (high =  +0.0°C, hyst =  +0.0°C)  sensor = thermistor
CPUTIN:                 +34.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
AUXTIN0:                +34.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor = thermistor
AUXTIN1:               +114.0°C    sensor = thermistor
AUXTIN2:               +113.0°C    sensor = thermistor
AUXTIN3:                +36.0°C    sensor = thermal diode
PECI Agent 0:           +35.0°C  
PCH_CHIP_CPU_MAX_TEMP:   +0.0°C  
PCH_CHIP_TEMP:           +0.0°C  
PCH_CPU_TEMP:            +0.0°C  
intrusion0:            ALARM
intrusion1:            ALARM
beep_enable:           disabled

 

C'est déjà mieux !
Mais pas encore parfait, trop de blabla, et certaines infos sont éronnées !

éditez : nano /etc/sensors.d/sensors3.conf

à l'instance : chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*"

modifiez de la façon suivante :

chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*" "nct6779-*"


    ignore fan5

    ignore temp1 #SYSTIN
    ignore temp3 #AUXTIN1
    ignore temp4 #AUXTIN2
    ignore temp5 #AUXTIN3
    ignore temp8 #PCH_CHIP_CPU_MAX_TEMP
    ignore temp9 #PCH_CHIP_TEMP
    ignore temp10 #PCH_CPU_TEMP
    ignore intrusion0
    ignore intrusion1
    ignore beep_enable


label in1 "+5V"
  compute in1 @ * (40/8), @ / (40/8)
  set in1_min 5 * 0.95
  set in1_max 5 * 1.05

label in3 "+3.3V"
  set in3_min 3.3 * 0.95
  set in3_max 3.3 * 1.05

label in4 "+12V"
  compute  in4  @ * (96/8), @ / (96/8)
  set in4_min 12 * 0.95
  set in4_max 12 * 1.05

label in8 "Vbat"
  set in8_min 3.0 * 0.90
  set in8_max 3.3 * 1.10

ignore in2
ignore in5
ignore in6
ignore in7
ignore in9
ignore in10
ignore in11
ignore in12
ignore in13
ignore in14

label fan1 "Chassis fan"
  set fan1_min 300

label fan2 "CPU fan"
  set fan2_min 300

 

refaites un "sensors"

nct6779-isa-0290
Adapter: ISA adapter
Vcore:         +0.85 V  (min =  +0.00 V, max =  +1.74 V)
+5V:           +5.16 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
+3.3V:         +3.38 V  (min =  +2.98 V, max =  +3.63 V)
+12V:         +12.10 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
Vbat:          +3.28 V  (min =  +2.70 V, max =  +3.63 V)
Chassis fan:  2099 RPM  (min =    0 RPM)
CPU fan:      1198 RPM  (min =    0 RPM)
CPUTIN:        +34.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
AUXTIN3:       +35.0°C    sensor = thermal diode
PECI Agent 0:  +36.0°C

 

c'est déjà mieux, même si dans mon cas, certaines valeurs "max" et "mini" sont toujours à 0 sad
 

2014-06-02

Suivre les commentaires d’un article particulier en RSS avec WordPress

Parmi les arguments avancés pour l’utilisation de DisquS figure celle-ci :

Je crois que l’intérêt de Disqus est pour les utilisateurs, qui peuvent suivre facilement les conversations autour des commentaires qu’ils ont laissés. Combien de fois avez-vous laissé un commentaire sur un blog, vérifié une ou deux fois s’il y avait des réponses intéressantes, puis oublié cette page. Avec Disqus, si quelqu’un répond trois mois plus tard, l’utilisateur peut en obtenir une notification et rebondir.

Et bien vous devriez savoir que pour chaque article publié avec WordPress on peut avoir un flux RSS particulier des commentaires. Ex : http://tuxicoman.jesuislibre.net/2014/05/disqus-pourquoi.html/feed

En bonus, pas besoin de laisser son mail pour s’inscrire ni de prier pour que vos démarches de désinscriptions soient bien prises en compte.

J'aime(5)Ferme-la !(1)

Pour vivre heureux, vivons caché

Pour un article récent sur le déploiement avec Puppet, je voulais partager un peu de code et quoi de mieux qu’un dépôt git ? A priori, pas grand chose… Bref deux possibilités s’offraient à moi pour partager mon dépôt git, à savoir :

  • l’héberger sur mon Gitlab auto-hébergé,
  • l’héberger sur GitHub.

J’ai pas mal hésité avant de me décider à savoir où j’allais l’héberger et j’ai finalement choisi de publier mon dépôt sur GitHub. L’unique raison qui m’a poussé à utiliser Github est que j’avais peur pour la sécurité de mon serveur.

En effet, j’ai eu peur qu’en diffusant l’url de mon Gitlab, je m’expose à d’inutiles risques. En effet, Gitlab est fréquement mis à jour, ce qui est bien et parfois la raison de cette mise à jour et la correction d’une faille de sécurité. Malheureusement, je n’ai pas toujours le temps de faire les mise à jour rapidement et du coup je ne suis pas rassurer de partager un lien vers mon Gitlab sachant qu’il peut être parfois vulnérable.

Voilà, je ne dis pas de cacher tous ses services auto-hébergés mais c’est comme pour la vie réelle, vous ne criez pas sur tous les toits votre adresse et vos dates de vacances. Du coup, même logique, ne divulguez pas plus d’informations que nécessaires, il en va de la sécurité de votre serveur…

Note : Je prend Gitlab comme exemple, mais cela fonctionne avec n’importe quel service hébergé sur votre serveur.

2014-05-30

FeedEx, le meilleur lecteur RSS pour Android

J’utilise essentiellement le RSS pour suivre l’actu et FeedEx est le logiciel que j’apprécie le plus sur Android pour cela.

feedex

C’est un logiciel libre. Il est rapide, clair, efficace. Il n’y a pas de pub, pas de compte à créer, pas de serveur qui tracent ce que vous lisez ou qui vous rendent dépendant de l’appli. On peut importer/exporter tous ses flux en OPML. On peut récupérer automatiquement les images pour lire son flux hors ligne plus tard. On peut garder des articles pour plus tard d’un clic. On peut envoyer ses articles favoris par mail. Il y a des mises à jours souvent et qui vont toujours dans le bon sens. On peut contacter facilement le développeur.

C’est dispo sur Fdroid et le code source est là. Enjoy !

 

J'aime(2)Ferme-la !(0)

2014-05-25

DisquS, pourquoi?

disqus Est ce que quelqu’un pourrait m’expliquer pourquoi tant de blogs utilisent DisquS pour gérer les commentaires à la place du système de commentaires intégré à WordPress ?

Si c’est un problème de spam, j’utilise le plugin Askimet comme anti-spam et il marche à la quasi perfection. (8’000 spams évités par mois. 99.88% de précision, gratuit jusqu’à 80’000 commentaires par mois)

Concernant la traçabilité, Askimet est un service centralisé auquel on envoie des infos personnelles : commentaire, IP, referrer, user agent . Mais DisquS est pire. Chaque commentateur est tracé sur le web entier par des cookies, voir même son compte. Et les infos refilées aux partenaires de DisquS vont jusqu’à a localisation et les pages vues.

J'aime(11)Ferme-la !(4)

Bloc-Notes : Changer le VMID d’une VM Proxmox

Mon blog me sert beaucoup d’aide-mémoire sur des problèmes ou des solutions que j’ai rencontrés dans le passé. J’ai donc décidé de créer une partie dédiée à des petites astuces qui ne nécessitent pas un long article, mais dont je veux garder une trace écrite. Elles seront écrites sous forme de bloc-notes mais sans pour autant perdre en compréhension.

Pour changer de numéro de machine virtuelle sous proxmox. Machine Kvm. Le but est de changer le VMID de la machine N°162 à 160.

Arrêt de la vm

Puis en SSH sur l’hôte :

cd /var/lib/vz/images/
mv 162 160
cd 160
mv vm-162-disk-1.qcow2 vm-160-disk-1.qcow2
ls /var/lib/vz/images/160
vm-160-disk-1.qcow2

Modification du fichier de configuration :

cd /etc/pve/nodes/serveur-proxmox/qemu-server/
mv 162.conf 160.conf

Puis

nano 160.conf
##
balloon: 512
bootdisk: ide0
cores: 2
# ligne remplacée
#ide0: local:162/vm-162-disk-1.qcow2,format=qcow2,size=92G
ide0: local:160/vm-160-disk-1.qcow2,format=qcow2,size=92G
ide2: local:iso/debian-7.0.0-amd64-netinst.iso,media=cdrom
memory: 2048
name: dalaran
net0: rtl8139=FE:E8:6F:6A:58:A7,bridge=vmbr0
ostype: l26
sockets: 1

 Retour dans l’interface proxmox, pour vérifier les changement. Redémarrage de la VM et c’est bon.

2014-05-24

SME Server 9rc1 est disponible

La version 9 de la SME Server arrive à grand pas maintenant que la RC1 a été rendue disponible. Il n’y a plus de bug majeur à corriger pour la sortie de la version 9 stable, ce qui implique que cette version est suffisamment aboutie pour être installée sur vos serveurs de production.

Ce qui est mon cas depuis la béta4

Pour information il n’y a pas d’upgrade possible entre sme8 (Centos5) et sme9 (Centos6) mais la faute en incombe à redhat qui ne l’a pas permis pour ses versions El5 et El6.

La solution qui a été mise en place et de faire un backup par la console en usb ou par le server-manager (réseau ou usb) de votre SME Server, d’installer la version 9, puis de restaurer le backup….et enfin de réinstaller les contribs (disponibles).

Les contribs seront le prochain gros chantier à mettre en place, car elles sont encore en nombre limité mais je suis confiant. Mes contribs sont presque toutes compatibles : Works in progress.

Pour télécharger la sme9

La base d’utilisateur de la SME Server est mondiale, mais une forte proportion de la communauté est Française. Vous avez à votre disposition un forum en Français si vous n’êtes pas à l’aise avec l’Anglais.

La SME Server est un bon moyen d’héberger votre vie numérique à la maison….depuis le temps qu’on vous le dit :)

2014-05-22

J’ai essayé le local streaming de Steam

La nouvelle mise à jour de la plateforme de jeux Steam apporte une nouvelle fonctionnalité, le streaming local.

Le streaming en local permet depuis un ordinateur sous windows de pouvoir jouer à n’importe quel jeux de la bibliothèque, sur n’importe quel ordinateur d’un même réseau local, quel que soit le système d’exploitation du client.

La première chose qui m’est venu en tête à l’annonce de cette fonction “chouette fini wine pour jouer à mes jeux windows”.

Je n’ai pas put m’empêcher de découvrir le jeu en streaming.

Avant toute chose l’ordinateur qui héberge les jeux, que je nommerai le serveur, doit impérativement être sous windows. En en effet aujourd’hui (le 22 Mai 2014) seul les ordinateurs sous windows, à partir de la version vista, peuvent faire office de serveur de streaming. Ce qui pour moi est logique, car du coup tout le catalogue de Steam peut bénéficier du streaming local. Est-ce que Valve l’étendra au système Mac et Linux je n’ai pas réussi à avoir l’info.

Les bases de l’essai

Voici les configurations que j’ai utilisé pour l’essai :

Côté serveur : Ordinateur acheté en Janvier 2012

  • Marque : Petit assembleur près de chez moi
  • Intel core I3
  • Carte mère gigabyte ultra durable 3, Intel 6 series
  • 4 go de Ram DDR3
  • Nvidia Geforce GTS 450 1go de ram
  • Windows 7 Familliale 64bits

serveur-windows

Côté client : Pc portable acheté en Septembre 2013

  • Marque : Dell Vostro 3306
  • Intel core I3
  • 4 go de ram
  • INTEL HD GRAPHICS 4000 intégré
  • Acheté avec Ubuntu 11.10 préinstallé que j’ai très vite remplacé par une Debian Sid

Configuration chez dell ->

Activation du Streaming Local

La mise en place que streaming local est d’un simplicité extrême.

  1. Démarrer Steam sur le serveur, puis dans Steam -> Paramètres -> Streaming local – cocher la case “Activer le Streaming”
  2. Démarrer Steam sur le client, Steam -> Paramètres -> Streaming local – cocher la case “Activer le Streaming”

Voilà c’est fait !

Configuration

Pour ce premier essai j’ai décidé de laisser les réglages par défauts, mais il est possible d’affiner les réglages graphiques en fonction de la qualité de son réseau, de la taille de l’écran du serveur, comme indiquer sur les figures suivantes.

streaming

reseau-steamgraphisme-steam

Let’s play

Pour rendre le test plus révélateur j’ai choisi deux jeux gourmands en ressources et natifs windows : Skyrim et Dishonored, qui ne sont pas trop dépassés.

Je démarre Steam sur mon client :

steam-client

Et là magie, je me retrouve sur mon petit Dell 13 pouce à jouer à Skyrim. Et je dois reconnaître, dans l’ensemble c’est très fluide le son est parfait. Malgré les faiblesses matérielles du dell je prends du plaisir à jouer. Mais tout n’est pas parfait, une fois le jeu lancé sur le serveur celui-ci est dédié au jeu, impossible de faire autre chose. Je me suis donc retrouvé avec deux ordinateurs avec les jeux.

A part ce petit problème, je suis dans l’ensemble très agréablement surpris pas la qualité du streaming, même via une connexion Wi-Fi le système ne flanche pas durant les deux heures que j’ai joué. A voir donc à long terme comment va évoluer cette fonctionnalité.

Conclusion

Cette solution peut être utilisée pour faire fonctionner des jeux natifs windows sous Linux sans se prendre la tête en configurant Wine. Cela incitera peut-être certains à utiliser Steam sous Linux.

Mais je reste quand même très perplexe et prudent avec le streaming local. Oui cela permet de jouer au catalogue complet de Steam sur n’importe quelle plateforme, mais cette solution à mon avis ne poussera pas les grands studios de jeux vidéo à développer pour Linux. Il est vrai que le monde du jeu vidéo ne se résume pas qu’à Steam mais Valve aurai pu aider à faire penché la balance en tant qu’acteur majeur de cette industrie. Je trouve juste dommage que Valve n’est pas plus milité ou réfléchit sur un portage en natif de son catalogue. Peut-être pas pour les anciens jeux qui ne seront sûrement pas re-developpés, mais pour les futurs. Wine a encore de beaux jours devant lui.

En bonus une petite vidéo pour montrer la bête en action. Désolé pour la qualité c’est ma première vidéo en ligne.

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="315" src="http://www.youtube.com/embed/MCACcWgvT98?rel=0" width="560"></iframe>

OpenSSL et la vérification du domaine dans les certificats

Je suis en train de rajouter de l’onion routing à mon moteur de recherche MySearch. Je me suis donc penché sur comment Twisted (13.2) gérait les connexions SSL.

Tout d’abord, il faut savoir qu’une connexion web HTTPS dans Twisted ne fait aucune vérification de certificat par défaut. C’est écrit dans la doc et dans l’API.

Enfin « par défaut », il faut comprendre « sans mettre les mains dans le cambouis ». Car quand on regarde plus en profondeur dans le code de Twisted, on voit que les connexions SSL reposent sur PyOpenSSL , qui est comme vous vous en doutez un binding pour la fameuse librairie OpenSSL.

Dans Twisted, voici ce qu’on trouve de plus exhaustif pour vérifier la sécurité de sa connexion SSL. Là, le premier truc qui choque, c’est que le hostname de destination n’apparaît pas dans le code de vérification des certificats.

On se dit qu’on loupe quelque chose, on va voir du coté de la doc de PyOpenSSL . Pareil, pas de fonction qui vérifie la correspondance du hostname demandé avec le certificat présenté. Et pas un mot sur le sujet.

Allons donc voir ce qu’en dit OpenSSL. Et là c’est beau, je vous le donne en mille :

One very common mistake made by users of OpenSSL is to assume that OpenSSL will validate the hostname in the server’s certificate. Currently, it does not, although a future version (1.1.0?) will include this functionality.

C’est écrit noir sur blanc et .

Sérieusement, vous pensez qu’il est sain de forcer des programmeurs lambda à coder une fonction si critique qui va vérifier le hostname de destination avec toutes les règles de subject alt name encodées en ASN.1 sans faire le moindre faux positif ni faux négatif ?

Je serai amusé de voir le code de cette partie de quelques applications reposant sur OpenSSL. On risque de trouver des manières élégantes de faire du MITM avec un simple certificat adapté…

Par pur hasard, une nouvelle version de Twisted (14.0) est sortie ces jours-ci. Les notes de mise à jour indiquent de grandes améliorations autour des communications SSL (enfin dirais-je !).

Je vais donc, curieux, voir comment ils se sont sorti de ce piège. Le code de vérification du hostname est en fait externalisé à un module Python externe : service_identity , module créé en mars 2014 (semble t il par des codeurs de Twisted). Ca c’est du code sûr, vérifié et testé… qui prend quand même environ 430 lignes de Python (avec beaucoup de lignes blanches je vous l’accorde).

Voici d’autres exemples du joli cadeau sue nous lègue OpenSSL :

 

J'aime(0)Ferme-la !(0)

2014-05-21

Duckduckgo se met à jour

Le moteur de recherche dont la devise est de ne pas espionner ses utilisateurs s’offre aujourd’hui une mise à jour intégrale. Cette nouvelle version se concentre sur des  recherches plus intelligentes, plus affinées.

Nouveau design, nouvelles fonctionnalités.

Au niveau du design rien de bien nouveau on prend celui de Google et on colle notre logo. Par contre, au niveau des fonctionnalités il est  possible à partir de la recherche en cours d’afficher les images, les vidéos en relation avec le sujet recherché.

On notera aussi l’ajout la recherche locale, auto-suggérer, et bien d’autres.

J’avais essayé Duckduckgo il y a deux ans, mais il ne m’avait pas convaincu à l’époque. Je dois dire que cette nouvelle mise à jour m’incite fortement à revoir mon jugement et à lui donner une seconde chance. J’ai donc décidé de l’adopter pendant un mois.

Source : OSnews

2014-05-19

Transformer son $HOME en dépôt git pour gérer ses fichiers de configurations.

L’utilisation de plusieurs ordinateurs sous Linux, peut devenir un vrai cauchemar lorsque l’on veut maintenir la même configuration à jour. Dans mon quotidien il m’arrive d’utiliser trois ordinateurs différents. Et j’aime bien retrouver mes marques quel que soit la machine utilisée. Au départ je “trimballais” partout une clef usb avec tous mes fichiers de configurations, mais cette solution a atteint sa limite très rapidement.

Elle était surtout très contraignante car, je devais en permanence avoir ma clef usb sur moi et en cas de modification de configuration penser à faire une copie (ce qui arrivait une fois sur mille) sur la dite clef pour pouvoir mettre à jour mes autres ordinateurs. Du coup je me retrouvais avec des configurations très hétéroclites.

J’ai donc décidé de créer un dépôt git pour les différentes configurations que je souhaite déployer sur mes ordinateurs. Certains diront pourquoi ne pas tout grouper dans un même dépôt, je préfère les séparer en cas problème sur un cela ne me bloquera pas le reste.

C’est alors que j’ai entendu parler de vcsh et mr (Merci à Brice camarade libriste qui m’a expliqué les bases). Ses deux petits programmes couplés avec git m’ont permit de centraliser tous mes fichiers de configurations sur mon serveur gitlab et ainsi de pouvoir installer mon environnement sur tous les ordinateurs que j’utilise.

VCSH – Version Control System for $HOME – multiple Git repositories in $HOME

Comme son nom l’indique il permet de faire de la gestion de version pour le $HOME. Grâce à lui plusieurs dépôts git peuvent cohabiter dans le même répertoire. Il centralise toutes les têtes de dépôts au même endroit, par défaut il les place dans ~/.config/vcsh/repos.d mais il est tout à fait possible de le changer, de même si l’on désire maintenir plusieurs dépôts git ailleurs que dans le $HOME. Pour plus d’informations je vous invite sur la page github du projet

Passons à son installation, sous Debian,

sudo apt-get install vcsh

 mr pour myrepo

mr intervient principalement sur l’utilisation et la configuration des dépôts. Dans un premier temps il permet avec une seule ligne de commande, de livrer et pousser les modifications, mettre à jour simultanément tous les dépôts renseignés dans sa configuration. Dans un second temps il permet aussi de gérer la configuration de ses mêmes dépôts. Dans mon cas il me permet de pousser mes modifications à la fois sur mon serveur gitlab mais aussi sur mon compte github pour en garder une sauvegarde. Il me permet de rajouter une url à mon origin dès le clonage des dépôts, ce qui m’évite une configuration post-installation de tous mes dépots. Pour plus d’informations voici la page du projet.

L’installation sur Debian est toujours aussi simple

sudo apt-get install mr

Préparatifs avant la transformation

Tout d’abords j’ai défini quels fichiers de configurations que je souhaite garder à jour et déployer sur mes différents ordinateurs:

  1. La configuration d’openbox
  2. La configuration d’emacs
  3. La configuration de terminator
  4. La configuration de zsh

Initialisation avec vcsh

J’ai au préalable créé sur gitlab et github un dépôt par configurations. Ensuite j’ai suivi la documentation de vcsh pour créer un par un par les dépôts. Exemple avec openbox :

#initialisation du dépôt
vcsh init openbox
#création du gitignore pour éviter d'avoir des erreures sur les dossiers non #suivi
vcsh write-gitignore openbox
#ajout des fichiers
vcsh openbox add ~/.config/openbox/rc.xml ~/.config/openbox/menu.xml ~/.config/openbox/autostart ~/.gitignore/openbox
vcsh commit -am 'intial commit'
vcsh openbox remot set-url --add origin git@github.com:colmaris/dotfiles-openbox.git

J’ai reproduit cette manipulation pour chacun des dépôts à initialiser. Petite astuce si le dépôt git existe déjà, comme ce fut le cas pour moi avec ma configuration d’emacs, dont je ne voulais pas perdre l’historique. Il m’a suffi de créer le chemin vers les fichiers de configurations dans le dépôts git avant la migration vers vcsh.

Pour emacs il faut de l’on retrouve le chemin exact vers le fichier init.el.

cd ~/.emacs
mkdir .emacs/
git mv init.el .emacs
git add .emacs
git commit -am 'moving file init.el'
git push

Ensuite j’ai supprimé totalement le dossier .emacs de mon $HOME, pour le cloner avec vcsh.

vcsh clone git@git.olivierdelort.net:colmaris/emacs emacs

Ainsi j’ai put garder l’historique de mon dépôt emacs, et je peux maintenant l’utiliser avec vcsh sans problème.

Configuration de mr

Une fois tous mes dépôts de configuration initialiser avec vcsh, je suis passé à la configuration de mr dont le but premier, dans mon cas, est de pouvoir pousser mes modifications sur mon gitlab et les sauvegarder sur github. Il n’y a pas très longtemps je n’étais pas pour l’utilisation de github, mais les différents commentaires sur cet article et une récente discussion avec des amis m’a fait changer d’avis. Et comme de toute façon ses dépôts seront public pourquoi ne pas en faire profiter les utilisateurs de github cela pourra être utile à quelqu’un, qui sait.

La configuration de mr se fait via un fichier .mrconfig directement placé dans le $HOME. Voici le mien

# -*- mode: sh -*-

[DEFAULT]

git_gc = git gc "$@"

# * Dotfiles Organisation

# ** Emacs

[$HOME/.config/vcsh/repo.d/emacs.git]

checkout =

vcsh clone git@git.olivierdelort.net:colmaris/emacs.git emacs

vcsh emacs remote set-url --add origin git@github.com:colmaris/dotfiles-emacs.git

# ** Openbox

[$HOME/.config/vcsh/repo.d/openbox.git]

checkout =

vcsh clone git@git.olivierdelort.net:colmaris/dotfiles-openbox.git openbox

vcsh openbox remote set-url --add origin git@github.com:colmaris/dotfiles-openbox.git

# ** Terminator

[$HOME/.config/vcsh/repo.d/terminator.git]

checkout =

vcsh clone git@git.olivierdelort.net:colmaris/terminator-solarized.git terminator

vcsh terminator remote set-url --add origin git@github.com:colmaris/terminator-solarized.git


# ** Zsh

[$HOME/.config/vcsh/repo.d/zsh.git]

checkout =

vcsh clone git@git.olivierdelort.net:colmaris/dotfiles-zsh.git zsh

vcsh zsh remote set-url --add origin git@github.com:colmaris/dotfiles-zsh.git

Petite explication :

# ** Emacs
#ici j'indique ou se trouve la tête du dépôt
[$HOME/.config/vcsh/repo.d/emacs.git]
#ici se trouve les actions à réaliser lors du clonage
checkout =
# je clone à partir de mon gitlab
vcsh clone git@git.olivierdelort.net:colmaris/emacs.git emacs
#je rajoute mon compte github à l'origin de mon dépôt
vcsh emacs remote set-url --add origin git@github.com:colmaris/dotfiles-emacs.git

Lors du clonage des dépôts mr rajoutera l’url de mon compte github à l’origin déjà configurée.

Ce qui me permet de pousser d’un seul coup tous les dépôts sur mon github.

mr push

Déploiement

A partir de maintenant je peux déployer mes configurations sur n’importe quel ordinateur ou git, vcsh et mr sont installés.

Je procède comme suit :

#installation des prérequis
sudo apt-get install git vcsh mr
#configuration de mr
git clone git@git.olivierdelort.net:colmaris/dotfiles-mr.git ~/.mrconfig
#clonage 
mr checkout

Et voilà en quelques minutes j’ai déployé ma configuration et je suis prêt à travailler. S’il m’arrive de faire des modifications je les livre et les pousse directement dans le dépôt concerné. Et sur mes autres ordinateurs il me suffit de faire une mise à jour avec la commande ‘mr update‘ pour qu’elles soient prises en comptent.

mr update
mr update: /home/draconis/.config/vcsh/repo.d/apache-autoindex.git
Already up-to-date.

mr update: /home/draconis/.config/vcsh/repo.d/draconis-install.git
Already up-to-date.

mr update: /home/draconis/.config/vcsh/repo.d/emacs.git
Already up-to-date.

mr update: /home/draconis/.config/vcsh/repo.d/eso-theme.git
Already up-to-date.

mr update: /home/draconis/.config/vcsh/repo.d/motd-colmaris.git
Already up-to-date.

mr update: /home/draconis/.config/vcsh/repo.d/mrconfig.git
Already up-to-date.

mr update: /home/draconis/.config/vcsh/repo.d/mytheme-lightdm.git
Already up-to-date.

mr update: /home/draconis/.config/vcsh/repo.d/openbox.git
Already up-to-date.

mr update: /home/draconis/.config/vcsh/repo.d/terminator.git
Already up-to-date.

mr update: /home/draconis/.config/vcsh/repo.d/zsh.git
Already up-to-date.

mr update: finished (10 ok)

Conclusion

Depuis que j’utilise cette méthode je revis littéralement, je ne me soucis plus de savoir si j’ai ma clef usb à jour et avec moi. Tout est centralisé sur mon gitlab et j’ai mon github en sauvegarde. Je l’ai étendu sur d’autre projet sur lesquels je travaille.

2014-05-16

Création d’un nas maison avec proxmox – Partie 1 La mise en place

Depuis quatre ans toutes mes données locales étaient stockées sur un Nas Synology. J’en étais et j’en suis toujours très content, il faisait son boulot de Nas et le faisait bien.

Mais à force de tous stocker dessus le disque dur commençait à saturer, mes données commençaient à se sentir à l’étroit.

Le défaut principal de ce nas c’est qu’il est mono disque et si je veux m’agrandir il me faut acheter un plus gros disque, ensuite trier, réorganiser, copier mes données de mon ancien disque dur vers le nouveau ou investir dans un autre modèle plus gros, mais ma ministre du budget a rejeté ma requête.

Du coup j’ai commencé à me torturer les méninges afin de trouver une nouvelle configuration pour mon stockage de données, après quelques jours d’intense réflexion la solution m’apparut.

Mon serveur proxmox ! Et oui pourquoi ne pas me monter moi-même mon Nas à partir d’une machine virtuelle? C’est un adage très connu des libristes, “si ça n’existe pas, fais le”.

De quoi vais-je avoir besoin ?

  • Un disque dur en plus de celui dejà en place
  • Faire du partage de dossiers natif, sur Linux(nfs), et sur Windows(cifs)
  • Séparer sur deux disques durs mes données
  • Intégré un serveur ownCloud
  • Accessible depuis tous les ordinateurs de la maison
  • Sécuriser les fichiers avec une gestion des droits

Maintenant au boulot !

1.Création du serveur et installation physique des disques durs

Rien de très compliquer dans cette étape dans un premier temps je créé la machine virtuelle qui me servira de Nas, ensuite je branche les deux disques durs. Ses disques durs font 2 To chacun et seront répartis comme suit :

  • Premier disque : sdb -> Mes films, Vidéos, photos
  • Second disque dur: sdc -> Mes seriesTv, Documents, ma Musique

Je ne vais pas rentrer dans les détails de la création d’une VM Proxmox il y a plein d’informations sur internet, je vais seulement donner les spécifications techniques de celle-ci:

Processeur : 1

Ram : Une plage entre 512mo et 1go, au repos elle consommera au minimum 512, et en cas de grosse activitée elle pourra monter jusqu’à 1go de consommation mémoire.

Disque système : 32 go

Une carte réseau

Le tout avec une Debian Wheezy comme système d’exploitation.

2.Ajout des disque durs dans la VM

Passons maintenant dans le vif du sujet. Mes disques durs en place j’ai dû préparer le deuxième disque neuf avant son intégration dans la VM.

#Partionnage avec cfdisk
cfdisk /dev/sdc
#puis formatage en ext4
mkfs.ext4 /dev/sdc

Ensuite intégration dans la vm, depuis la console proxmox :

# pour le disque sdb branché sur le port sata 1
qm set <Id de la VM> -sata1 /dev/sdb
# pour le disque sdc branché sur le port sata 2
qm set <Id de la VM> -sata2 /dev/sdc

A présent les deux durs sont montés et fonctionnel dans la VM, comme le montre la figure suivante :

montage

3.Installation des différents services

A cette étape pas trop le choix des logiciels :

Partage de fichiers : Nfs pour Linux, Samba pour Windows

apt-get install nfs-common nfs-kernel-server

Acces distant : Ssh

apt-get install openssh-server

Pour plus de confort j’installe ma clef publique sur le serveur SSH depuis mon ordianteur

ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.150

Serveur ownCloud: Utilisation du dépôt développeur

echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud.list 
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key
apt-key add - < Release.key 
apt-get update
apt-get install owncloud

Rsync pour les sauvegardes

apt-get install rsync

Il ne me reste plus qu’à copier les données sur chacun des disques, avant de configurer le tout. Vu le travail de rédaction, j’ai décidé de diviser ce sujet en plusieurs parties. Dans la prochaine j’aborderai le partage de fichiers.

2014-05-14

Ménage de printemps

Quatre mois d’inactivité sur mon blog, par faute de temps, pris par mes projets informatiques, j’ai décidé de faire peau neuve et de faire évoluer le blog. Le faire évoluer en bien j’espère, l’avenir me le dira.

Une évolution graphique

Le but est de moderniser le design du blog. Marre des couleurs sombres et ternes, place à la couleur avec parcimonie. Le flash bling bing pas pour moi. Je voulais un thème qui soi actuel, simple, sans fioriture pour cibler directement le contenu. Ce nouveau thème se concentra sur le contenu principal du blog et rien d’autre, fini les widget à rallonge.

Une évolution rédactionelle

La seconde évolution sera faites principalement sur les billets et les sujets abordés. Ce blog sera un peu plus personnel, je ferai toujours des minis tutos avec des cas concrets, mais je traiterai de sujets moins technique, ou tout simplement mon côté geek. Mais une chose  ne changera pas, je resterai le plus possible fidèle à ma vision de l’informatique, libre, éthique et abordable par tous.

Il me reste encore quelques petites retouches à faire par-ci par là, mais je vous souhaite la bienvenue dans mon nouveau chez moi :)

Changement de FAI pour B&amp;You

Le FAI est le composant le plus important pour quelqu’un qui souhaite faire de l’auto-hébergement, mais nous ne sommes pas tous égaux sur ce point là. Pour l’instant je n’ai pas le droit à la fibre alors que la ville voisine de la mienne y a accès J’ai été client Free pendant plus de six ans et bien que j’ai été plutôt satisfait mais dernièrement divers points m’ont fatigués au plus haut point :

  • Le peering vers des sites US (Youtube, AppStore, …)
  • Le débit disponible en soirée,
  • Le prix d’abonnement de 36€ et l’option TV à 1€.

Finalement, je me suis décidé à quitter Free au début de l’année mais je ne savais pas pour qui car mine de rien lorsque l’on fait de l’auto-hébergement ce n’est pas un choix facile à faire…

L’herbe est-elle plus verte ailleurs ?

Le choix d’un nouveau FAI n’est pas un choix à faire à la légère parce que l’on sait ce que l’on quitte mais on ne peux malheureusement pas savoir à l’avance ce que l’on aura une fois que le changement effectué. Après avoir épluché internet, lu des avis sur différentes offres, changé d’avis une bonne dizaine de fois (peut être plus, j’ai arreté de compter à dix), demandé conseil à mes connaissances j’ai été capable de prendre une décision début avril.

Tout d’abord, il fallait lister les besoins que j’avais :

  • IP-fixe, le plus le plus important (exit Orange et SFR),
  • Avoir le port 25 ouvert (pour les mails sortants).

En gros, il ne restait plus grand monde pour choisir mon FAI : Free, Bouygues Telecom, OVH, FDN. Ma compagne travaillant en télé-travail à 40%, il fallait justifier auprès de son employeur «du sérieux» de notre connection à internet, j’ai donc été obligé d’enlever le FDN et OVH de la liste (oui cela peut paraître bizarre mais je n’ai pas eu trop le choix), ce qui a fait que j’ai choisi Bouygues Telecom plutôt par défaut que par choix personnel.

Pour avoir un récapitulatif très complet sur les caractéristiques des FAI et de l’auto-hébergement, je vous conseille l’excellent wiki.auto-hebergement.fr et en particulier ce post qui traite également du choix de son FAI, une lecture très intéressante.

L’offre de Bouygues Telecom

A la base, je ne voulait plus payer pour des services que je n’utilisait pas (la TV), je me suis tourné vers des offres «moins haut de gamme» car Bouygues Telecom ne propose pas d’offre sans TV, la seule alternative étant B&You. J’ai profité d’une opération de promotion pour ne pas payer la box 35€ (ce qui est du vol selon moi) mais seulement 1€ ce qui est plus proche de sa valeur réelle.

L’inscription se faisant entièrement par internet, les choses devraient aller vite, nous allons voir cela.

Chronologie de l’activation B&You

Ma plus grande crainte était de devoir survivre sans le net alors puisque l’on fait du télé-travail, c’est clairement la grosse inconnue. Finalement le changement c’est très bien passé puisque internet a été coupé environ 1 journée (ce qui a impacté ma compagne une demi-journée de télé-travail) et qu’il a fallu moins de 10 jours entre la souscription et l’activation de la ligne B&You :

  • 09/04/2014 : Souscription à B&You et commande de la BBox
  • 15/04/2014 : Réception de la BBox
  • 17/04/2014 vers 12h : Coupure de ma ligne Free
  • 18/04/2014 vers 19h : La ligne B&You fonctionne

Finalement, le changement est passé comme une lettre à la poste, mais j’avoue que la communication de B&You sur l’activation de la ligne est entièrement à revoir. J’attend toujours le SMS qui est censé m’informer de brancher ma box !!!

Du côté de ma ligne de téléphone fixe, le changement c’est passé parfaitement et c’est agréable de pouvoir conserver son numéro de fixe.

La box B&You

Quand on vient de la Freebox, n’importe quel box d’un concurrent va paraitre old-school, dépassée techniquement, ringarde. Avec la box obligatoire de B&You se sera deux fois plus vrai, l’interface, les fonctionnalités sont vraiment très limitée et l’interface ressemble vraiment à la livebox qu’il y avait chez mes parents en 2004. D’un point de vue technique, c’est aussi vrai : Wifi G, 4 ports ethernet 100Mbps. Je capte toujours le wifi dans tout mon appartement mais plus aussi bien qu’avant.

Du côté de la configuration, l’administration est vraiment une horreur à utiliser, à cause de la lenteur de navigation, des bugs rencontrés, je ne me risque plus à toucher à quoi que ce soit de peur de plantages. Bref, j’ai hâte de pouvoir tester avec une autre box, cela semble être possible mais je vais attendre de tomber sur un poste sur le sujet car je ne veux pas perdre ma ligne de téléphone fixe.

Bref, ce n’est clairement pas le meilleur matériel que j’ai rencontré, je m’y attendais donc de ce côté là je n’ai pas été déçu.

Conclusion

Pour l’instant je dirais que je suis satisfait de ce changement de FAI, ma connexion est stable à n’importe quelle heure de la journée et je fais environ 20€ d’économies sur ma facture internet mensuelle (ce qui n’est pas négligeable). Les gros points positifs de ce changement sont :

  • La rapidité de la migration de la ligne ADSL
  • Portabilité de mon numéro fixe
  • Le prix de la box
  • Internet à n’importe quelle heure

Et les plus gros points noirs sont :

  • L’interface de la box
  • Les débits de la box (ethernet & Wifi)
  • Mon débit est moins bon qu’avant (700ko/s contre 500ko/s)

Pour ce qui est de la SheevaBoite, elle a été indisponible environ 32h, ce qui est quand même beaucoup mais il a fallu le temps de configurer le routage de la box

Pour l’instant, je recommande l’offre B&You même si j’ai perdu mon reverseDNS, ce n’est pas la mort, mais par rapport aux objectifs initiaux, je rappelle une meilleur connexion internet en soirée et payer moins cher, je m’y retrouve parfaitement.

En tout cas, ce changement de FAI qui me paraissait compliqué c’est en fait très bien passé et il n’est pas impossible que j’ai à le refaire prochainement… :D

Note : Cet article était à l’origine plus complet et devait être publié le 21 avril, mais les Dieux de l’informatique en ont décidés autrement.

2014-05-13

Un terminal aux petits oignons

Après des années d’utilisation très basique je me suis enfin penché sur l’amélioration de mon terminal. Au départ il me servait uniquement pour les mises à jour système, au fil du temps son utilisation s’est imposée d’elle-même a tel point qu’il est en permanence ouvert dans le coin d’un de mes bureaux virtuels.

Ne sachant pas où aller et de quoi j’avais besoin, j’ai constitué un mini cahier des charges comme ligne directrice.

J’ai principalement besoin :

  • Un thème graphique reposant pour le yeux.
  • La surbrillance des commandes tapées (m’indiquer quand j’ai fait une faute de frappe sur une commande).
  • D’un seul coup d’oeil connaître la branche git sur laquelle je travaille, et si des changements sont à “commiter”.
  • Dans une même fenêtre travailler sur plusieurs terminaux, avec par exemple des sessions ssh différentes.
  • Un Prompt succin avec les infos essentielles

Tout est prêt, let’s go !

1. Le choix de l’application

Mon choix c’est porté sur Terminator, rapide, léger, paramétrable très simplement (un seul fichier de config). Je peux passer d’un seul terminal à 10 avec une seule séquence de touche, et je peux tous les piloté à partir d’un seul prompt.

Pour agrémenter le tout un joli thème inspiré du thème solarized de Ethan Schoonover.

Pour ceux qui sont intéressés voici Ma configuration ->

2. Le choix du Shell

Pour résumé le shell est la partie centrale du terminal, l’interpréteur de commandes dans la langue de Molière, il permet d’accéder aux fonctionnalités internes du système d’exploitation. Le plus connu étant le bash et ses dérivés, j’ai préféré  zsh.

Installation :

sudo apt-get install zsh
chsh -s /bin/zsh utilisateur

Après le redémarrage du terminal zsh est opérationnel ! Tout le nécessaire de configuration de zsh se trouve dans notre home /home/utilisateur/.zshrc. C’est le coeur de zsh !

Pour simplifier grandement sa configuration je l’utilise avec un petit utilitaire appelé antigen. Ce petit utilitaire me permet de mieux gérer les plugins dont j’ai besoin pour zsh, ainsi que d’autre fonctionnalités que j’ai renseignés dans le zshrc.

En gros lorsque je veux installer et utiliser un plugin (bundle dans antigen) il me suffit de renseigner dans mon zshrc et il fait le reste.  Exemple si je veux utiliser des plugins de oh-my-zsh :

antigen use oh-my-zsh
# * Plugins
antigen bundles <<EOBUNDLES
# Git and github autocompletions and aliases
git
git-extras
# Other
command-not-found
systemd
EOBUNDLES

Antigen va m’installer oh-my-zsh, et activera les plugins que j’ai configurés par la suite.

Pour le prompt j’utilise un thème perso, inspiré du thème  powerline line

Pour ceux qui sont intéressés voici Ma configuration ->

3. En conclusion

Depuis que je me suis penché sur l’amélioration de mon terminal, je suis plus tranquille et moins fatigué dans son utilisation. Mes tâches d’administration souvent pénible et répétitives se font avec une effroyable efficacité. J’arrive maintenant à mettre tous les serveurs à jours en une ligne de commande. Le terminal fait partie de ses petits outils que l’on néglige souvent, car leur puissance est  méconnue.

Et voici le résultat :

terminal_13052014

2014-05-09

Récupérer le flux RSS d’une page Facebook

fb_rss
Exemple avec la page sur les offres d’appartement/colocs sur Paris.

1. On récupère l’ID de la page Facebook.

On peut faire ça simplement avec http://findmyfacebookid.com/ ou manuellement en regardant dans l’url du logo/avatar de la page ex :

https://www.facebook.com/Plan.location.appartement.paris/photos/a.519555864755542.117596.519555808088881/519555868088875/?type=1&source=11

2. Ajouter l’ID à la fin de cette url : http://www.facebook.com/feeds/page.php?format=rss20&id=519555808088881 et voila un flux RSS valide pour agrégateur préféré. (Liferea, Feedex etc…)

Ne me remerciez pas :)

J'aime(1)Ferme-la !(4)

2014-05-08

Ajouter un moteur de recherche à Firefox

Si vous utilisez Mysearch, vous voudriez bien sûr le voir remplacer votre Google par défaut. Pas de soucis avec Firefox.

Allez sur votre instance MySearch favorite (ex : cette page) et paramétrez vos options de recherche (langue, type de recherche). Ensuite :

  • sur Firefox Desktop, ouvrir la liste des moteurs de recherche pour l’ajouter:
    ajouter moteur de recherche firefox

    Documentation Firefox
  • Sur Firefox Mobile, appuyez en maintenant l’appui au niveau de la zone de recherche sur la page de Mysearch, et choisissez « Ajouter un moteur de recherche ».
    Documentation Firefox Mobile
J'aime(6)Ferme-la !(1)

Auto-hébergement : agrégation (bonding) de 2 lignes ADSL avec OpenVPN (1/2)

Ou comment doubler efficacement sa capacité de nuisance d’upload/download afin de conquérir le monde (youpi !).

On t’as reconnu Fantomas ! Ha non, mince, celle là je l’ai déjà faite…

Bon, déjà, je vous le dis tout de suite : l’image ci-dessous n’est pas un fake, même si l’upload peut vous sembler totalement « délirant » au premier abord (voir les explications plus bas).

bonding-adsl-openvpn

Ce test a été réalisé (si vous en voulez d’autres, bande de sceptiques que vous êtes, y’a pas de souci) avec deux lignes ADSL free.fr (mais sans aucune Freebox, na !) agrégées ensemble avec le module « bonding » du noyau Linux, le tout piloté par OpenVPN et quelques règles iptables/iproute2 pas piquées des hannetons.

Le trafic sortant était ensuite routé vers un petit VPS (à pas cher) puis vers un autre VPN (AirVPN, un service génial, plus tard un billet sur ce sujet), ce qui nous a donné cette adresse IP de sortie en… tadaaa… Hollande ! (La sent tu, tralalalalèèèère…)*

*L’ensemble de la rédaction ainsi que toute l’équipe de modération se désolidarise totalement de cette blague lamentable et présentent ses plus plates excuses à tous les VPN amis implantés dans des pays qui sentent gravement le fromage et qui se seraient sentis (sic !) agressés par ce jeu de mot des plus foireux. (Et, s’il vous plait, déconnez pas dans les commentaires, j’ai vraiment pas envie d’avoir le soldat Ryan Valls sur le dos.)

Bref, pour faire simple, l’agrégation de liens ADSL avec OpenVPN, ça marche (et si vous aimez le fromage qui pue pas que des pieds, faites donc un saut en Hollande, ou pas, c’est vous qui voyez).

Mais, comme toujours et avant de se lancer dans l’aventure, il y a quelques petits détails importants à prendre en compte et c’est ce que nous allons voir dans la suite de ce billet.

Un des premiers points importants concernant le bonding avec OpenVPN, bien au delà du débit (et là, « chérie », tu le sens mon gros upload…), c’est que votre FAI (que vous détestez car c’est un collabo, le genre à « vendre du beurre aux allemands » ) ne saura plus tout ce que vous branlez avec vos deux lignes ADSL : normal, une bonne partie du trafic (ou même tout le trafic si vous êtes complètement parano) ne transitera plus en clair.

Donc, gardez bien à l’esprit que vous aurez l’air, à vous tout seul, d’un « Usual suspects » en puissance et pour cause : que du trafic chiffré distribué sur deux lignes ADSL, c’est pas madame Michu au fin fond du Cantal (l’autre pays du fromage…) qui va s’amuser à ça.

Et si, en plus, vous vous amusez à envoyer des mails graveleux avec Thunderbird et PGP, alors là c’est le pompon…

Hé, Ho ! J’suis pas Crésus, ça coûte un bras deux lignes ADSL !

(Totalement) faux.

Si vous vous démerdez un peu, deux lignes ADSL, pour un particulier et en dégroupage total, ça ne coûte pas plus de 40 € TTC / mois (qui veut voir mes anciennes factures ?).

Le plus cher, dans l’histoire, ce sont les frais d’installation de France Télécom pour tirer/ouvrir/activer une seconde ligne (55 €) et, éventuellement, l’achat d’un « vrai » modem/routeur supplémentaire si, comme bibi, vous ne pouvez pas saquer (restons poli) les affreuses « machinbox » (toutes plus moisies les unes que les autres) fournies par les opérateurs.

Mmmmh… Ami auto-hébergé, tu sembles dubitatif, je peux le voir au fond de ton kernel (que tu mets à jour, hein !?).

Bon, ok, soyons précis : la TV via ADSL qui pixelise (ou non), je m’en contrefous comme de l’achat de mon dernier pull (pas plus de 15 € sinon c’est de l’arnaque : un enfant chinois ou indien surexploité sans vergogne 16 heures par jour ne vaut pas plus).

Bref, le tiers-monde se meurt mais souriez en attendant, bande de privilégiés que vous êtes, scrutez tranquillement les offres ADSL « nues » en promo : ce que vous voulez, c’est du « Vrai Nain Ternet™ » et pas l’ensemble de la merde télévisuelle déversée chaque jour sur le PAF.

Je vous le redis encore une fois : avec les « promos » permanentes, deux lignes ADSL (avec IP fixe ou non) chez de gros opérateurs, ça ne vaut pas plus de 40 € / mois.

Toujours pour info, FDN (mais si, vous savez, les trois « guignols » dans un garage qui n’ont strictement aucune légitimité dans le secteur…) estime que la bande passante d’un abonné ADSL coûte 3 € / mois.

Certes, les FAI ont d’autres coûts lié à l’infrastructure, au renouvellement des routeurs hors de prix, au personnel, aux boutiques, à la hotline. Encore que, sur ce dernier point, j’ai un léger doute.

Mais, surtout, ce sont les investissements massifs (et éhontés) dans des saloperies de boitiers certifiés « DPI Inside » qui, à mon avis, plombent leurs bilans (sans parler des dividendes illégitimes mais ça, c’est encore une autre histoire, éhontée elle aussi).

Tout ça pour dire que, je sais pas pour vous, mais perso je m’en contrefous car leurs technos liberticides pour faire du profilage marketing à tout-va, ils peuvent se la… Bref… En tous cas, bien profond (et, si possible, avec du gravier, du goudron et des plumes).

Lire la suite…

2014-05-06

Mysearch version 1.0 et paquet debian

Ça fait un petit moment que je travaille sur mon projet de moteur de recherche anonymisé. Je l’utilise depuis quelques mois et il est maintenant prêt à entrer en production et découvrir le monde !

Je l’ai appelé Mysearch. Il s’agit d’une application qui va faire office de proxy entre vous et les grands moteurs de recherche du web. Ce n’est donc pas un moteur de recherche à proprement car il n’a pas de crawler propre, mais plutôt un intermédiaire anonymisateur, comme DuckDuckGo. Voila à quoi ca ressemble:

mysearch

J’ai mis à disposition mon instance de Mysearch sur https://search.jesuislibre.net si vous voulez tester.

Concrètement, Mysearch va anonymiser vos recherches :

  • en masquant votre IP originelle vis à vis du moteur de recherche
  • en vous proposant une page web propre expurgée de tout moyen de tracking (cookie vous identifiant même si vous n’avez pas de compte, lien unique pour chaque résultat permettant de savoir quel résultat vous avez choisi , scripts obscurs utilisés pour vous traquer, mot-clés de votre de recherche transmis au résultat choisi, enregistrement de votre recherche à votre profil, etc…) dont sont truffés les pages de résultats des moteurs de recherche commerciaux (Google, Bing, Yahoo, etc…)
  • du coup, la page web est bien mois lourde et économise votre bande passante (11ko versus 830ko pour une recherche simple sur Google !)
  • en supprimant les publicités qui squattent la place du premier résultat

L’intérêt par rapport à DuckDuckGo:

  • la pertinence des résultats de Google (DuckDuckGo achète ses résultats à Yandex qui renvoie des résultats pourris sur les requêtes avec plusieurs mots clés)
  • qui peut vérifier ce que fait DuckDuckGo de vos données personnelles? C’est une entreprise américaine, donc soumise aux desiratas de la NSA sans qu’elle puisse communiquer dessus.
  • pas de publicité à la place du premier résultat. Car DuckDuckGo a comme Google, un business model basé sur la publicité (vous ne croyez quand même pas que c’était gratuit hahaha…)

Pour l’instant les moteurs de recherches intégrés à Mysearch sont Google, Google Image, Google Vidéo, Wikipedia et Openstreetmap. On peut choisir la langue dans laquelle on veut les résultats. Le design de la page web est approprié à une utilisation tant sur smartphone que sur grand écran.

Le sources de Mysearch se trouvent sur la forge Codingteam

J’ai créé un paquet Debian pour installer simplement Mysearch chez vous. Mysearch est lancé en tant que service automatiquement au démarrage.Il utilise un utilisateur spécifique « mysearch » pour la sécurité de vos données persos. Vous pouvez arrêter le service en lançant en root : # service mysearch stop

Vous pouvez y accéder à l’adresse http://localhost:60061 (encore un chiffre de plus pour le port et je pouvais écrire GOOGLE en leet speak)

J'aime(22)Ferme-la !(0)

Suivre mon blog sur Facebook

Lorsque l’on découvre Internet, on navigue sur quelques sites. Puis, on a de plus en plus de sites web que l’on trouve intéressants. On les met en favoris et on revient dessus tous les jours. Puis, la quantité de sites web à suivre devient trop grande et ingérable, on ouvre des dizaines d’onglets dans son navigateur, on passe son temps à vérifier si notre site web préféré n’a pas sorti un nouvel article, on ne sait plus comment mettre de coté cet article intéressant pour plus tard.

Les fichiers RSS générés par la plupart des sites web honnêtes permettent de répondre efficacement à cette problématique. J’utilise Liferea et Feedex pour suivre les sites web qui m’intéresse et j’en suis très content.

Malheureusement, le RSS a un défaut : il est difficile de compter les lecteurs, de les traquer et donc de vendre de l’espace publicitaire à des annonceurs. Cela explique que les grands sites web gratuits le décrient. Au mieux, ils proposent un flux RSS avec les 200 premiers caractères de leur articles…

Un autre modèle est préféré par les sites web qui font du business : le flux contrôlé. Là il est possible de savoir qui lit quoi, qui aime quoi, de compter les clics et les vues et donc de monétiser des publicités ciblées qui rapportent. C’est ce que proposent Facebook, Twitter et GooglePlus et tout est fait pour faciliter l’utilisateur à souscrire à leur services.

A priori, moi je m’en fous. Les sites web écrits pour vendre de la pub ont rarement un contenu intéressant sur la durée. Ça tourne vite à la production d’article sans information, bourré de fautes d’orthographe et long à lire. Donc une perte de temps.

Mais Facebook a 26 millions de comptes actifs en France. Ca fait un paquet de gens qui utilisent ce service pour s’abreuver de news et leur demander d’utiliser le RSS après avoir subi tant d’infantilisation ça me parait impossible. Donc si je veux que mon blog atteigne une plus large audience (plus on est de fous, plus on rit), je dois être accessible sur Facebook.

Vous pouvez donc maintenant me suivre sur votre plateforme préférée qui vous trace jusque dans votre lit :

  • Facebook (vous n’aurez que les premières lignes des articles, désolé)
  • Twitter (en 140 caractères, vous espériez quoi?)

J’utilise le plugin Worddress « Add link to facebook » pour remplir ma page Facebook automatiquement. J’ai du livrer un numéro de téléphone à Facebook pour y arriver ! Le contenu des commentaires postés sur Facebook est répliqué automatiquement sur mon blog mais pas l’inverse pour garder ce blog comme point central et ne pas trahir mes lecteurs qui ne voudraient pas voir leur nom et prose cédés à Facebook.

J'aime(3)Ferme-la !(32)

2014-05-03

Fermeture des services web, et vous?

Arthur HOARO a écrit un bon billet sur une question intéressante :  Qu’arrivera-t-il quand le site web que vous utilisez fermera?
Exemples qui me viennent à l’esprit :

  • Google: j’utiliserai le moteur concurrent
  • Facebook : Les données que vous avez données à Facebook changeront de main. Qui rachètera Facebook ? hum hum….
J'aime(23)Ferme-la !(3)

2014-05-01

CAcert retiré de Debian

À la différence de toutes les autres autorités de certification, CAcert est une autorité de certification communautaire qui fournit gratuitement des certificats SSL/TLS.

Ce n’est pas seulement à cause de cette façon de fonctionner, similaire à l’approche de Debian, que Debian a distribué le certificat racine de CAcert depuis 2005, même après que CAcert a retiré sa demande d’être incluse dans le magasin de certifications approuvées de Mozilla en 2007, à cause d’un audit interne en cours.

La discussion de savoir si Debian continuerait à distribuer le certificat racine de CAcert dans son magasin de certifications approuvées est née de la réponse à un bogue signalé en juillet 2013 plaidant pour son retrait. Après avoir débattu le pour et le contre pendant des mois, c’est le 13 mars que Michael Shuler, le responsable du paquet ca-certificates, a finalement rendu public la décision de ne plus diffuser le certificat racine de CAcert dans Debian.

Pour un résumé détaillé du débat, veuillez vous reporter à l’article de LWN sur le sujet.

StartSSL est une autorité de certification , non communautaire, reconnue par la plupart des navigateurs, propose un offre de certificats SSL gratuits. Il n’est pas possible d’avoir de certificat « wildcard » à ce prix mais on peut en créer un pour chaque sous domaine, ce qui, avec le support du SNI dans SSLv3, permet d’héberger plusieurs domaines et sous domaines en HTTPS sur le même serveur.

J'aime(69)Ferme-la !(1)

2014-04-30

Bon anniversaire Koozali Foundation

La fondation Koozali qui a en charge le développement de la SME Server vient de souffler sa première bougie : Bon anniversaire Koozali foundation

La SME Server est une distribution Linux, orientée Serveur, qui peut s’enorgueillir de 15 ans d’expériences et qui vient de releaser la version SME9 beta 4. Comme les bonnes nouvelle arrivent rarement seule, la ‘Release Candidate’  est annoncée pour bientôt.

Une simple histoire de jours, ou de semaines maintenant.

La SME Server est une distribution communautaire, développée par une ‘petite’ équipe expérimentée, où chaque élément a su trouver sa place…vous êtes convié à venir y trouver la votre.

Tous les Talents y sont nécessaires et même celui de beta_fracasseur :)

Je vais devoir décevoir ceux qui pensent que les Logiciels Libres sont gratuits d’efforts en plus d’être gratuits du point de vue financier. Le Logiciel Libre est développé par des Hommes, à nous d’apporter notre pierre à l’édifice pour rendre à la communauté ce qu’elle nous a apporté : Notre Liberté.

Heartbleed est là pour nous rappeler que lorsqu’on réutilise le travail des autres sans le critiquer, sans y participer, sans l’améliorer on arrive à ce résultat…Si j’osai une comparaison avec un champ de blé, la semence provenant du champ ne peut être réutilisée chaque année, soit vous en achetez à la coopérative, soit vous en échangez avec les voisins pour éviter la dégénération.

Bon curieusement  échanger sa semence est interdit en France, mais là on sort du débat pour rentrer dans celui des semences Fermières/Paysannes.

Le libre c’est bon, investissez vous!!!

 

2014-04-29

[Wiki]Sudo, première approche du super utilisateur

Sous linux, par défaut seul l’administrateur (root) a le droit d’effectuer les taches courantes de gestion comme installer des programmes/mises à jour, lancer/arrêter des services, modifier des paramètres noyau en temps réel… Sous Windows, depuis Vista, l’utilisateur n’est plus administrateur par défaut et doit accepter une élévation de privilèges quand il installe un programme (ou d’autres taches « administratives »). Hors, sous « Unix », depuis 1980 existe un programme permettant lui aussi de donner temporairement des droits administrateur à un utilisateur standard. Il aura fallu l’arrivée d’Ubuntu pour voir son utilisation décuplée.

Les avantages sont évidents : il est possible de déléguer le pouvoir quelques minutes, pratique si par exemple un correctif critique doit être déployé, ou relancer un service planté. Ça ne sera pas abordé, mais il est possible aussi de garder une trace des utilisations de sudo. Bref, les cas d’usages sont multiples, et l’on ne va voir que deux cas dans cette introduction : l’élévation complète, qui est celle retenue par Ubuntu, et l’élévation sélective (c’est-à-dire donner uniquement les droits sur certaines commande.

 

Pour la suite de l’article, c’est par là : Sudo, première approche du super utilisateur.

2014-04-23

Dotclear et le spam des commentaires

Le spam des commentaires est malheureusement une chose inévitable lorsque le blog commence à être bien référencé.

  • Les filtres de l'extension « Antispam » de dotclear sont assez efficaces, pour le peu qu'on enregistre suffisamment de mots clés dans le filtre : Bad Words, Liste de termes interdits.

C'est simple, il suffit d'entrer les termes anglais les plus usités, genre : That (80% de positif !) , quartz, hello, you, etc
Le seul inconvénient étant de chopper aussi les commentaires pertinents dont l'auteur aura voulu utiliser un anglicisme.

  • Au départ les spam étaient peu nombreux, pas un problème donc.

Puis de temps en temps un « chinois »[1] passait par ici et écrivait 500 fois le même commentaire toutes les 30 secondes, depuis la même IP.
Facile à bloquer avec une règle IP table du type :

iptables -I INPUT -s xxx.xxx.xxx.xxx -j DROP

Jusque là, ça reste gentillet, les filtres font leurs taf, on trie les faux-positifs, ça se gère tranquillement sans perte de temps (quelques vingtaines par semaines).
Puis ça se corse !

  • Ces mêmes « chinois » reviennent mieux armés, dans le sens où cette fois, après un ban iptables, ils reviennent avec une IP différentes, mais faisant partie de la même plage.

Un simple commande whois sur cette IP donne la plage dédiée au spammeur, et hop, un iptables manuel sur la plage… Oui c'est pas bien, mais ça défoule ^^; D'autant plus que d'autres viennent avec des plages différentes, et avec les contenu de spam et les fausse adresses mail utilisées on se doute que ce sont les mêmes gus.

iptables -I INPUT -p tcp --dport 80 -m iprange --src-range xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx -j DROP

Au bout de quelques ban manuel on finit par avoir la paix… Sauf que !
On se rend alors compte que ces salopiots ont cochés la case mise à disposition par le plugin dotclear bien pratique pour le visiteur humain, subscribeToComments 1.4-alpha1 servant à s'abonner au commentaire pour être prévenu par e-mail d'une réponse à ce commentaire.
Et là, c'est une autre affaire, car on se retrouve avec des tonnes d'abonnements bidons dans la page de gestion du plugin, et presqu'autant de mailer-daemon témoignant de l'échec d'envoi des e-mails de notifications… vu que les spammeurs rempilent derrière leurs propres spam, alors même qu'il se sont vu filtrés par le filtre Antispam et que donc leurs spam ne sont pas publiés.

  • Depuis quelques temps ces « chinois » me laissent tranquille, mais une nouvelle sorte de spammeur à débarqué… Les Zombies !

Vu la nature de ces spams, j'imagine qu'il s'agit de PC Windaube infectés de virus spammeur qui partagent une base de données avec mon IP publique dedans !
En effet, contrairement aux «chinois », ces spams débarquent du monde entier, avec des contenus plus ou moins du même genre, et des adresses e-mail dans un style différent et plus élaborées. Impossible ici de s'amuser à bannir les IP à la main avec dans les 60 spams par jours, ni à chopper les plages IP, car cette fois on est susceptible de réellement bloquer des visiteurs légitimes !
Ho, les filtres Antispam de dotclear font toujours bien le travail, mais il devient pénible de trier à la main les faux-positif et de nettoyer les abonnement aux commentaires… De fait et a regret, j'ai donc dû prendre la décision de désactiver subscribeToComments rendant le suivit des commentaires inexistant pour les visiteurs.
Voyous de publicitaires $#ø%@'&€…



Il est donc temps d'étudier une solution automatique pour bannir ces IP malignes.

Ça m'entrainera à écrire du script… L'idée ici est donc la suivante,

Toutes les 12 heures :

- Pour les 12 dernières heures écoulées, faire une requête sur la base de donnée de dotclear pour lister toutes les adresses IP des commentaires marqués indésirable par l'Antispam.
- Virer les doublons (car oui, ils reviennent, soit dans les minutes, soit les jours suivants)
- Bannir toutes les IP de cette liste avec iptables.
- Écrire un fichier de log horodaté.
- Envoyer le fichier de log par e-mail.

#!/bin/bash
 
###################################################
# BANNIR LES SPAMMEURS des commentaires DOTCLEAR #
# À programmer dans crontab toutes les 12h ################
###################################################
# ——————————— #
# Initilisation des variables #
# ——————————— #
 
login=utilisateur				# Le nom d'utilisateur ayant les droits sur la base de donnée.
password=motdepasse		# Le mot de passe associé.
base=blog					# Le nom de la base de donnée.
table=dc_comment			# La table des commentaires.
champ1=comment_spam_filter	# Le champ des commentaires marqués comme filtrés.
champ2=comment_ip			# Le champ de l'IP.
champ3=comment_dt			# Le champ de la date et heure.
condition=dcFilter% 			# Le filtre pour ne conserver que les lignes dont le champ1 commence par : dcFilter.
depuis=$(date -d "12 hour ago" "+%F %T") # La date moins 12 heures.
requete1="SELECT $champ1,$champ2,$champ3 FROM $base.$table WHERE $champ1 LIKE 'dcFilter%' AND $champ3 BETWEEN '$depuis' AND now()"
 
# ———— #
# Fonctions #
# ———— #
 
bannir () {					# Bannir l'adresse IP contenue dans la variable: ip2.
iptables -I INPUT -s $ip2 -j DROP
}
 
# ————————————————————— #
# Requête MYSQL pour réccupérer les IP à bannir #
# ————————————————————— #
 
# mysql -uutilisateur -pmotdepasse -e "SELECT comment_spam_filter,comment_ip,comment_dt FROM blog.dc_comment WHERE comment_spam_filter LIKE 'dcFilter%' AND comment_dt BETWEEN '2013-02-08 20:01:30' AND now()";
 
mysql -u$login -p$password -e "$requete1" | while read spamfilter ip date		# Lire la requête mysql ligne par ligne et récupérer les valeurs de chaque champs pour les affecter respectivement aux variables: spamfilter ip date.
						do
							if [ "$ip" = "comment_ip" ]; then		# Si la variable: ip, contient le mot: comment_ip, Alors.
								echo "comment_ip" > /dev/null	# L'envoyer au trou noir !
							else								# Sinon,
								echo  "$ip"					# Appeler successivement la valeur de la variable: ip.
							fi
						done | sort -u > /tmp/dc_spam.tmp		# Stocker les ip dans le fichier tmp en supprimant les doublons.
# —————————— #
# Bannir les IP récoltées #
# —————————— #
 
date '+%Y-%m-%d %X' >> /var/log/dc_BannedIP.log			# Écrit la date dans le fichier log: dc_BannedIP.log.
echo -e "\n" >> /var/log/dc_BannedIP.log						# Saute une ligne dans le fichier log: dc_BannedIP.log.
 
if [ -s /tmp/dc_spam.tmp ]; then								# Si le fichier tmp n'est pas vide.
	while read ip2										# Lire le fichier: tmp, ligne par ligne.
	do
		echo "$ip2"                  								# Appeler successivement la valeur de la variable: ip2.
		bannir   	 	                     							# Appeler la fonction: bannir.
	done < /tmp/dc_spam.tmp >> /var/log/dc_BannedIP.log		# Ajouter la liste des IP que l'on vient de bannir dans le fichier log: dc_BannedIP.log
	echo -e "———————————————————" >> /var/log/dc_BannedIP.log	# Écrit une ligne horizontale dans le fichier log: dc_BannedIP.log.
else
	echo "aucune IP à bannir" >> /var/log/dc_BannedIP.log		# Sinon, ne rien faire.
	echo -e "———————————————————" >> /var/log/dc_BannedIP.log	# Écrit une ligne horizontale dans le fichier log: dc_BannedIP.log.
fi
 
# ————————————— #
# Envoie d'un email avec le log #
# ————————————— #
 
mutt -s "IP Bannies pour Dotclear" admin@mondomaine.org -a /var/log/dc_BannedIP.log < /root/scripts/emailmessage.txt

Note

[1] le whois indique des IP depuis la Chine…

2014-04-20

Lister et tuer les processus en cours sous Linux

Pour lister les processus de tous les utilisateurs du système : ps -faux
Pour lister uniquement vos processus : ps -fux

$ ps -fux
 USER  PID  %CPU %MEM VSZ   RSS TTY STAT START TIME COMMAND
 erwan 3377 0.0 0.1 600268  13212  ? Ssl 16:06 0:00 x-session-manager
 erwan 3418 0.0 0.0 10584   336    ? Ss  16:06 0:00 \_ /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
 erwan 3442 0.0 0.2 816644  21384  ? Sl  16:06 0:00 \_ /usr/lib/gnome-settings-daemon/gnome-settings-daemon
 erwan 3520 1.7 2.5 1893352 202408 ? Sl  16:06 1:29 \_ /usr/bin/gnome-shell
 erwan 5067 3.9 3.8 1242492 302140 ? Sl  16:24 2:39 | \_ iceweasel
 erwan 6172 0.0 0.3 906316  25784  ? Sl  17:13 0:00 | \_ nautilus --new-window
 erwan 3572 0.0 0.1 551768  9596   ? SNl 16:06 0:00 \_ /usr/lib/tracker/tracker-miner-fs

C’est beaucoup plus pratique que la commande top car il n’y a pas de limitation de hauteur d’écran.

On y trouve des infos très utiles :

  • l’user qui a lancé le processus
  • la commande complète avec arguments qui a servie à lancer le processus
  • l’arborescence des commandes pour savoir quels sont les processus parents et enfants.
  • la date à laquelle le processus a été lancé et sa durée de vie
  • la charge du CPU
  • le PID, identifiant propre à chaque processus

Pour arrêter les processus qui vous intéressent, récupérez le PID correspondant (ex: 5067) et lancez :

$ kill 5067

.
Si le programme ne se ferme pas assez rapidement, vous pouvez le forcer à s’arrêter immédiatement :

$ kill -9 5067
J'aime(0)Ferme-la !(0)

2014-04-18

Fail2ban : bloquer des IP sur certaines URL

Régulièrement, sur mon serveur apache, je recupère des requêtes sur des urls qui n'existent pas et qui sont visiblement destinées à chercher à brute-forcer une authentification.

Puisque fail2ban est installé sur la machine, on peut l'utiliser afin de bannir les IP de ces bots.

On commence par définir un nouveau filtre dans le fichier /etc/fail2ban/filter.d/apache-customurl.conf :

[Definition]
url = myadmin\/scripts\/setup.php|phpMyAdmin\/scripts\/setup.php|pma\/scripts\/setup.php|wordpress\/wp-admin\/|wp-admin\/|wp-login.php|blog\/wp-login.php|administrator\/index.php

failregex = ^<HOST>.*"(GET|POST).\/(%(url)s).*$
ignoreregex =

Ce filtre est activé dans le fichier de configuration de fail2ban /etc/fail2ban/jail.conf :

[apache-customurl]

enabled  = true
port     = http,https
filter   = apache-customurl
logpath  = /var/log/apache*/*access.log
maxretry = 1 
bantime  = 36000

On peut tester que la regexp est correcte avec la commande :

fail2ban-regex /var/log/apache2/www-access.log /etc/fail2ban/filter.d/apache-customurl.conf

Enfin, on relance le service

# debian
service fail2ban reload 

Lister les connexions entrantes de votre ordinateur

La commande netstat -tape permet de lister les processus qui acceptent des connections entrantes sur votre ordinateur. Facile à se rappeler !
Pour plus d’information, man netstat.

# netstat -tape
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        User       Inode       PID/Program name
tcp        0      0 localhost:60061         *:*                     LISTEN      mysearch   7850        2813/python     
tcp        0      0 *:43173                 *:*                     LISTEN      statd      13393       1844/rpc.statd  
tcp        0      0 *:sunrpc                *:*                     LISTEN      root       13372       1816/rpcbind    
tcp        0      0 *:ssh                   *:*                     LISTEN      root       33422       6097/sshd       
tcp        0      0 *:gdomap                *:*                     LISTEN      root       6788        2253/gdomap     
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN      root       13375       1816/rpcbind    
tcp6       0      0 [::]:32947              [::]:*                  LISTEN      statd      13397       1844/rpc.statd  
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      root       33424       6097/sshd
J'aime(0)Ferme-la !(0)

2014-04-16

Signing party au salon Solutions Linux le 20 mai 2014

En ces temps troublés, il est important de sécuriser nos échanges d'information — en chiffrant — ainsi que la distribution de logiciels — en signant les publications.

À cette fin, le salon Solutions Linux, Libres et Open Source sera l'occasion d'une signing party PGP, le 20 mai 2014 à 18h près du stand Debian France. Cette signing party est ouverte à tous les visiteurs et exposants du salon.

Pour faciliter les échanges d'empreintes de clefs en cas d'affluence, il est possible que nous utilisions une liste officielle de participants selon le protocole de Zimmermann-Sassaman. Pour préparer cela, il est demandé aux participants de me contacter en m'envoyant leur clef publique. Selon la méthode de signing party retenue, je publierai ultérieurement des instructions plus précises.

2014-04-13

Request Policy

« Request Policy » est une extension pour le navigateur web Firefox qui bloque les requêtes inter-domaines.

Le tracking de la vie privée des internautes passe majoritairement par les informations envoyées lors de requetes inter-sites.

Exemple simple: Je visite une page web qui intègre au choix:

  • une vidéo Youtube
  • une police d’écriture évoluée par l’API GoogleFont
  • un bouton j’aime Facebook
  • un script de statistique Google Analytics

Dans chaque cas, une requête est envoyée au service externe. Cette requête contient votre IP, diverses informations sur votre matériel (version du navigateur, OS) l’adresse web de la page que vous consultez, un cookie vous identifiant personnellement (sous couvert de stocker vos préférences) et si la requête mène à un script peut être encore d’autres infos.

Vous pouvez désactiver l’envoi du cookie dans les préférences de Firefox (« ne jamais accepter les cookies tiers ») mais pour le reste, vous êtes la proie du tracking de ces services.

Il est aisé de pour Facebook ou Google de dresser la liste de la grande majorité de sites que vous avez visité aujourd’hui.

Un bon moyen d’empêcher cela est de bloquer les requêtes inutiles vers des sites externes. Ce que fait Request Policy

Vous pouvez bien sûr autoriser au cas par cas les requêtes externes pour afficher les vidéos intégrées, fonts, etc.. quand vous le voulez.

Quand aux webmasters, soyez respectueux de la vie privée de vos lecteurs et réduiser au maximum les requêtes vers les sites externes connus pour avoir le tracking des utilisateurs comme coeur de métier (Disqus, Facebook, Google, etc..)

J'aime(0)Ferme-la !(0)

2014-04-10

Présentation switch manageable D-Link DGS 1210-20

Spéciale dédicace @ tybobab hfr

 

4584

D-Link DGS – 1210 – 20

Voici donc une rapide présentation de ce switch, mais kezako ?
Il s'agit d'un commuteur administrable niveau 2 de la famille DGS 1210 smart+ adapté aux TPE/PME.

Et se place entre les modèles 1100 (Soho) et la 1510 (entreprise), il s'agit d'une évolution de la gamme 1210 smart.

Dans les grandes lignes, voici ce qu'il fait :

  • 16 ports Ethernet Gigabit 10/100/1000 Mbps + 4 emplacements SFP indépendants Gigabit
  • Gestion des ACLs  basée sur l'adresse MAC, l'adresse IP, (ICMP/IGMP/TCP/UDP), l'ID VLAN, la priorité 802.1p ou le DSCP
  • Prise en charge de l'authentification RADIUS 802.1X
  • Filtrage du serveur DHCP
  • Détection d’usurpation ARP
  • Moteur de sauvegarde D-Link Safeguard Engine™ (???)
  • 256 groupes VLAN statiques maximum
  • 4094 ID de VLAN maximum
  • vlan asymétrique, Auto Voice, balisage 802.1q …
  • compatible jumbo frames
  • gestion de la QoS 802.1p (4 files d'attente par port)
  • Contrôle de flux 802.3x
  • Mise en miroir des ports
  • Contrôle de l'envoi massif de messages par diffusion simple/multicast/unicast
  • Agrégation de liens 802.3ad (8 groupes maximum, 8 ports par groupe)
  • Surveillance IGMP (v1/v2)
  • Interface utilisateur Web graphique
  • Utilitaire SmartConsole
  • Interface de ligne de commande via Telnet
  • Supporte la gestion de réseau SNMP
  • gestion de la machine à café via bittorent en smtp grâce à la lib  openssl en 1.0.1g

 

ça fait donc pleins de choses, et j'en connais pas la moitié !
moi je voulais :

  • un chouitch 16 ports giga
  • le 802.3x (LACP)
  • administration web (simple, mais complète)
  • fanless
  • et quelques vlans
  • pas un truc à wattmille euros

et ainsi faire du 802.3ad sur mon nas : agrégation de liens sur HP N40L

Bon j'ai eu un peu plus que ce que je demandais, et je l'ai eu à bon prix sur amazon.de,
par contre, on repassera pour le coté simple de l'administration … WHAT THE HELL !!!!

elle est imbuvable , y a trouzemille options, les traductions sont imparfaites …


dgs-1210-20_1

voici la liste des options :

  DGS-1210-20  
  System  
System Settings  
IPv6 System Settings  
IPv6 Route Settings  
IPv6 Neighbor Settings  
Password  
Port Settings  
DHCP Auto Configuration  
SysLog Host  
Time Profile  
Power Saving  
IEEE802.3az EEE settings  
  VLAN  
802.1Q VLAN  
802.1Q VLAN PVID  
802.1Q Management VLAN  
Voice VLAN  
Voice VLAN Global Settings  
Voice VLAN Port Settings  
Voice Device List  
Auto Surveillance VLAN  
  L2 Functions  
Jumbo Frame  
Port Mirroring  
Loopback Detection  
MAC Address Table  
Static MAC  
Dynamic Forwarding Table  
Spanning Tree  
STP Global Settings  
STP Port Settings  
Link Aggregation  
Port Trunking  
LACP Port Settings  
Multicast  
IGMP Snooping  
Multicast Forwarding  
Multicast Filtering Mode  
SNTP  
Time Settings  
TimeZone Settings  
LLDP  
LLDP Global Settings  
LLDP Port Settings  
802.1 Extension TLV  
802.3 Extension TLV  
LLDP Management Address Settings  
LLDP Management Address Table  
LLDP Local Port Table  
LLDP Remote Port Table  
LLDP Statistics  

  QoS  
Bandwidth Control  
802.1p/DSCP/ToS  
IPv6 Traffic Class Priority Settings  
TCP/UDP Port Priority Settings  
  Security  
Trusted Host  
Port Security  
Traffic Segmentation  
Safeguard Engine  
Storm Control  
ARP Spoofing Prevention  
DHCP Server Screening  
SSL  
Smart Binding  
Smart Binding Settings  
Smart Binding  
White List  
Black List  

  AAA  
802.1X  
802.1X Settings  
  ACL  
ACL Wizard  
Access Profile List  
ACL Finder  
  SNMP  
Trap to SmartConsole  
SNMP  
SNMP Global Settings  
SNMP User  
SNMP Group  
SNMP View  
SNMP Community  
SNMP Host  
SNMP Engine ID  
RMON  
RMON Global Settings  
RMON Statistics  
RMON History  
RMON Alarm  
RMON Event  

  Monitoring  
Port Statistics  
Cable Diagnostics  
System Log

Pour de vrai, ça ressemble à ça :

dgs-1210-20_2

Sexy hein ?

Bon plus sérieusement, une fois que l'on a cherché pendant des heures sélectionné son menu , ça reste assez classique et l'interface est bien plus aérée !

exemple avec les stats des ports :

dgs-1210-20_5

Si on souhaite plus de détails, il suffit de cliquer sur le n° du port :

dgs-1210-20_6

Pas sorcier et efficace, non ?

 

C'est bien beau, mais qu'est ce que je vais pourvoir faire de ça ?
Mon but premier, était de faire de l'agrégation de liens en mode 4 alias le 802.3ad (Petel si tu me lis ^^).

On commence donc par configurer le bonding sur la machine, dans mon cas le Nas :

openmediavault-802.3ad

J'en ai profité pour activer les Jumbo Frames sur le switch, et donc passé le MTU à 9000 sur mon PC et le NAS.

Puis il faut créer le groupe LACP sur le switch :

dgs-1210-20_3

Je modifie également le temps de réponse des interfaces que j'utilise :

dgs-1210-20_7

Je reboot mon NAS (toujours mieux lors de la mise en place de bonding, changement de MTU …)
Et je vérifie son bon fonctionnement :

root@Sheldon:~# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:15:17:91:8b:e8  
          inet adr:192.168.0.250  Bcast:192.168.0.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:9000  Metric:1
          RX packets:1561 errors:0 dropped:133 overruns:0 frame:0
          TX packets:1516 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:252959 (247.0 KiB)  TX bytes:1168444 (1.1 MiB)

eth1      Link encap:Ethernet  HWaddr 00:15:17:91:8b:e8  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:1478 errors:0 dropped:1 overruns:0 frame:0
          TX packets:1416 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:242862 (237.1 KiB)  TX bytes:1151244 (1.0 MiB)
          Interruption:18 Mémoire:fe8e0000-fe900000 

eth2      Link encap:Ethernet  HWaddr 00:15:17:91:8b:e8  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:83 errors:0 dropped:4 overruns:0 frame:0
          TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:10097 (9.8 KiB)  TX bytes:17200 (16.7 KiB)
          Interruption:19 Mémoire:fe880000-fe8a0000 
root@Sheldon:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 200
Down Delay (ms): 200

802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
        Aggregator ID: 1
        Number of ports: 2
        Actor Key: 17
        Partner Key: 2
        Partner Mac Address: d8:fe:e3:2c:fa:50

Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:15:17:91:8b:e9
Aggregator ID: 1
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:15:17:91:8b:e8
Aggregator ID: 1
Slave queue ID: 0

Vient l'heure du test : Copie de deux fichiers différents, sur deux grappes raid différentes et sur deux PC différents et …

Fail ! facepalm

graph

La copie devrait dépasser le giga (et potentiellement atteindre les 2 Gb/s), mais non, puisque mes deux PCs tapent sur la même interface physique du NAS, reste à savoir si c'est ma table ARP qui fous le bronx, ou si c'est ma conf qui est mauvaise sur le switch !

 

la suite au prochain épisode …
(tu parles d'une sortie mystérieuse, le gars sait même pas faire fonctionner un switch …)

 

2014-03-15

Messagerie sécurisée, attention à votre carnet de contact !

Une des questions cruciales à se poser sur une messagerie « sécurisée » est comment sont gérées les méta-données?

Par exemple, il est intéressant pour la NSA et autres états qui surveillent en masse de savoir qui parle à qui et à quelle fréquence. Ça permet aisément de construire des réseau de relations à faible coût.

Regardons maintenant un petit peu comment fonctionnent Textsecure et Telegram .

Pour mettre en relation les utilisateurs, ceux-ci se basent sur le numéro de téléphone.
Chaque utilisateur est identifié par son numéro de téléphone, vérifié par l’envoi d’un SMS sur le terminal lorsque l’on crée son compte de messagerie.Ensuite, lorsque l’on envoie un message à un contact, ça se passe grosso modo comme ça :

  1. on envoie le numéro de téléphone de son correspondant.
  2. le serveur cherche dans sa base d’utilisateurs connectés si il trouve le numéro de téléphone.
  3. le message est transmis au terminal de notre correspondant par la connexion permanente (PUSH) établie entre le terminal de notre correspondant et le serveur.

On comprend bien que déjà la personne qui gère le serveur sait qui parle à qui et à quelle fréquence.

Ensuite, on peut avoir quelques fioritures encore plus pourries :

Par exemple, comment savoir avec quels contacts je peux utiliser mon « application de communication sécurisée » ? En demandant au serveur, pour chacun des numéros de mon carnet de contact, s’il correspond à utilisateur enregistré. Bingo, vous venez d’envoyer la totalité des numéros de votre carnet de contact.

Ce qui est encore plus rigolo, c’est que même si vous ne l’avez pas fait mais que vos contacts ont envoyé leur carnet de contacts, par recoupement, le serveur peut reconstruire le votre. La preuve flagrante, c’est quand vous créez un compte avec un carnet d’adresse vide, mais qu’automatiquement, le serveur trouve vos amis (Ex: facebook, linkedin, etc…)

Pour moi, le design de base de ces applications rendent impossible la protection des métadonnées des échanges sauf si l’on a confiance dans le serveur. Croyez-vous encore au « Don’t be evil »?

Une solution serait :

  1. Utiliser un identifiant ne permettant pas de remonter facilement à l’identité réelle de l’utilisateur (ex : un numéro aléatoire)
  2. Ne pas laisser le serveur connaître qui envoie le message (ex: le message ne contient que l’identifiant du destinataire en clair, le message envoyé par l’utilisateur émetteur passe par plusieurs relais avant d’arriver au serveur. On peut ainsi dire que le message est envoyé de manière anonyme. L »identité de l’émetteur est à l’intérieur du message chiffré que seul le destinataire peut déchiffrer)
J'aime(0)Ferme-la !(0)

2014-03-14

Scout Realtime, "htop" dans le browser

Scout Realtime est une application ruby qui permet d’afficher des informations de monitoring de votre serveur. C’est super simple à installer puisque c’est une gem, du coup vous aurez tout de même besoin davoir ruby installé en version 1.9.3 (où supérieur) mais c’est tout !

Vous aurez un accès rapide aux statistiques de votre serveur : usage du CPU, consommation mémoire, utilisation des disques, bande passante réseau et la liste des processus les plus gourmands.

Capture de Scout Realtime

Le projet est dispo sur Github, il a moins de 6 mois mais le développement est assez actif en ce moment, ce qui laisse espérer de nouvelles fonctionnalités (instance privée, optimisations des performances).

Bref, un petit outil parfait pour monitorer simplement les performances de votre serveur.

2014-03-13

Internet par et pour les collectivités (4)

Eglise de Serbonnes

Eglise de Serbonnes / Installation hertzienne

Vous débarquez ? Je vous invite à commencer votre lecture par le début de cette série ou, si vous êtes plus intéressés par la technique, par cette autre série d’articles.

Dans le dernier épisode, je vous ai vendu du rêve en parlant de très haut débit qui crée de l’emploi. Vous vous en doutez, c’est pas simple comme bonjour, mais pas loin.

Si vous avez tout bien suivi, vous savez qu’on peut emmener du 100Mbps un peu partout pour un prix avoisinant les 2000 € par mois. Inabordable pour un particulier ou une PME, mais beaucoup moins pour une collectivité (qu’elle soit publique ou privée). Reste que tout le monde n’est bien souvent pas agglutiné dans un même lieu et qu’il faut donc transporter cette connexions à différents endroits pour pouvoir toucher toutes les personnes intéressées.

Dans une vision cible, ce transport devrait être en fibre optique : fiable, durable, permet la montée quasi illimitée du débit, etc. Mais en attendant d’avoir les finances pour le faire, les ondes sont une bonne solution de repli. Dans le fond il n’est en plus pas plus compliqué de changer une antenne accrochée à un toit que de réparer une fibre cassée par une pelleteuse.

Exemple d’une zone industrielle avec dix entreprises :

Sans mutualisation des moyens de connexion :

  • Chacune des 10 entreprises se débrouille et paye 1000 euro par mois pour avoir 10Mbps.
  • Budget total : 50.000 € d’installation et 10.000 € mensuel pour un débit de 10Mbps chacun

Avec mutualisation :

  • dix entreprises payent 2500 € d’installation et, collectivement, 2000 euro par mois pour avoir 100Mbps
  • soit un prix par entreprise passant de 1000 à 200 euro pour un débit nominal identique
  • ajoutez 300 euro de plus par entreprise, vous pouvez payer une personne compétente à mi temps  pour s’occuper de monter le réseau et de s’en occuper à long terme et il vous reste un reliquat pour payer un contrat de maintenance 24×7 pour les urgences
  • vous avez 10 entreprises qui bénéficient de 100Mbps avec 10Mbps garantis pour leur usage propre pour deux fois moins cher , vous avez crée un demi ETP et vous favorisez la cohésion de la zone

Cas d’une communauté de communes :

Sans mutualisation :

  • Chaque entité prends une ou deux lignes ADSL, payant chaque fois 40 à 70 €.
  • Il y a 50 lieux desservis, mairies, écoles, salles diverses, etc.
  • Budget total : 3500 € mensuel pour un débit variant de rien à 20Mbps

Avec mutualisation :

  • une connexion à 100Mbps pour 2000 euro par mois est souscrite pour l’ensemble de la collectivité
  • un réseau est construit pour desservir la totalité des 50 sites de la communauté de commune en hertzien (~25000 €)
  • le débit disponible est de 100Mbps, partagé entre tous
  • l’ensemble des sites sont interconnectés, permettant l’échange rapide de fichiers, les sauvegardes, l’impression distante, etc.
  • 500 € par mois servent à rembourser l’emprunt court effectué pour construire le réseau
  • 1000 € mensuel ont été dégagés pour permettre de payer un mi temps de technicien informatique pour entretenir le réseau et assister la collectivité avec tous ses problèmes courants

Et les autres ?

La même solution de mutualisation peut être utilisée pour les particuliers. On peut même mixer l’ensemble de ces solutions pour réduire encore les coûts, les particuliers utilisant massivement le réseau le soir, la nuit et le weekend et les entreprises et collectivités le reste du temps.

On peut même imaginer que ce type de réseau soit ouvert aux initiatives associatives ou commerciales qui en feront usage pour ce que bon leur semble.

Ou est l’arnaque ?

Vous vous en rendez bien compte, il y a une entourloupe, et même plusieurs :

  • pas d’opérateur commercial sur lequel on peut râler quand ça ne marche pas.
  • pas de services fashion type TV HD ou téléphonie illimitée, mais est-ce vraiment une priorité pour les collectivités et les entreprises ? Je ne penses pas. Et j’entends même de plus en plus de particuliers me dire qu’ils préfèrent le replay sur internet.
  • et surtout pas de garanties assurées par un tiers, il faudra tout se taper soi même.

Mais tout ceci n’est pas hors de porté, il va juste falloir travailler un peu et avancer.

Ces méthodes ne sont pas sorties d’un chapeau magique. Elles sont employées avec succès, tant par le publique que par le privé ou la sphère associative (mairie de Dammarie les Lys, fédération FDN, Numéo, associations Tétaneutral et Pclight …) et elles ne sont pas exclusive d’autres déploiement et d’une avancée vers la cible fibre optique.

Il faut se souvenir que la mutualisation est à la base même d’internet et que sous tous leurs beaux discours, les grands opérateurs passent leur temps à l’employer. Elle n’est simplement jamais arrivée jusqu’à l’utilisateur final pour de simples questions financières : il est plus intéressant, pour le privé, de vendre un second accès au voisin plutôt que d’expliquer à son client existant comment il peut partager.

L’évolution logique de ce genre de solution est un fibrage de proche en proche, en fonction des opportunités créées par d’autres travaux d’aménagement, des disponibilité budgétaires, des consommations constatées, des manifestation d’intentions d’investissement de la part d’opérateurs, etc.

Évidemment, sur le papier, c’est moins joli qu’un beau réseau départemental ou régional homogène chapeauté par un délégataire privé qui s’occupera de tout contre un gros chèque. Mais ce réseau là, d’autres l’ont fait, et ils se sont presque tous immanquablement pris un mur car investir des millions sur la foi d’un consultant qui a l’air très sur que sa carte de déploiement est la bonne sans avoir aucune vision du besoin réel est une hérésie. Tatie Jacqueline est peut être très contente de ses 512Kbps.

Évidemment, pour faire ce premier petit pas, il faut admettre que le wifi est un mode de transport comme un autre (on peut s’aider des pigeons voyageurs pour ça) et envisager une solution temporaire assez éloignée d’Orange et de son triple play téléphone illimité télé HD, mais mon petit doigt m’a dis que les personnes qui, aujourd’hui, n’ont pas de débit sur leur connexion Internet ont déjà la télé par la TNT ou le satellite et probablement également un téléphone mobile avec, au besoin, des forfaits contenant les appels illimités. On pourra donc aisément se satisfaire, au moins temporairement, d’un accès à internet et rien d’autre.

Mais à défaut de beau réseau de grande envergure et d’offres multiplay, au moins, avec un petit début modeste comme celui ci :

  • Nous aurions une réponse à apporter aux personnes qui quittent nos territoires pour aller s’entasser en Ile de France pour vivre ou travailler.
  • Nous aurions une solution à investissement ultra réduit qui n’hypothéquera en rien les possibilités futures d’investissements plus lourds et qui permettra de constater sur pièce les besoin en débit qu’on ne peut pas deviner autrement.
  • Nous favoriserions l’implantation d’entreprises existantes ou de nouvelles, y compris dans les formes d’entrepreneuriat basées sur le partage et la co-construction et nous créerions de l’emploi.

Et surtout … nous pourrions envisager demain plus sereinement.

Il est donc grandement temps que les clivages et intérêts privés soient mis de coté, au moins sur cette question d’aménagement numérique, pour que nous puissions avancer.

Je suis à disposition de qui veut pour discuter de tout ça.

2014-03-12

Dossier partagé entre utilisateurs sous Linux

La problématique du jour est de faire un répertoire partagé entre les utilisateurs d’un même ordinateur sous linux.

Permissions Unix, la mauvaise solution

Les permissions Unix sont très performants pour restreindre les accès mais rendent la création d’un répertoire partagé impossible en pratique.

La solution classique serait de créer un groupe qui regroupe les utilisateurs et de faire en sorte que tous les fichiers partagés appartiennent à ce groupe. Ca fonctionne en théorie, mais dans la pratique, les utilisateurs créent/modifient/copient  des fichiers sans vouloir mettre à jour les permission groupes. Et seul le propriétaire du fichier peut modifier la permission de groupe du fichier, ce qui rend la chose ingérable.

Le SGID est également une fausse bonne idée pour propager les droits aux fichiers créés car il ne se propage pas aux fichiers copiés par l’utilisateur vers le dossier partagé.

ACL

La solution élégante et performante passe par les ACL ou Access Control List. Elle permet un contrôle bien plus fin et explicite.

Pour avoir accès aux droits ACL vous devez avoir ajouté l’option à votre /etc/fstab .
Ex :

/dev/hda6 /home ext3 options1,option2,option3,acl 0 0

Une fois fait, remontez le point de montage.

# mount -o remount,acl /home

Assignation des droits ACL

On crée un dossier en root /home/dossier_partage. Personne peut y accéder à part root. Jusqu’ici rien de spécial.

# cd /home
# mkdir dossier_partage
# chmod 770 dossier_partage

On crée un groupe « partage » et on ajoute les utilisateurs à ce groupe.

# addgroup partage
# usermod -a -G partage bob
# usermod -a -G partage alice

On ajoute des droits étendus pour que les membres du groupe « partage » puissent tout faire dans ce dossier. La deuxième ligne fait en sorte que les fichiers nouvellement créés héritent aussi de cette règle ACL.

# setfacl -Rm g:partage:rwX dossier_partage
# setfacl -Rm d:g:partage:rwX dossier_partage

On peut vérifier les droits finaux ainsi :

$ getfacl dossier_partage/

# file: dossier_partage/
# owner: root
# group: root
user::rwx
group::rwx
group:partage:rwx
mask::rwx
other::—
default:user::rwx
default:group::rwx
default:group:partage:rwx
default:mask::rwx
default:other::—

Astuce sécurité

Par défaut, le /home/user des utilisateurs n’est pas privé sous Debian ! Si bien que Alice peut lire les fichier dans /home/bob .

Je vous recommande la lecture de ce document sur comment sécuriser Debian, surtout ces 2 points

  • 4.11.13.1 Limiter l’accès aux informations d’autres utilisateurs
  • 4.11.12 Positionner des umasks aux utilisateurs

Le plus important : Pour tous vos utilisateurs existants, assurez que le dossier home bloque bien l’accès aux autres utilisateurs :

# chmod 750 /home/bob

Ensuite, vous pouvez faire en sorte que soit créé automatiquement comme ça quand vous créez un utilisateur:

# dpkg-reconfigure adduser

et choississez Non

Vous pouvez également faire en sorte que les utilisateurs créént par défaut des fichiers que seuls eux peuvent voir :

# echo session optional pam_umask.so umask=027 >> /etc/pam.d/common-session

Dans /etc/login.defs, changez la valeur à UMASK 027

Pour vérifier les droits de l’utilisateur courant :

$ umask

J'aime(0)Ferme-la !(0)

Internet par et pour les collectivités (3)

Crédit photo : DaveOnFlickr

Crédit photo : DaveOnFlickr

Vous débarquez ? Je vous invite à commencer votre lecture par le début de cette série ou, si vous êtes plus intéressés par la technique, par cette autre série d’articles.

Il était donc question de se prendre en main.

Il ne vous viendrait probablement jamais à l’idée de construire un réseau d’assainissement sans installation de décantation, un réseau d’eau potable sans source d’eau ou une déchetterie sans bennes ni moyen d’évacuer et de traiter les déchets. C’est pareil pour internet. Sans connexion avec l’extérieur, votre réseau ne sert à rien.

Nous avons pris l’habitude de considérer que cette interconnexion avec le reste du monde se doit de n’être géré que par le privé. Peur ? Fainéantise ? Intérêts personnels ? Je ne sais … Mais il est temps que cela change dans certains endroits si nous voulons y avoir un avenir.

Qu’on laisse faire le privé là ou il a manifesté une intention d’investir et s’y est engagé dans des délais réalistes, j’y suis tout à fait favorable. Par contre, sans que ce ne soit nécessairement le cas de tous les élus, se cacher derrière la grandiloquence de discours politiques pour attisant les clivages, ne rien faire ou bien arranger ses petits copains, beaucoup moins.

Les grands opérateurs fibreront le pays dans sa totalité. C’est certain. Dans 20 ou 30 ans peut être. D’ici là, nous avons les ressources et les compétences pour essayer de nous tirer nous même d’affaire, il manque juste un peu de cohésion et de volonté politique.

L’accès aux moyens de communication doit être un droit, comme l’accès à l’eau, comme l’accès à l’électricité. Pourquoi continuer à faciliter la vie d’entreprises privées largement bénéficiaires qui ne veulent pas avancer un seul euro sans avoir la certitude d’en récupérer dix alors qu’avec ce même argent nous pourrions créer des emplois locaux qui réaliseraient les travaux nécessaires pour que d’autres activités puissent, à leur tour, en créer ?

Avec le temps long qui nous est donné, il est même envisageable de créer des formations qualifiantes dédiées pour assurer le vivier de compétences locales nécessaires.

Petit à petit

Comprenez moi bien, je n’affirme pas qu’il faut absolument mobiliser tout l’argent disponible et endetter nos enfants sur 12 générations pour créer immédiatement un fournisseur d’accès publique là ou le privé ne veut pas aller. Non.

Il n’est pas non plus question de se lancer dans de grands plans départementaux, régionaux ou même nationaux, mais de faire les investissements nécessaires localement pour sortir de l’immobilisme qui nous paralyse et nous tue. Il est nécessaire de créer l’environnement favorable à l’éclosion d’initiatives, quitte à les faire porter par les pouvoirs publiques. Quitte à contrevenir à je ne sais quelle réglementation dictée par un quelconque lobbyiste à Paris ou à Bruxelles et ne pas obtenir je ne sais quelle subvention qui n’aurait de toute façon pas suffit.

Certains disent, à fort juste titre, qu’il est possible pour qui le souhaite d’obtenir la fibre dans un nombre grandissant de nos campagnes. C’est vrai, et cette fibre repose sur le catalogue CELAN d’Orange. Le prix, par contre, fait froid dans le dos à n’importe quelle personne qui tient à peu près les finances de son entreprise : 4 à 5000 euro de frais de mise en service et 800 à 1400 euro par mois pour un débit variant de quelques dizaines de mégabits par seconde à une centaine, tout ceci sans compter la consommation de trafic vers Internet. Lorsque partout ailleurs on entends parler de FTTH 100, voir 200Mbps pour 30 ou 40 euro par mois, ça laisse rêveur d’envisager de payer 50 fois le prix.

L’argument marketting du « service pro » avec des garanties de rétablissement et de qualité de liaison n’es qu’un enfumage savamment orchestré : on trouve des liens à 10 gigabits par secondes pour moins de 400 euro par mois à Paris avec les mêmes garanties, j’en exploite une bonne demi douzaine. Ce ne sont pas les garanties qui coûtent cher mais le lien physique, et il coûte cher car il est peu répandu.

Problème d’œuf et de poule, donc.

Ce que le marketing des grands opérateurs et même de bon nombre de plus petits ne vous dira par contre jamais, c’est que toute connexion à internet peut être mutualisée, de la même façon qu’un réseau d’initiative publique ne se résume qu’à la mutualisation des moyens de la population. C’est à peu près aussi simple que d’ajouter un T sur un tuyau d’eau et c’est ce que font l’ensemble des opérateurs de réseaux : utiliser un seul et même support pour acheminer le trafic de plusieurs utilisateurs finaux.

Il est important de se souvenir, à ce stade, que deux personnes utilisant une connexion à 10Mbps ne veut pas dire que chacun aura 5Mbps, l’usage faisant que la consommation simultané de la ressource débit n’arrive presque jamais. On parlera donc de « 5Mbps garantis et 10Mbps crête » sans pour autant que la garantie en question ne soit une garantie de bout en bout sur toutes les destinations possibles sur internet.

La recette est ensuite toute simple et en plus elle crée de l’emploi pour pas un rond. Je vous en parlerais au prochain article.

Internet par et pour les collectivités (2)

Crédit photo : Ardèche Drôme Numérique

Vous débarquez ? Je vous invite à commencer votre lecture par le début de cette série ou, si vous êtes plus intéressés par la technique, par cette autre série d’articles.

Nous en étions donc restés à évacuer la question de savoir si on achète ou qu’on loue les trous :

Investir

Le réseau déployé par la Nièvre est, dans mon coin de Bourgogne, probablement du fait de sa proximité, souvent cité en exemple : 41,9 millions d’euro d’investissement dont 25,8 à la charge de la collectivité pour un réseau de 600 kilomètres qui a été conçu pour relier entre eux les centraux Orange, les points de distribution Wimax et les zones industrielles.

Nous parlons donc de 43 euro par mètre de réseau prélevés sur les fonds publiques. Si on envisage un investissement sur 30 ans avec un taux à 5%, cela revient donc à environ 23 centimes par mois pour un coût total légèrement inférieur à 50 millions, en contrepartie de quoi, la collectivité est en mesure de louer des fibres aux opérateurs pour un prix variant, d’après les tarifs moyens du marché, entre 50 centimes et 2 euro le mètre linéaire annuel sous forme de contrats longs (IRU) de 15 à 30 ans.

Même à 50 centimes le mètre, il suffit de 6 opérateurs parmis le gros milliers d’opérateurs déclarés en france qui utilisent l’ensemble du réseau pour que l’opération rapporte de l’argent au contribuable.

Encore faut-il que des opérateurs souhaitent venir. Lorsque le réseau « fait doublon », c’est naturellement au moins cher qu’ira d’abord l’opérateur candidat. Il suffit donc de faire moins cher que l’opérateur situé en face, par exemple, 25 centimes. En tout état de cause, le réseau publique devrait pouvoir s’adapter rapidement à la concurrence si elle existe pour ne pas représenter un investissement à vide.

C’est là qu’intervient l’une des nombreuses subtilités des SDTAN (schéma directeurs départementaux qui viennent en amont de la création de ce genre d’initiative). Ils contiennent quasiment tous une petite phrase magique ressemblant à s’y méprendre à « la conception et l’exploitation du réseau doivent être validés les opérateurs d’envergure nationale ». Pour situer le terme, « opérateur d’envergure nationale », c’est Orange, SFR, Free ou Bouygues. Numéricable (3,7 milliards d’euro de capitalisation boursière, excusez du peu) n’a semble-t-il pas eu le droit d’entrer dans le club.

On comprend aisément la justification de la présence de cette petite phrase : Si les gros opérateurs ne valident pas le mode opératoire de déploiement d’un réseau, ils auront toute latitude politique et de très bonnes raisons techniques pour refuser de l’utiliser et l’argent publique aura été dépensé pour rien.

Nous avons donc 4 acteurs ultra dominants qui, d’une part, déploient des infrastructures en propre là ou ça les arrangent, et d’autre part ont carte blanche pour que les réseaux d’initiatives publiques soient conçus selon leur bon vouloir, tant au niveau technique que commercial, là ou ils ne veulent pas investir.

Et on s’étonne encore qu’ils préfèrent continuer à jouer sur leurs propres plate-bandes plutôt que de s’installer sur les réseaux publiques, dont ils sont, d’ailleurs, le plus souvent, délégataires ? Ils se sont simplement arrangés pour que le réseau ne soit pas pertinent pour eux. Pourquoi aller s’embêter à couvrir un département de bouseux et jeter l’argent de la bourse par les fenêtres alors qu’il suffit de faire 2 ou 3 grosses villes pour avoir des actionnaires souriants, qui plus est lorsque la collectivité a fait un chèque qu’on a fait encaisser à ses amis sous traitants pour construire un joli réseau ?

Et tant qu’à faire, pourquoi ne pas en profiter pour s’assurer que la petite concurrence ne pourra rien faire et donc ne se développera pas ? Imposons des barrières à l’entrée, des conditions de commandes minimum absolument délirante et inaccessibles pour les PME et obscurcissions la totalité de la chose, comme ça, tout le monde est content : le politique a tenu sa promesse de faire du très haut débit dans la durée de son mandat, l’investisseur a son dividende, l’opérateur tient son pré carré, et la population on s’en fiche éperdument.

Je vous invite à faire le test : faites-vous passer pour Mr Tartempion, petit opérateur en création souhaitant se déployer sur une DSP ou un RIP dans deux ou trois départements, et constatez par vous même le temps et l’énergie nécessaires pour obtenir ne serait-ce que le catalogue tarifaire censé être publique. Option d’amusement supplémentaire : pour chacune, notez en marge le nom de la maison mère du délégataire.

A toutes fins utiles, le travail de collecte de ces documents et leur publication est en cours depuis plusieurs mois et certains délégataires menacent les auteurs de ce travail de poursuites devant la justice. Pour publication de documents censés être publiques. Vous avez bien lu. Amusant n’est-ce pas ?

Bref, l’investissement est judicieux, mais sa mise en pratique est catastrophique. Heureusement, une infrastructure passive pourra toujours être convenablement utilisée si la politique qui la dirige revient dans le droit chemin.

Prétendre qu’un RIP non utilisé c’est de l’argent jeté par les fenêtres est donc faux. C’est la mauvaise conception technique ou la mauvaise gestion politique qui sont à l’origine de sa non utilisation.

Entretenir ce discours, c’est également tenir le crachoir aux opérateurs qui veulent faire croire à cet état de fait tout en boudant volontairement ces réseaux publics pour être certains que la collectivité ne fera plus un geste, persuadée qu’elle dépenserait encore de l’argent pour rien, et se donner ainsi le temps d’investir au rythme qu’ils souhaitent sans aucun risque de concurrence déplaisante ni de redevance à verser pour utiliser un réseau qui ne seraient pas le leur.

Louer

En face, nous avons la possibilité de louer les infrastructures de génie civil d’Orange pour 30 centimes … Mais dans quel but ? Celui de les relouer ensuite aux opérateurs ? Quelle est la valeur ajoutée plutôt que de laisser les opérateurs se débrouiller entre eux, au besoin en imposant quelques règles de respect du droit de concurrence ? Aucune.

Et même s’il y avait un intérêt, considérer qu’on a la possibilité d’avoir quelque chose pour 30 centimes alors que ce n’est qu’un prix parmi tant d’autres dans le catalogue d’Orange est illusoire (qui est d’ailleurs variable en fonction du type de câble utilisé et de l’endroit ou il se trouve).

Tout petit florilège de tarifs concernant l’utilisation du génie civil d’Orange :

Fourniture du plan du réseau d’une commune : 477 € HT
Bonus si on veut des informations sur l’aérien (par commune) : 156 € HT
Bonus si on veut des informations sur les câbles sur les poteaux (toujours par commune) : 91 € HT

Ah, mais au fait, il faut un logiciel pour exploiter ces infos, on ajoute donc 1630 € de licence. On peut vous former, 5560 € la journée. Et dans notre grande bonté, on peut même vous former pour que vous puissiez vous même entrer les infos du réseau orange qu’on aurait oublié dans le logiciel, ajoutez encore 5340 €.

Si on veut faire quelque chose au niveau du département, on a donc déjà dépensé 350000 euro et on a même pas une seule fibre posée. On va aller regarder combien ça coûte du coté de la chambre zéro des NRA, on va aussi regarder les offres de transport de données sur le réseau national, et puis ..

Et puis on va finir par laisser tomber vu qu’on a pas d’argent.

La fibre c’est trop cher pour vous ? Pas de problème monsieur, on va transformer un SR en NRA MED (nouveau nom des NRA ZO) pour augmenter le débit des 200 abonnés qui sont derrière. Ils passeront de 2 à 10Mbps ! Et Tatie Jacqueline qui passera de 512Kbps par jour de grand vent à 2Mbps, c’est le cadeau bonus !

Coût de l’opération ? 200000€.

Mais raaaaaassurez-vous, ce n’est pas de l’argent jeté par les fenêtres puisqu’on aura déployé de la fibre pour aller jusqu’à ce NRA MED.

Bon, 5km de fibre à 200000 € ça fait 40 € le mètre, soit un peu plus que les 30 centimes du prospectus, mais c’est pas grave hein ?

De toute façon il faudra la changer à terme, cette fibre, puisqu’il n’y a que 12 brins dedans et qu’il en faudra 250 quand elle devra aller jusqu’aux abonnés puisqu’on a décidé de ne faire que 2 NRO dans le département.

Et puis de toute façon ce n’est pas votre problème puisque cette fibre appartient à Orange et que Orange vous la facturera 30 centime par mètre pour l’éternité et plus encore si jamais vous vouliez l’utiliser.

Une petite donnée chiffrée : 1000 euro par abonné final pour passer de 2 à 10Mbps, c’est le double du prix nécessaire pour amener la fibre jusqu’à ces abonnés. Mais ça, bien entendu, Orange ne le dira pas dans son beau discours et préférera vous faire croire que c’est entre 1000 et 2000 euro par abonnés.

Et je ne vous parle pas du fait qu’on a encore vu, contrairement à l’ADSL, aucune concurrence s’installer sur aucun réseau FTTH géré par un opérateur privé en France, tout bêtement parce que ces messieurs ne daignent pas publier une offre.

Fond du problème

Le débat n’est donc pas de savoir s’il faut acheter ou louer. Il se résume donc à savoir s’il faut créer des réseaux publiques en investissant de l’argent et en en gagnant par la suite lorsqu’on le loue aux opérateurs avec le risque que pas ou peu d’opérateurs ne viennent ou bien est-ce qu’il faut laisser les opérateurs construire leur propre réseau au rythme que eux auront décidé pour leur usage exclusif.

En réalité, la problématique est bien plus simple : doit-on attendre que les opérateurs privés daignent vouloir aménager nos territoires de façon convenable ou bien la collectivité se prend-elle en main pour assurer son avenir?

Il semble que pour nos territoires ruraux, le privé ne veuille pas faire l’investissement. Il est donc nécessaire de le faire, mais ce n’est pas suffisant pour avoir du très haut débit au bout pour la bonne et simple raison qu’un réseau, même régional, ne sera pas nécessairement connecté au reste d’Internet et qu’il faudra donc qu’un opérateur fasse le bout de chemin nécessaire pour cette connexion, et il y a fort à parier que cet opérateur sera Orange, SFR, Free ou Bouygues.

Il est donc nécessaire de « se prendre en main » pour proposer une solution valable. C’est l’objet de l’article suivant.

Internet par et pour les collectivités (1)

Crédit photo : WGyuri

En cette période électorale, une petite déclinaison de ma série sur « fabriquer son internet » dédiée aux collectivités.

J’expérimente depuis 18 mois les relations avec les élus dans le cadre du développement de l’activité de Pclight dans mon petit coin de Bourgogne et le moins qu’on puisse dire, c’est qu’on a pas le cul sorti des ronces.

Une très grande partie du texte des articles de la série sont issus d’un document que j’ai écrit en pensant en faire une lettre ouverte à destination de deux élus de mon petit coin de Bourgogne : Nicolas Soret et Guy Bourras, mais à la réflexion je préfère largement que ces propos puissent servir à tous plutôt que d’attiser des rancœurs déjà très tenaces.

Préambule

Les solutions décrites dans cette suite d’article n’ont aucunement pour but de remplacer un Orange, un Free ou un SFR. Il s’agit uniquement de proposer des solutions pragmatique et financièrement réaliste aux collectivités qui souhaitent prendre à bras le corps le problème d’accès et/ou de débit de leur population. Elles ont le double avantage de ne pas hypothéquer les capacités d’investissement de l’argent publique et d’envisager à court terme de créer un ou plusieurs emplois.

Je ne les propose pas en l’air, je suis, comme quelques autres personnes, volontaire pour les mettre en oeuvre, pour peu que ce soit géographiquement accessible et que, pendant le temps que j’y passe, je sois en mesure de nourrir ma famille et payer mes crédits.

Problématique

Cette prose étant destinée à un public un peu différent de celui fréquentant mon blog habituellement, quelques rappels « de base » :

Internet est un réseau de communication qui relie des machines. Les méthodes de communication sont très diverses, il existe même une documentation pour faire marcher internet par pigeons voyageurs. Non, ne riez pas, ça a été testé et validé.

Mais internet, c’est avant tout quelque chose qui relie les Hommes. Sans usages et contenus, ce n’est qu’une coquille vide. Sans réseau, les usages n’ont pas lieux et les contenus ne circulent pas. Un partout, la balle au centre, les deux sont nécessaires et doivent être réfléchis. Entendons nous bien, par « usages & contenus » je ne parle pas que de consulter facebook et youtube. Internet a la particularité souvent occultée de permettre la communication directe entre ses utilisateurs : toute machine reliée au réseau est à la fois réceptrice mais aussi émettrice de contenu. C’est le principe de base du peer2peer tant décrié dans son rôle d’entremetteur dans l’échange de contenus culturel mais qui est en réalité la base technique même qui a présidé à la naissance d’Internet.

L’attention publique se focalise depuis déjà un bon moment sur le débit. Ce n’est pas pour rien : sans débit convenable, les usages sont très limités, les contenus également et il n’y a pas (ou très peu) d’innovation possible. Pour augmenter le débit, il y a tout un tas de solutions, mais la première question à se poser est « qui fait quoi ? ».

Aujourd’hui, pour un territoire, surtout rural, c’est Orange qui fait tout. On aura beau parler de dégroupage, de concurrence ouverte, d’opérateurs alternatifs, le réseau physique implanté dans nos trottoirs et accroché aux poteaux qui bordent nos champs appartient à Orange qui en fait ce qu’il veut, modulo quelques obligations d’ouverture à la concurrence imposées du bout des lèvres par le régulateur. On se consolera sans doute de savoir qu’il reste un peu plus de 25% du capital détenu par la collectivité : au moins, nous n’avons pas (encore) tout perdu.

C’est donc Orange qui transporte les données entre nos habitants et le reste du réseau, au moins pour ce qui concerne les quelques derniers kilomètres.

On trouve ensuite une kyrielle d’acteurs divers et variés : concessionnaires d’autoroutes, voies navigables, réseaux ferrés, entreprises d’électrification, etc. en bref, des gens habitués à la notion de réseau sur la voie publique qui ont tout naturellement investi dans la création de ce nouveau réseau et qui, comme pour tous les autres, gèrent les grands axes relativement simples à rentabiliser et laissent ensuite le soin à la collectivité ou au secteur privé de gérer la desserte finale.

Il existe enfin un dernier étage particulier à Internet qui concerne le transport transfrontalier, transmaritime et spatial des données. C’est l’apanage de grands opérateurs IP dont quasiment aucun n’est français et dont l’activité n’est que peu corrélée aux zones géographiques. Nous n’en ferons donc pas état ici.

En ce qui concerne internet, la donne est un peu différente dans la partie desserte: le réseau n’est pas passif. Pour desservir l’abonné final, il y a besoin, tout le long du parcours, d’équipements coûteux à la fois à l’achat mais aussi à l’entretien. Pour parfaire la situation, ils sont soumis à des pannes beaucoup plus souvent qu’un compteur électrique et requiert un niveau de compétence plus élevé qu’un robinet pour pouvoir fonctionner pleinement.

C’est pourquoi les gestionnaires d’autres types de réseaux, flairant le traquenard, se sont toujours limités aux parties passives du travail : fourreaux vides ou fibres « noires ». Il semble que le débat porte également sur ce sujet concernant les collectivité et puisse se résumer en une phrase : « qui va payer pour creuser ? »

S’en vient immédiatement la question de savoir si on achète les trous ou si on loue les trous. Mais c’est un faux problème dont nous parlerons dans le prochain article.

2014-03-07

Une carte pointant les SME Server

La communauté de la SME Server est mondiale et depuis le trépas de SMOLT nous n’avions plus les moyens de savoir ou se trouvaient les utilisateurs de cette distribution serveur.

Shad Lords nous a concocté une carte qui permet de positionner les installations suivant leur nombre et la version installée (sme7,sme8,sme9). Ne comptez pas y voir apparaître la rue ou vous habitez, un point représente 10 installations. La carte est réactualisée chaque mois.

La carte des SME Server…bonne ballade

 

2014-03-03

[TUTO] Installation d’un serveur OwnCloud sous Debian 7

owncloud-logo

Quand on veut se créer son propre Cloud, la solution OwnCloud nous est souvent présentée. Je vous ai déjà parlé du produit mais celui-ci en version 6 a particulièrement évolué. De façon très positive d’ailleurs. Son installation aussi a évoluée, d’où le présent tuto.

Pour cette documentation, j’utilise OwnCloud 6 sur une Debian 7 stable installée (image netinstall i386) sur une VM. Si vous avez besoin d’aide pour la netinstall, vous pouvez consulter ce tuto, ou celui-ci (en PDF), ou encore demander de l’aide auprès d’un parrain-linux.

A noter que je n’aborde ici que la partie DATA qui moi m’intéresse. OwnCloud gère aussi le CalDav et une multitude d’options qui nécessiteront sans doute une configuration supplémentaire non abordée ici. La doc se veut simple est abordable par les moins initiés mais si je suis sûr que Cyrille trouvera à y redire.

Configuration de la VM :

Pour un fonctionnement optimum de OwnCloud, la machine virtuelle qui gère le serveur est paramétrée comme suit :

  • 2Go de RAM
  • 2 disques dur virtuels (40Go pour le système – 100Go pour la DATA)
  • 2 processeurs virtuels

Installation et configuration de Debian

Après installation classique d’une Debian 7 (en veillant à installer les outils système et serveur SSH pour pouvoir accéder à la machine à distance), j’effectue toutes les mises à jour. Pour configurer ma machine, je m’y connecte en SSH avec le soft Putty.

En terme d’adressage,on pensera à utiliser une adresse ip statique.  Par exemple, pour mon serveur, j’utilise cette configuration (fichier interfaces éditable avec la commande nano /etc/network/interfaces) :

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.235
netmask 255.255.0.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 208.67.222.222

Maintenant, on va installer les dépendances de OwnCloud:

Apt-get install apache2 php5-curl php5-sqlite libapache2-mod-php5

 

Ma VM utilisant 2 disques, je crée la deuxième partition qui hébergera les données users sur ce disque. Tout d’abord, on l’identifie :

fdisk –l

 

Dans mon cas, le disque est /dev/sdb. Il est sans partition, on va donc en créer une :

fdisk /dev/sdb

Commande (m pour l’aide): n

Type de partition :

p   primaire (0 primaire(s), 0 étendue(s), 4 libre(s))

e   étendue

Sélection (p par défaut) : p

Numéro de partition (1-4, par défaut 1): 1

Premier secteur (2048-209715199, par défaut 2048):

Utilisation de la valeur par défaut 2048

Dernier secteur, +secteurs or +taille{K,M,G} (2048-209715199, par défaut 209715199):

Utilisation de la valeur par défaut 209715199

Commande (m pour l’aide): w

La table de partitions a été altérée.

 

La partition créée est maintenant visible avec fdisk –l :

Périphérique Amorce  Début        Fin      Blocs     Id  Système

/dev/sdb1            2048   209715199   104856576   83  Linux

 

Il ne reste plus qu’à la formater :

mkfs.ext3 /dev/sdb1

 

Enfin, on va paramétrer la fstab pour que le disque soit monté au boot :

mkdir /mnt/data

nano /etc/fstab

On rajoute la ligne :

/dev/sdb1       /mnt/data        ext4    errors=remount-ro 0       1

 

Après avoir monté ce disque (mount-a), on y crée un dossier ownclouddata et on lui donne les bons droits :

mkdir /mnt/data/ownclouddata

chown www-data:www-data /mnt/data/ownclouddata

 

Maintenant, on modifie le  fichier sites-avaible/default (nano /etc/apache2/sites-available/default) pour y ajouter :

<Directory /mnt/data/ownclouddata>

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

</Directory>

 

Enfin, on active le  module rewrite de Apache et les sites available:

a2enmod rewrite

a2ensite

Installation de OwnCloud

OwnCloud peut s’installer depuis git ou via un depo, méthode qu’on utilisera ici. On va dans un premier temps ajouter le dépôt OwnCloud puis installer les paquets :

echo ‘deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /’ >> /etc/apt/sources.list.d/owncloud.list

wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key

apt-key add – < Release.key 

apt-get update

apt-get install owncloud

 

Maintenant, on va pouvoir se connecter en http sur son serveur (http://192.168.1.235/owncloud dans notre cas). La WebInstall de OwnCloud peut alors commencer. Dans mon cas, j’ai choisi la facilité et reste sur une base de données SQLite. Il est tout à fait envisageable d’opter pour du MySQL ou Postgre SQL, mais dans ce cas il faudra l’installer sur le serveur et indiquer un compte SQL durant la WebInstall.

On veillera à bien faire pointer son installation OwnCloud sur son dossier owncloudata :

webinstall

Il se peut que comme moi au terme de cette installation, vous ayez une erreur relative au WebDav, elle ne pose aucunement problème pour le bon fonctionnement de OwnCloud, l’erreur renvoie sur le Wiki OwnCloud qui comme le WIKI de 80% des projets open source est particulièrement indigeste, loin d’être clair et incapable d’être chronologique dans ses informations (oui, je troll)…

Augmentation des capacités en upload

Pour pouvoir uploader des fichiers de plus de 2Mo, il est nécessaire d’augmenter les capacités d’upload d’Apache. On modifie le fichier php.ini (nano /etc/php5/apache2/php.ini) et on y recherche les valeurs post_max_size et upload_max_filesize que l’on définira à 200M (200Mo dans mon cas suffit mais vous pouvez indiquer plus si vous le voulez).

L’upload de gros fichier étant plus long, on définit max_execution_time à 600 (voir plus selon votre connexion).

L’application des paramètres se faite en redémarrant Apache (/etc/init.d/apache2 restart).

 

Activation de l’HTTPS (SSL)

Pour accéder à OwnCloud en https, notamment si vous désirez y accéder depuis l’extérieur sans balancer votre mot  de passe en clair dans la nature, on modifie du fichier sites-avaible/default-ssl (nano /etc/apache2/sites-available/default-ssl) pour y ajouter  :

<Directory /mnt/data/ownclouddata>

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

</Directory>

 

Puis on active le  ssl :

a2enmod ssl

 

Enfin, dans les pages d’admin de OwnCloud, on force le SSL :

https

Voila, vous avez maintenant un magnifique Cloud opérationnel et accessible en https. Pensez maintenant à créer une règle de NAT sur votre routeur/box pour y accéder de l’extérieur et pensez à y ajouter une protection via Fail to Ban (cf. cet article à ce sujet).

Pour ma part, je me connecte via les clients OwnCloud pour Windows et Linux. J’attends avec impatience la sortie d’un client Windows Phone (besoin d’un collègue) et cherche à compiler l’apk Android depuis les sources (je ne veux pas inscrire ma carte bancaire sur mon compte gmail, ma fille joue trop souvent avec ma tablette et les jeux pour gamin sont bourré de liens vers du contenu payant). Si d’ailleurs quelqu’un pourrait m’orienter sur la méthode à suivre pour cette compilation, ce serait bien sympa!

2014-03-02

Remise en état de mon cloud perso après corruption du système de fichier et création du logiciel fiche

icydock

IcyDock RAID

Après les vacances de noël passées en famille en France, nous sommes rentrés à Berlin au début du mois de janvier. Ma première action a été de remettre en route le cloud familial à base de TonidoPlug et d’un boitier RAID-1 branché en USB sur ce dernier. Le boitier RAID contient deux disques-durs de 1TiB qui sont montés en miroir (RAID-1). Pour plus de détails sur mon installation voir ici et . Petit problème, le TonidoPlug démarre bien, mais impossible de monter le boitier RAID. Il faut savoir que les disques sur ce dernier sont chiffrés avec Cryptsetup. J’arrive bien à ouvrir les volumes chiffrés (c’est le plus important) mais impossible de monter les partitions en ext3. Je me souviens alors que j’ai arrêté le système à l’arrache avant de partir, c’est à dire en coupant le courant, sans démonter les partitions et les volumes Cryptsetup, aïe! Je teste avec les deux disque-durs, même problème; c’est logique, les disques sont des copies bits à bits l’un de l’autre. J’en débranche un du boîtier et je le mets de coté afin de sécuriser les données avant de continuer mes investigations. Puis c’est le boitier IcyDock qui lâche. Je commence à penser que je suis maudit, je commande donc un convertisseur SATA/IDE vers USB. Je me décide pour un modèle qui supporte aussi l’IDE, car mon PC fixe datant de 2004 tourne encore avec des disques IDE et je me dis que ça pourra me resservir, bonne intuition. Je cherche la facture du boitier RAID pour retrouver la référence et peut-être recommander le même. En la relisant attentivement je vois que le boitier est garanti 3 ans, il reste encore 4 mois de garantie, c’est bien la première fois que ça m’arrive. Hélas, j’avais acheté le boitier en France et j’habite maintenant en Allemagne, ça risque d’être compliqué. Je cherche quand même sur la version allemande du site du constructeur comment faire un retour de garantie et je remplis le formulaire sans trop d’espoir. Je reçois tout de même un courriel en anglais m’informant ma requête est acceptée. Ainsi j’ai reçu un mois plus tard un boitier neuf dernière génération. Génial!

Mais revenons, à mon système de fichier corrompu. Je monte le volume chiffré puis lance de fsck:

1
2
cryptsetup luksOpen /dev/sda cloud
fsck.ext3 /dev/mapper/cloud

Cela a duré plusieurs heures, mais a néanmoins suffi à corriger le système de fichier, au prix de la perte de plusieurs fichiers… Tous sont des photos personnelles datant de plusieurs années… F**k, moi qui me croyait à l’abri avec mon RAID-1, je me rends compte que j’aurais du faire des sauvegardes séparées!!

sata2usb_adapter

Sata/IDE to USB 2.0 Adapter

Heureusement, l’histoire ne s’arrête pas là. Je profite de cette mésaventure pour faire un peu le ménage dans mon matériel informatique. Je tombe alors sur mon tout premier lecteur vidéo un Archos PMA400 (ah souvenirs d’étudiant). Il ne démarre plus depuis au moins 3 ans, je me décide donc à le démonter pour récupérer le disque dur. Le format est étrange, l’interface est du mini-IDE, qui est supporté par le convertisseur SATA/IDE vers USB que j’ai acheté. Je le branche sur mon poste Gnu/Linux et oh joie, je retrouve mon dossier de photos personnelles dans l’état dans le lequel il était à l’époque! Je me souviens alors que j’utilisais le PMA400 pour regarder les photos sur la télévision. J’utilise rsync en mode démo (–dry-run) pour voir ce qu’il est possible de récupérer sur l’ancien disque. Ce dernier étant formaté en FAT32 rsync, il a un peu de mal à repérer les fichiers qui nécessitent d’être synchronisés. Il s’emmêle les pinceaux avec les droits des fichiers, les noms de fichier en minuscules/majuscules et certains noms de fichier ont été changé depuis. Même en utilisant l’argument –checksum de rsync, je ne m’en sors pas. Je décide donc de coder ma propre application de comparaison de répertoire à base de calculs de sommes md5 des fichiers. Mon but étant de détecter les fichiers qui ne sont présents que sur un seul des disques, mais aussi les fichiers en double sur un disque. Surtout, je ne veux pas que le logiciel fasse une synchronisation automatique, mais qu’il génère un rapport, lisible à tête reposée, pour que je puisse décider pour chaque fichier de l’action à faire. C’est ainsi qu’est né fiche.

Python Logo

python programming language logo

La première version fonctionnelle m’a nécessité environ 4h, surtout du temps de recherche des librairies nécessaires, le code est relativement simple. Je l’ai développée en python3; fiche génère les rapports sous formes de différents fichiers csv ou tout dans un fichier xlsx. J’ai retravaillé la version d’origine pour la rendre générique (plus de chemin ou d’options codé en dur) afin de la partager. Le code est disponible sur Github: https://github.com/tbores/fiche. Le logiciel est stable et utilisable en production. J’ai utilisé PyLint pour faire une revue de la qualité et pdoc pour générer la documentation de l’API à partir des docstrings. Cher lecteur, n’hésite pas à faire des demandes de nouvelles fonctionnalités sur Github, où de remonter les bugs (s’il en reste).

Que retenir de cette aventure?

  • Faites des sauvegardes encore et toujours de vos données. Un RAID-1 n’est pas suffisant. => Problèmes: couts des supports de données. Comment répartir les supports de données? Il ne faut pas tout garder chez soi. Personnellement j’ai fait un copie des données sensibles sur un plus petit disque dur que je laisse au bureau, il est bien entendu chiffré.
  • Connaitre un langage de script tel que Python ou Perl, peut permettre de résoudre un grand nombre de problèmes par soi-même.

2014-02-28

1 an après, la Corée du nord m’ignore !

Que serait ce blog des bas fonds de l'internet, sans un petit billet d'auto congratulation ? :)

Capture d'écran - 28022014 - 08:51:21

ça fait un tout petit peu plus d'un an que j'ai ouvert ce blog (shit j'ai raté la date !), bien qu'il ne soit pas très vivant (faute de temps), j'ai trouvé ça sympa,
et les commentaires sur les articles tout autant, internet c'est ça : le partage !

Quelques chiffres (sur 1 an) :

  • 18900 pages vues (c'est ça de sauvé de Facebook & cie !)
  • 11500 visiteurs "humains" (j'ai pas les stats sur les chats !)
  • 123 commentaires
  • 0.93 % des visiteurs viennent d'HFR !!

Et les chiffres qui fachent …

  • 40% des visiteurs sont sous Windows 7 :/
    Pour seulement 28% sous Linux … :-(

     

     

    Y a même pas un article pour Windows ici !!!!
    Bon faut relativisé, il n'y a pas de traces d'IE dans le top 10 des navigateurs !
     

  • et le plus grâve, le pire, l'effroyable …
    AUCUN VISITEUR DE LA CORÉE DU NORD

atroce, voyez par vous même :

Capture d'écran - 28022014 - 08:54:35

Je suis abasourdi !

Moi qui ai choisi des articles spécifiques, n'ai fait aucune mention de la Corée du Sud, ou des United states of THE America pour pas qu'ils se sentent dévalorisés !!
Et rien, pas même un ping …

 

Kim, si tu me lis… revient !

 

P.S je cherche un montage une photo de Kim et d'un chat pour illustrer l'article, si par la magie de l'internet, vous avez ça :)

Vous êtes sous contrôle

Twitter interdit les liens vers un site BitTorrent

Google force les utilisateurs de Chrome à utiliser son webstore uniquement (comme Apple)

Google décide que Chrome ne doit pas servir à chercher des torrents

Fini de jouer les gentils ? « Don’t be evil » qu’il disait l’autre, hahaha

Sans rire, fuyez ces plateformes et relancez votre Firefox.

 

J'aime(0)Ferme-la !(0)

2014-02-26

WordPress sans Google Fonts

WordPress 3.8 a introduit l’utilisation de la police OpenSans dans l’interface d’admin. Le problème, c’est qu’elle est hébergée chez Google…

Après l’intense émotion de savoir que Google recevait une requête personnalisée (IP, referrer) chaque fois que j’allais sur mon interface d’admin de WordPress, j’ai cherché comment désactiver la chose et trouvé ce plugin.

Source

J'aime(0)Ferme-la !(0)

2014-02-23

Solidarité dans les Hauts-de-Seine

Image OSM

Image OSM

J’ai un petit défi à vous proposer. Comme manifestement, gonfler mes followers sur twitter n’est pas suffisant, je tente avec l’article de blog.

Contrairement à ce qu’on pourrait croire, l’accès à internet en Ile-de-France n’est pas nécessairement chose aisée. Il existe, par exemple, une colonie de péniches abritée le long de l’hippodrome de Longchamp qui rame comme pas permis.

Comme on aime bien jouer, on a déjà déployé du wifi sur place, mais il manque un point d’ancrage pour tirer un ADSL ou une fibre pour renvoyer le trafic vers les péniches.

Le défi est donc le suivant : trouver un endroit ou poser une (petite) antenne et un (petit) routeur qui soit :

  • sur la rive ouest
  • à vue de la Seine
  • situé entre l’A13 au sud et le pont de Suresnes au nord

Appartement, terrasse, bureau, toit, lampadaire, on est ouverts à tout et tous les frais sont pris en charge.

La participation au développement d’un internet neutre, associatif et solidaire et des soirées sympa au bord de l’eau à gagner !

Généré le 2014-08-22 23:27 UTC avec Planet Venus