Planète auto-hébergement

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

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

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..)

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)

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 ajoute des droits étendus pour que les utilisateurs alice et bob puisse tout faire dans ce dossier.

# setfacl -m u:alice:rwX dossier_partage
# setfacl -m u:bob:rwX dossier_partage

On ajoute des droits étendus pour que les fichiers/dossiers créés dans ce dossier aient par défaut les mêmes droits étendus.

# setfacl -m d:u:alice:rwX dossier_partage
# setfacl -m d:u:bob:rwX dossier_partage

On peut vérifier les droits finaux ainsi :

$ getfacl dossier_partage/

# file: dossier_partage/
# owner: root
# group: root
user::rwx
user:alice:rwx
user:bob:rwx
group::rwx
mask::rwx
other::—
default:user::rwx
default:user:alice:rwx
default:user:bob:rwx
default:group::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

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 5 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 5 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.

 

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

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 !

2014-02-20

Faire un mirroir de backup « blindé » (come on NSA, come on !)

Ouais, bon le titre est peut être un peu présomptueux et pompeux …

ssh

Le Raid, c'est bien, mais c'est pas une sauvegarde !
La sauvegarde c'est bien, mais pas infaillible : le disque dur peut être piqué/tombé HS, votre maison brûle (!) et le pc de la petite soeur aussi avec toutes les sauvegardes qui vont avec …

Reste la sauvegarde à distance : le cloud me direz vous ?
Allez tous sur Drop machin, cloud chose et deux semaines après vous trouver vos photos de chat sur des forums douteux (je sais, suis un poil parano !).

Bon là encore c'est pas top !

Vous comprenez, j'ai pas de chat, mais si jamais j'en avait un, j'aimerais que ses photos soient dans un endroit sûr !
J'ai donc cogité un peu, et mis en place ça :

diagrame sshfsLe principe : sauvegarder ses données, sur un serveur distant se trouvant dans un datacenter.
Par le bias de connexions SSH en passant par un rebond sur une passerelle SSH.

 

Le serveur distant :
 

C'est un serveur, tout ce qu'il y a de plus banale : alimentation redondante, Xeon, ram ECC, carte raid matériel, stockage en raid 5 (sur des partitions cryptées avec LUKS) …
Rien d'extraordinaire en somme !
Il est sous Wheezy, n'est pas accéssible d'Internet, il à son propre firewall (un Iptable + fail2ban), la communication se fait uniquement via SSH et des clés dédiées.

 

La passerelle SSH :

Un serveur virtuel en DMZ, disposant lui aussi d'un couple Iptable + fail2ban, derrière le firewall d'entré de site (pour l'accès extérieur), et un SSH dans un environnement chrooté.

 

Le principe :

Le serveur @ home, ouvre un tunnel SSH à travers la passerelle SSH, pour ouvrir une connexion SSH sur le serveur distant (INCEPTION !!).
Evidemment, avec des clés SSH et des utilisateurs différents à chaque fois
Ce tunnel ouvert, il permet de monter la partition cryptés en en SSHFS.
 

Et derrière il me reste plus qu'à faire un rsync :)


Le fonctionnement :

Je ne vais pas rentrer dans l'installation du serveur distant ou de la passerelle SSH, c'est pas le but ici !

Sur votre client (mon serveur @ home), vous aurez besoin de :

apt-get install ssh rsync sshfs fuse-utils

pensez à générer toutes vos clés SSH avec:

ssh-keygen -i rsa

et à les copier entre les serveurs :

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

 

Le montage :

mkdir /media/montagedistant
sshfs -o ssh_command="ssh -t -A user1@passerellessh ssh -l user2" user2@serveurdistant:/data /media/montagedistant

Si vous voulez faire le montage automatique, il faut passer par fuse.auto

Ou alors vous pouvez attaquer direcement en rsync :

rsync -e "ssh -t -A user1@passerellessh ssh -l user2" -avz --progress /media/montagedistant/ user2@serveurdistant:/data

Dans le cas du montage fuse ça donne :

root@Sheldon:/# mount
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
[...]
fusectl on /sys/fs/fuse/connections type fusectl (rw)
user2@serveurdistant:/data on /media/montagedistant type fuse.sshfs (rw,nosuid,nodev,max_read=65536)

 

En résumé :

- montage d'une partition cryptée en SSHFS
- en passant 2 tunnels SSH avec des clés privés/publiques différentes
- à travers 4 firewall et 3 fail2ban
 

Ce qui peut être amélioré :

- mes connaissances pour faire mieux
- un système anti incendie sur le datacenter (et oui … ^^ )
- un chat de combat pour protéger le serveur distant
- …
 

2014-02-18

Adieu OVH, bonjour SOSH (en VDSL !)

Après de nombreuses déconvenues avec OVH, j'ai décidé d'arrêter les frais avec ce FAI.
 

ovh-adsl-plus-jamais (1)

- pas de réponses aux tickets du SAV
- pas de réponses au téléphone
- des coupures récurrentes 
- des débits pas au maximum de ce que propose la ligne
- une promesse d'activation du VDSL qui n'a jamais été tenue
- …

Bref étant déjà client chez Sosh pour la partie téléphonie, pourquoi pas voir ce qu'ils font d'autres ?


06948636-photo-logo-sosh

J'ai décidé de tester  l'ADSL suite à leurs nouvelles offres du 6/02/14, qui permet de se passer de la TV et propose le VDSL à un tarifs très abordable !

Après un coups de fils, quelques SMS/emails de confirmation, c'est fait je suis client Sosh ADSL, bon jusque là aucune révolution, et plutôt peiner de quitter OVH (qui était une boite que j'apréciais beaucoup, et chez qui j'ai des nombreux domaines et toujours mon KS2G !).

Quelques jours après je reçois la Livebox 3 : première soirée de déprime, perte d'appétit, plus de libido … retour 10 ans en arrière … UNE LIVEBOX !!!!

Je décide de pas y toucher, de toute façon ma ligne n'est pas encore active, et je suis toujours client OVH …

Mais 5 jours avant la date promise, un SMS de Sosh, m'indiquant la création de la ligne (quoi déjà ?!??).

Bon je branche la Livebox, je pleure un peu (c'est une livebox !!), ça démarre (plutôt rapidement, c'est étonnant pour une livebox), je rentre les identifiants du FAI (reçu sur un courrier Orange ^^), et ça marche !

Oui une livebox qui se connecte du premier coups !

En bon geek, je fais vérifie si j'ai la plus grosse : http://www.speedtest.net/my-result/3314992589

Et faut dire que mon égo s'en trouve assez flater ! 79 en down et 16 en up ! cool

essai2

C'est quand même mieux que ce que me proposais OVH : 16 en down pour 0,8 en up !
Ces nouveaux débits m'offrent de nouveaux horizons en terme d'auto hébergement !

Nouveau service d'hébergement, du "claouudd", streaming … :D

Par contre la LIvebox Play (3 ème génération), est toujours une catastrophe, la gestion du NAT/PAT est une galère, très peu d'options …
Va falloir que je trouve une alternative :/

Bref pour le moment je ne regrette pas mon changement (on verra après les premiers problèmes et le SAV par chat de Sosh !), mais OVH se fous vraiment de ses clients, et c'est bien dommage !
 

 

Un petit lien : http://www.tech2tech.fr/ovh-adsl-un-calvaire-sans-nom/ à qui j'ai piqué son logo OVH (^^), et qui a rencontré les mêmes problèmes que moi avec OVH …

2014-02-14

[Wiki] Serveur GIT et utilisation d’une paire de clé avec SSH

Ce ne sont pas des nouveautés sur le wiki mais ils n’avaient pas encore été posté sur le blog, ce qui vient d’être corrigé :) Nous avons donc là deux tutoriels sur des sujets bien distincts : la création d’un serveur GIT permettant de gérer les différentes versions d’un code par exemple et l’utilisation d’une paire de clé avec SSH pour améliorer la sécurité.

Serveur GIT

Git est un gestionnaire de versions, à l’image de Svn mais contrairement à ce dernier, il est décentralisé. Un gestionnaire de versions permet de garder un historique des modifications effectuées sur un fichier. Décentralisé veut dire que chaque client possédera une copie entière du dépôt sur son ordinateur. Il est de moins en moins rare de devoir cloner un dépôt Git quand l’on veut compiler un programme non disponible dans le gestionnaire de dépôts de sa distribution.

La suite, c’est par ici.

Utilisation d’une paire de clé avec SSH

Un mot de passe, c’est bien, c’est facile à retenir, utilisable partout… Mais un mot de passe, c’est aussi un point faible dans la chaîne de sécurité et ce, malgré tous les moyens mis en place pour le sécuriser au maximum. Il existe donc une solution avec ssh: utiliser une clé privée et une clé publique afin de vous connecter à votre serveur à distance (celui-ci connaissant votre clé publique!).

La suite est quant à elle par .

Yahoo délocalise vos données personnelles

La protection de la vie privée est trop contraignante en France, pas de problème pour Yahoo qui délocalise ses serveurs en Irlande.

Concrètement, Yahoo ne respectera plus la loi française sur la protection des données personnelles, mais la loi irlandaise. Yahoo EMEA remplace Yahoo! France SAS en tant que responsable de traitement des données personnelles des utilisateurs français, et sa placera sous le régime irlandais de la protection de la vie privée, qui reste basé sur la Directive européenne relative à la protection des données personnelles.

La principale conséquence devrait être que la CNIL, qui vient de sanctionner Google France, ne pourra pas sanctionner Yahoo. Ce qui pourrait devenir problématique si les sanctions sont alourdies.

2014-02-09

Etat des lieux de la messagerie chiffrée

Tout d’abord, je vais ré-préciser quelque chose de fondamental. Une communication aussi sécurisée et chiffrée qu’elle soit est in fine déchiffrée sur l’OS de l’utilisateur pour être affichée à l’écran et stockée dans un historique de conversation. Donc quelque soit le système de protection de communication que vous utilisez, si votre OS est troué ou à la solde de votre espion, vos protections risquent d’être inutiles.

Donc chiffrer ses messages sur un téléphone Android où l’on a installé les GoogleApps et où Google peut lire l’intégralité de la mémoire de votre smartphone sans vous avertir, ça ne sert à rien pour se prémunir de la NSA. Même chose pour les appareils Apple.
Sous Windows, si vous croyez que votre OS n’a pas de porte dérobée, c’est bien. J’aurai des doutes à votre place. Quand aux failles de sécurité, il suffit de regarder l’histoire pour voir que les failles réseau du système sont courantes.

Bref, les prérequis me semblent un smartphone sous Android (sans logiciels propriétaires en root  == sans GoogleApps) et une distribution Gnu (Debian, etc…) sans logiciels propriétaires.

Le postulat est donc que seul votre terminal est sûr, le reste du réseau (serveurs tiers, FAI, internet et même réseau local) pouvant être mis sur écoute. Détrompez vous, il n’y a pas forcément besoin d’une faille technique pour mettre le réseau sur écoute, la contrainte légale sur les sociétés par les états de livrer les informations personnelles de leurs utilisateurs fonctionne généralement assez bien.

E-mails

Les e-mails sont par défaut envoyés en clair. Ils passent par votre réseau local, internet et les serveurs de courrier de chaque correspondant. Autant dire que l’on part de loin.

On peut communiquer en SSL avec son serveur mais si ca protège une partie de la communication, le serveur peut encore lire vos messages et vous n’avez aucune garantie sur la suite du chemin (votre correspondant n’a pas l’obligation d’utiliser une communication chiffrée avec son serveur et tous vos messages passeront alors en clair sur le réseau). Mais SSL protège le mot de passe de votre compte, c’est déjà ça !

La solution souvent conseillée est d’utiliser GnuPG pour chiffrer le contenu des messages. Le problème de cette solution c’est que le champ « sujet » des mails reste toujours en clair. On pourrait mettre des sujets bidons mais je n’imagine pas la galère pour classer ses emails !Donc pour un usage courant, c’est horrible à utiliser. Pour échanger un document confidentiel de temps en temps, ça devrait bien fonctionner.

Messagerie instantanée

XMPP semble être devenu le standard de la messagerie instantanée. Il utilise un modèle client/serveur décentralisé comme les e-mails. C’est vrai que c’est le meilleur modèle que l’on ait actuellement pour fonctionner avec les samrtphones (restrictions de volume de données, consommation énergétique à préserver, pas d’adresse IP publique).

Même constant qu’avec les serveurs e-mails, On peut communiquer en SSL avec son serveur mais si ca protège une partie de la communication, le serveur peut encore lire vos messages et vous n’avez aucune garantie sur la suite du chemin (votre correspondant n’a pas l’obligation d’utiliser une communication chiffrée avec son serveur et tous vos messages passeront alors en clair sur le réseau). Mais SSL protège le mot de passe de votre compte, c’est déjà ça !

GnuPG serait ici plus pratique car il n’y a pas le problème du « sujet » en clair. Mais je n’ai pas trouvé de client XMPP pour Android qui le gère.

OTR est un nouvel modèle de chiffrement pour les échanges de messages synchrones. L’idée est d’utiliser des clés de chiffrement temporaires à conversation. Avantage par rapport à GnuPG : Si un espion a enregistré au préalable vos conversations chiffrées et qu’il tombe un jour sur votre clé privée, il ne pourra pas déchiffrer vos conversations du passé (vu que des clés temporaires qui ont été utilisées pour les chiffrer ont été jetées). C’est une belle idée mais dans la réalité :

  • votre historique est conservé en clair sur le même terminal qui contient votre clé privée. Donc un espion trouverait les deux ensemble.
  • si l’espion récupère votre clé privée et celle de votre correspondant, il peut alors déchiffrer vos conversations du passé.
  • mais surtout  : il est impossible d’envoyer des messages à un correspondant hors ligne (car il faut négocier une clé partagée temporaire avant toute nouvelle conversation). Ce qui rend ce modèle inutilisable en pratique à mon avis si on n’est pas connecté 24/24 à sa messagerie instantanée.

Conclusion

Rien de marche pour l’utilisateur lambda qui n’a rien à cacher. Les emails chiffrés sont impossibles à classer. Les messages instantanés hors ligne sont illisibles.

2014-02-08

La SME Server se développe t’elle ?

J’aurais du m’y coller plus tôt, mais faute de temps, me voila maintenant :

La beta 3 de la SME Server 9 is out avec un lot immense de nouveautés mais c’est à vous de juger bien sur :)

Maintenant je tenais à vous montrer la SME en chiffre car les commits sont étudiés par des sites qui permettent de voir l’activité et la viabilité d’un projet open source. Vous trouverez sur le site Ohloh une analyse  du développement depuis 2005.

Le verdict est : Hight activity 

In a Nutshell, SME Server…

Vous y verrez quelques graphes intéressants, je vous laisse le plaisir de les découvrir.

Vous pourrez convenir que votre futur serveur qui vous accompagnera dans votre vie numérique (web, mail, vpn, samba, contrôleur de domaine,….) n’est pas un projet mort, mais un projet qui vous attend.

Bon quoi de neuf en fait, et bien tout :  Koozali SME Server arrive.

Png

Améliorer le fix GPS des smatphones Android Wiko

Les smartphones Wiko connaissent un succès de plus en plus grand en France. Ils sont fonctionnels, bon marché mais relativement cheap. Ce qui conduit à quelques imperfections. Le problème de l'accroche du GPS en est une qui est la principale source de critiques. Cependant il existe des solutions pour améliorer cette accroche. Cet article fait le point sur les techniques qui existent pour cela.

Rappels sur le fonctionnement du GPS

Le fonctionnement de la géolocalisation par GPS n'est pas difficile à comprendre. Une constellation de satellites (une trentaine) envoie périodiquement des données sur terre sur une fréquence porteuse de 1,5 GHz. Ces données contiennent, entre autre, la date d’émission de la trame. Cette date est générée de manière très précise par une horloge atomique intégrée au satellite. Évidement le récepteur, un smartphone ou un système de navigation, ne possède pas la même précision d'horloge : l'heure entre l’émetteur et le récepteur n'est pas synchronisée (Problème n°1).

Pour trouver sa position sur terre, le récepteur interprète la différence de temps entre l’émission de la trame et sa réception. Avec cette information et la vitesse de transmission des ondes il peut calculer simplement la distance qui le sépare du satellite. Cependant pour que cette information lui soit utile il faut qu'il connaisse auparavant la position du satellite, alors que celle-ci évolue sans cesse (Problème n°2).

Lorsque quatre satellites sont en vue (Problème n°3). et que le récepteur connait la position des satellites il peut calculer un système d'équation à quatre inconnues : latitude, longitude, altitude et heure précise. Cela lui donne sa position précise sur terre.

Application de la théorie sur les téléphones Android Wiko

Synchronisation de l'heure

Android FasterGPS Le premier problème évoqué concerne la synchronisation des horloges du satellite et du téléphone. Obtenir une synchronisation parfaite n'est pas possible, mais s'en rapprocher simplifierait le calcul du temps de parcours de la trame dans l'air.

Pour obtenir une horloge relativement précise sur un système informatique relié au réseau on utilise courrament le protocole NTP. La précision est meilleure lorsque le serveur de temps est situé près du client. Par défaut les smartphones Wiko utilisent un serveur de temps chinois, le fait d'en utiliser un européen améliore l'horloge.

Seulement pour pouvoir modifier le serveur de temps il faut un téléphone rooté. Le principe du root sort du contexte de cet article mais est très facile sur un Wiko. Une fois rooté l'application FasterGPS permet de modifier le serveur NTP utilisé. Plus d'information sur la marche à suivre ici.

Une liste de serveurs NTP classée géographiquement est disponible sur www.pool.ntp.org/fr.

Trouver la position des satellites

Le second problème consiste à connaitre avec précision la position de tous les satellites à un instant donné. Sans cela l'information du temps de trajet du signal serait inutile.

Pour cela différentes solutions existent. Le système GPS lui-même transmet les éphémérides mais à une vitesse très lente.

C'est pour cela qu'on a vu se développer les A-GPS (Assisted GPS) qui permettent de télécharger à la volée sur le réseau data la position des satellites environnants. Cette solution nécessite donc d'avoir un accès réseau. La validité dans le temps des données téléchargées est faible, quelques heures au maximum.

La majorité des smartphones Wiko intègrent des composants de la marque taïwanaise MediaTek, dont le processeur et la puce GPS. La puce embarque la technologie EPO qui permet de télécharger les éphémérides au préalable car les données sont valables un mois. Ces données EPO font 250 Ko et se téléchargent "automatiquement" (notez la présence de guillemets) depuis un serveur FTP. Seulement voilà, le serveur FTP est ultra lent et vraiment peu fiable. Déjà que depuis un PC et une bonne connexion le téléchargement échoue sans raison alors depuis un téléphone avec une connexion 3G c'est juste impossible.

Deux fichiers sont à télécharger : EPO.DAT et EPO.MD5. Le premier contient les données EPO et le second le hash de ces données pour vérifier leur intégrité. Ils sont mis à jour par MediaTek quotidiennement. Or d'après certains il arrive que le fichier contenant le hash ne soit pas mis à jour, rendant la validation des données impossible.

Il existe deux solutions à ce problème de téléchargement de données EPO. La première consiste à utiliser cette technique pour forcer la mise à jour depuis le téléphone. La seconde consiste à télécharger les fichiers sur un PC depuis le serveur FTP de MediaTek puis à les transférer sur la mémoire du téléphone dans le répertoire /data/misc. Cette tâche peut être automatisée facilement en shell. Les identifiants pour le FTP sont :

Serveur : epo.mediatek.com
Port : 21
Identifiant : epo_alps
Mot de passe : epo_alps

Sur certains téléphones le mode ingénieur EPO permet de modifier les coordonnées sur serveur FTP, apparemment ce n'est pas possible sur les Wiko.

GPS Wiko Cink Peax 2

Améliorer la réception du signal

Maintenant que l'heure est correcte et que les données de localisation des satellites sont disponibles le dernier point sur lequel on peut influer est la visibilité des satellites.

L'antenne GPS intégrée au Wiko Cink Peax 2, et globalement aux autres smartphones Wiko, est faiblarde. De plus il s'agit d'une antenne plate autocollante recouverte d'une couche de peinture. Cette couche semble atténuer fortement les signaux. En grattant délicatement l'antenne pour faire apparaitre le cuivre comme sur la photo on peut gagner quelques dB qui aideront à fixer le GPS plus rapidement. Certains prolongent carrément l'antenne avec de l'aluminium.

Tests et résultats

Pour tester les modifications effectuées il faut bien garder en tête que c'est le premier fix qui est long. Les deux premiers paramètres peuvent être testés après un reboot en mode avion pour désactiver l'A-GPS. Les différences de performance liées à la modifications de l'antenne peuvent se constater avec l'application GPS Test.

Après ces modifications, un test à froid sans A-GPS et avec les données EPO à jour me donne une accroche en 15 secondes.

Universalité du net

Une bonne vidéo de Jeremy Zimmermann.

Je résume ici quelques arguments qui m’ont frappé:

- Parler d’Universalité du Net plutôt que de Neutralité du Net. Cela veut dire un accès égal à tous.

- La surveillance de masse jusqu’aux moindre recoins de ce qui vous entoure (enregistrement des déplacements, des mails privés, des coups de téléphones, de vos notes persos, bientôt votre santé, etc…) viole votre intimité. Même si vous n’avez rien à cacher, vous savez que tout ce que vous pensez tout bas sur vos notes, les gens que vous voyez, ce que vous évoquez tout bas à vos amis, le sport que vous ne faites pas est enregistré et pourra être retourné un jour contre vous. C’est la liberté de conscience qui est atteinte. Il n’y a plus d’intimité personnelle avec la surveillance de masse.

- Le coût de la surveillance de masse est grand, le coût du secret de masse est grand également (protéger un crime d’état par exemple). Si on élève ces coûts en chiffrant nos données et en révélant les secrets les moins bien gardés, ils deviendront intolérable pour l’économie de nos gouvernements qui feront machine arrière. Quelle société voudrait et pourrait payer un flic dans le dos de chaque citoyen?

- Si vous ne voulez pas asservir un tant soi peu la technologie à votre volonté (logiciels libre) ce sont les maîtres de ces technologies qui vous asserviront (Apple)

- La surveillance de masse n’a aucun impact avéré sur le terrorisme (pourtant le crédo utilisé dans 100% des cas pour la justifier). Cependant il est utilisé pour l’espionnage politique (téléphone de la chancelière allemande, ordinateur personnel de la présidente du Brésil) et économique (employés de Petrobras, lignes Alcatel/Wanadoo/Belgacom sur écoute), ce qui est intolérable et crée une asymétrie de pouvoir des surveillants sur les surveillés.

- Les données privées seront utilisées pour faire pression contre vous. Google sait quelque chose sur votre privée que vous ne voudriez pas que votre patron, copine,etc.. sache. Quelqu’un ayant ces infos peut donc faire pression sur vous un jour ou l’autre si vous ne voulez pas que ce soit révélé.

- Lorsque l’on livre ses données personnelles à un cloud espionné par la NSA (Google, Facebook, Microsoft) cela engage notre vie mais aussi celles de nos amis (nos photos contiennent aussi le visage de nos amis, les mails contiennent aussi les messages de nos amis, notre carnet de contact contient aussi les coordonnées de nos amis) et ces amis n’ont pas forcément envie de se voir ficher. Pensez-y.

2014-02-07

Pourquoi je soutiens l'April

L'April est une association pionnière en matière de Logiciel Libre. Créée en 1996, elle était une association d'informaticiens souhaitant promouvoir le Logiciel Libre, inspirée par l'éthique du discours de Richard Stallman.

Un peu comme pour des codes sources, certains sont oubliés, d'autres au contraire savent évoluer et s'ouvrir au monde. Ce dernier est à mon sens le cas de l'April. Un premier tournant fût la loi DADVSI qui souleva des réactions face aux atteintes qui pouvaient être portées aux Logiciels Libres (Ref).

La prise de conscience qu'il ne suffisait pas de promouvoir le Logiciel Libre mais aussi veiller à sa défense, a entraîné une croissance significative du nombre d'adhérents pour dépasser les 5000 en 2009. Outre les personnes physiques qui se sentent concernées, ce sont aussi des personnes morales : entreprises, associations ou des communes comme Toulouse qui rejoignent l'April.

Grâce à ses membres et aux permanents, les actions menées par l'April se sont succédées et multipliées depuis. DADVSI n'étant que le premier du nom, l'April a poursuivi ses actions sur les brevets logiciels, l'hadopi, la lopsi, l'acta... mais l'April sait aussi planter des graines. Elle est l'initiatrice et la coordinatrice de Libre en fête, elle se tourne vers les autres associations et vers la diversité, informe le citoyen sur la position des candidats aux élections ou oeuvre pour une education à l'informatique plus saine. L'April sait rassembler au-delà des frontières de l'informatique et c'est ce qui en fait une grande association.

J'ai eu la chance de côtoyer (la distance ne me le permettant plus) physiquement un certain nombre de bénévoles ainsi que l'équipe de permanents et je peux témoigner de la qualité de l'esprit et du savoir de ces personnes. Le travail abattu est immense tant les projets sont nombreux.

J'oublie bien sûr des facettes de l'April, je ne cite que celles qui me marquent le plus. Néanmoins, ce sont les raisons pour lesquelles je soutiens l'April.

Aujourd'hui, le Logiciel Libre doit réfléchir à de nouvelles problématiques : protection des données personnelles, informatique en nuage avec la variété de concept que cela contient, matériel libre et fablab, etc. Je suis certain que l'April saura trouver un chemin dans ces questions.

L'April a aussi besoin de votre soutien. Un membre de plus, c'est une voix de plus lors d'une prise de parole. C'est aussi permettre un travail continu de veille et d'expertise grâce aux salariés.

Pour ceux qui veulent donner de leur temps (à toutes les échelles), l'April est prête à recevoir. D'expérience, l'association étant assez imposante, il faut savoir prendre son temps pour prendre ses marques, il y a de la place pour tou(te)s et c'est véritablement enrichissant !

Page de la campagne d'adhésion

2014-01-27

Transformer son Raspberry en hotspot Wifi

Comme tout le monde, j’ai été appâté par la nouveauté qu’apportait le RaspberryPi lors de sa sortie en mai 2011, j’ai fait joujou avec 10 minutes puis le soufflet est rapidement retombé jusqu’à ce que je le range dans une boite avec tous les accessoires que j’avais acheté (un boitier et un dongle USB-Wifi).

Mais j’ai retrouvé un peu d’intérêt pour le Raspberry Pi lorsqu’un proche a eu des problème de Wifi chez lui et m’a demandé de l’aide. Je lui ai proposé d’utiliser le RaspberryPi comme un hotspot Wifi de secours, ce qu’elle a accepté. Je me suis donc mis à la recherche d’un tutoriel simple pour transformer mon Raspberry en routeur Wifi sans avoir à acheter un nouveau composant.

Au bout de pas mal de recherches et de lectures, je suis tombé sur un article de Dave Conroy pour transformer un RaspberryPi en hotspot wifi, qui explique parfaitement comment le faire fonctionner avec mon dongle USB.

Pour faire l’installation j’ai été obligé de formater ma carte SD, j’ai eu un peur peur de perdre du temps sur cette étape, mais avec les downloads NOOBS disponibles sur le site de Raspberry, en mode offline la préparation de la carte a été très rapide.

Ensuite, j’ai suivi le tutoriel à la lettre, j’ai recompilé le driver pour mon dongle USB (comme ça j’ai appris la patience), j’ai ajusté la configuration du hotspot (qui est vraiment très simple), j’ai testé et paf ça fonctionne terminé.

Bon, mon RaspberryPi prend toujours la poussière mais plus chez moi, il est en astreinte et servira à la moindre défaillance d’une borne Wifi.

Dans mes marques-pages cette semaine – (26/01/2014)

Sortie du nouveau Noyau Linux version 3.13

Cette nouvelle version arrive avec son lot de nouveautés, dont une qui m’a particulièrement attiré sur la gestion de l’énergie, avec l’ajout du framework de limitation de consommation.

Sortie de Linux 3.13

Dans la rubrique quoi faire avec son Raspberry ?

Deux articles pour créer et sécuriser son serveur web sur un raspberry. Très bien fait, j’ai aussi découvert comment allouer un peu plus de mémoire vive au système.

Un serveur web oui mais …. comment faire pour que ce ne soit pas une passoire – partie 1

Un serveur web oui mais …. comment faire pour que ce ne soit pas une passoire – partie 2

Comment aider un projet libre sans forcément être développeur ?

 La communauté des Parrains-Linux cherche de nouveaux membres pour parrainer les nouveaux utilisateurs de Linux. L’objectif est de renouveler les parrains, mais aussi les filleuls, proposer un forum, et la liste des Guls locaux.
Campagne de promotion janvier 2014 

Deux lectures techniques sur mes services auto-hébergés

Le premier tombe à point nommer alors que mon application owncloud “mozilla_sync” n’en fait qu’a sa tête, j’ai trouvé cet article qui permet de monter directement son propre serveur Mozilla_sync qui j’espère sera plus stable. Et en plus pour ne rien gâcher le monsieur travail sous Debian.

Monter un serveur Firefox Sync basique sous Debian.

Le second sera plus sur le long terme car je m’intéresse des très près à cette petite boîte du nom de SheevaPug. Comment monter son propre serveur basse consommation ?

Auto-hébergement : installation d’un serveur basse consommation : SheevaPlug

Quel avenir pour Canonical ?

Comment Canonical va t’elle rattraper son retard ?

Canonical toujours en panne de modèle économique ?

Openstack comme service de stockage pour owncloud

Comment utiliser Openstack Swift comme élément de stockage ses fichiers hébergés dans ownCloud. A titre privé je ne pense pas mettre un jour cette usine à gaz en oeuvre, mais c’est toujours bien de se tenir informer.

Using OpenStack Swift as ownCloud Storage Backend

2014-01-22

Mon bureau Janvier 2014

Après deux ans de bon et loyaux services j’ai abandonné XFCE sous ma Debian Wheezy, pour une interface un peu plus épurée et légère.

J’ai donc opté pour openbox qui allie légèreté et souplesse de configuration.

Quelques captures d’écrans sont plus éloquentes que de grands discours :

Bureau vide

Bureau vide

Bureau  occupé

Bureau occupé

Tous les fichiers de configuration sont téléchargeables sur mon dépôt GIT avec la procédure d’installation, pour ceux qui ne parlerai pas anglais voici la traduction.

Télécharger les fichiers :

git clone -b 14.01.1 http://git.olivierdelort.net/Draconis/mydesktop_fixe.git

Copier les différents dossiers et fichiers :

cp -r openbox ~/.config/
cp -r tint2 ~/.config/
cp conkyrc ~/.conkyrc
cp -r gtk2_theme/MediterraneanWhiteNight ~/.themes/
cp -r icon_theme/* ~/.icons

Installer la police  pour conky :

cp -r fonts/ ~/.fonts/
fc-cache -f -v

 De plus pour utilisé le script de conky il faudra l’installer, sous Debian :

sudo apt-get install conky-all

Sources du projet :

Papier Peint

Thème GTK2

Thème d’icônes

Thème Openbox par moi-même

2014-01-21

Gitlab 6.4 de nouvelles options de visibilités pour les projets

gitlab_logoUne grande majorité de développeurs utilisent un logiciel de gestion de version pour leurs projets. Surtout sur les gros projets afin de s’y retrouver parmi la multitude de fichiers sources créés, modifiés, détruits par l’ensemble de l’équipe de développement.

Parmi ses logiciels le plus répandut est Git. Pour faire simple Gitlab est en réalité une interface web s’appuyant sur les commandes de bases de Git, comme le fait le très populaire GitHub.

Certes je n’ai pas de gros projets de développements, je ne me considère pas comme un développeur, mais plutôt comme quelqu’un qui script. Je dois reconnaître qu’il est  très confortable de gérer  les différentes versions de mes scripts via une interface graphique.

Dès le  début j’avais pensé utiliser Github pour mes petits projets de script afin de pouvoir garder un historique de mes modifications et de mes “dotfiles”. Mais Github est une société privée qui ne permet pas de configurer la visibilité par défaut d’un projet à moins d’avoir un compte payant, en effet tout est public sur Github. Ce n’est pas le fait de payer qui me dérangeait dans l’offre de Github, mais qu’encore une fois il faillait confier ses données à un tier. J’ai  pris la décision de me configurer un serveur Gitlab le petit frère de Github.

Cette nouvelle version ajoute principalement des options dans la visibilité des projets développés. Avant la version 6.4 nous ne pouvions définir que deux modes de visibilité :

  1. Privé
  2. Public

Il était très gênant pour moi lorsque je voulais partager des scripts de configuration sensible de les mettre en mode public, car n’importe qui pouvait cloner mon dépôt. A chaque fois j’étais obligé de modifier mes scripts en effaçant les variables sensibles.

Avec 6.4 c’est fini le nouveau mode “internal Project”, permet uniquement aux personnes possédant un compte sur notre Gitlab de pourvoir cloner le dépôt. Depuis cette mise à jour cela me simplifie beaucoup les choses, car je peux travailler avec mes collègues de confiance et nous pouvons partager, modifier, comparer, nos scripts de configuration.

Je n’ai rencontré qu’une petite difficulté lors de la mise à jour de 6.3 vers la 6.4, pendant le changement de branche :

sudo -u git -H git checkout 6-4-stable
error: Your local changes to the following files would be overwritten by checkout:
        somefile.txt
Please, commit your changes or stash them before you can switch branches.
Aborting

 J’ai rectifié avec un :

git stash

Si vous voulez en savoir plus voici quelques liens utiles pour :

Bizarrement l’équipe de développement à choisi d’héberger le projet sur github et non sur leur propre plate-forme, peut-être pour éviter de s’attirer les foudres de son grand frère Github.

2014-01-19

Auto-hébergement : installation d'un serveur basse consommation : SheevaPlug

Cela fait un an que je m'auto-héberge. Pourtant, il y a quelques semaines encore, mes services Internet n'étaient pas accessibles en continu, la raison étant que j'utilisais mon ordinateur « de tous les jours » pour héberger ces services.

Forcément, comme celui-ci consomme beaucoup d'énergie et fait beaucoup de bruit, il était exclu de le laisser allumé en permanence.

Avoir son serveur auto-hébergé plus souvent éteint qu'en ligne pose plusieurs problèmes :

  • Le contenu mis à disposition n'est pas souvent en ligne, ce qui gêne (forcément) les visiteurs.
  • Des mails peuvent-être perdus si aucun serveur secondaire n'est mis en place.
  • Le site hébergé est peu recommandable (par exemple, pour l'inscription sur un Planet : il est évident que recommander un site souvent éteint en l'incluant sur le Planet n'est pas génial).

Bref, ce ne fut pas une partie de plaisir. Heureusement pour moi, un « bon samaritain » auto-hébergé m'a proposé d'utiliser son serveur comme serveur mail secondaire.

Il y a peu de temps, je me suis rendu compte que cette situation ne pouvait plus durer, parce-que le fait de ne pas avoir un serveur allumé en permanence pose beaucoup trop de problèmes à mes visiteurs, à l'heure où je souhaite que mes réalisations, telles que Neoinput, mes vidéos de démonstration du Neo FreeRunner ou encore mon dépôt Fedora se diffusent.

Du coup, comment améliorer cette situation ? Deux solutions se profilent :

  • Arrêter de m'auto-héberger et utiliser, par exemple, les services d'hébergement gratuits de mon FAI.
  • Acheter une machine connectée en permanence à l'Internet pour diffuser le contenu que je souhaite mettre à disposition et pour héberger mes services Internet.

Bon, évidemment, je n'ai pas vraiment envisagé la première solution, je reste convaincu de la nécessité de s'auto-héberger.

Il ne reste plus qu'à trouver une machine assez peu couteuse à l'achat et ne consommant que peu d'électricité. Heureusement pour moi, la page http://wiki.auto-hebergement.fr/dok... est bien fournie et m'a aidé à trouver la machine qui me convenait.

Après quelques recherches sur les différentes machines proposées, j'ai finalement opté pour un SheevaPlug. Le SheevaPlug ne contenant que 512mo de mémoire interne, je comptais au départ mettre mes données sur une carte SD, mais on m'a très vite conseillé d'abandonner cette idée : en effet, les cartes SD ne sont pas du tout destinées à cet usage et je n'ai pas franchement envie de devoir en changer tous les 3 mois. Du coup, j'ai décidé d'utiliser un disque dur externe de 320 go comme espace de stockage. Beaucoup plus robuste et j'avais l'avantage de déjà en posséder un.

J'ai commandé le SheevaPlug sur le site GlobalScale Technologies, fabricant officiel du SheevaPlug pour Marvell, concepteur de la bête. Attention : le SheevaPlug m'a coûté une centaine d'euros (quelque chose comme 110€) mais j'ai également du payer environ 35€ de frais de douane, pour l'import des États-Unis. Si vous projetez d'acheter un SheevaPlug, je ne saurais que trop vous conseiller le revendeur Européen, NewIt, cela vous épargnera certainement tant de taxes.

Le SheevaPlug est arrivé environ une semaine après la commande. Tout beau tout neuf. Toutefois, il y a visiblement eu une erreur lors de la préparation de mon colis : alors que j'ai bien spécifié dans ma commande vouloir la version européenne, j'ai reçu les prises américaines. Pas grave, le câble d'alimentation est un câble standard que je possédais en version européenne. j'ai toutefois signalé cette erreur à GlobalScale Technologies. Ils se sont excusés et ont dit m'envoyer les câbles corrects. Il m'aura fallu attendre un mois pour recevoir ces câbles.

Bref, pour ce qui est du SheevaPlug en lui-même, il vient avec une version ARM d'ubuntu 9.04, système que je ne souhaitais pas utiliser. De plus, le bootloader (U-Boot) est une version « maison » de Marvell, assez vieille et pour laquelle je n'ai pas pu trouver de code source. J'ai donc compilé une version libre de U-Boot pour le SheevaPlug, plus récente, en prime. Ce n'est qu'après avoir « brické » (c'est à dire avoir effacé le bootloader et rebooté) et restauré par tous les moyens mon SheevaPlug que mon U-Boot libre s'est installé.

J'ai ensuite installé une Debian Squeeze (testing donc) et non sans mal : l'installation se fait d'abord sur un périphérique tel qu'une clé USB, puis on doit copier le rootfs dans une partition Ubifs (c'est le mieux) que l'on créée dans la mémoire (NAND) du SheevaPlug pour ensuite pouvoir démarrer sans la clé USB. Chez moi, l'installation de Debian sur ma clé USB a pris pas moins de 7 heures 30 ! (Je pense que cela vient des très faibles vitesses de lecture et d'écriture de la clé que j'ai utilisé.)

Quelques liens :

Après toutes ces étapes, j'ai finalement obtenu une Debian comme je l'espérais. C'est alors qu'a commencée la configuration des serveurs pour les services que je souhaitais. Je ne vais pas plus détailler cette partie là ici et vous dirige plutôt sur l'excellent site http://www.auto-hebergement.fr/.

Me voila donc auto-hébergé sur un serveur qui m'aura couté moins de 150€ (bon sans compter le disque dur, c'est vrai), plusieurs heures pour l'installation et la configuration et qui consomme moins de 15W !

PS : Admirez toutes les belles photos de mon SheevaPlug !

2014-01-17

Steam et libc6 sous Wheezy 64 bits

born-to-frag-tux-tickerCe soir j’ai un peu de temps libre et pour passer mes nerfs de la journée j’ai voulu me défouler en fragant (comme on dit dans le jargon) quelques méchants dans Half-life 2 sur Steam. Après de longues semaines sans jouer j’avais hâte !

Premier démarrage steam doit se mettre  à jour, normal après autant de temps sans utilisation,  au redémarrage bam une belle erreur se met entre moi et ma mitraillette de l’espace.

version `GLIBC_2.15' not found (required by /home/olivier/.local/share/Steam/ubuntu12_32
/steam-runtime/i386/usr/lib/i386-linux-gnu/libX11.so.6)

 

Je prends une grande inspiration et je me mets au travail. D’abords je vérifie la version de libc6 sur wheezy :

sudo apt-cache policy libc6
libc6:
  Installé : 2.13-38
  Candidat : 2.13-38
Table de version :     
 *** 2.13-38 0
        500 http://ftp.fr.debian.org/debian/ wheezy/main amd64 Packages

 

Bon je dois modifier mon sources.list pour mettre à jour libc6 à partir des dépots Jessie (actuelle testing), on appelle cela du apt pinning[en]. Dans un premier temps j’ai modifié mon /etc/apt/souces.list :

deb http://ftp.fr.debian.org/debian/ wheezy main non-free contrib

deb http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free

deb http://www.deb-multimedia.org wheezy main non-free

deb http://ftp.fr.debian.org/debian wheezy-backports main

deb http://mozilla.debian.net/ wheezy-backports iceweasel-release

deb http://ftp.fr.debian.org/debian testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free

 

Je n’ai pas rajouté les dépôt unstable car je ne souhaite pas en utiliser les mises à jours. A partir de mon souces.list j’ai donc complété mon fichier /etc/apt/preferences.

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=stable-updates
Pin-Priority: 900

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release o=Debian Mozilla Team a=wheezy-backports
Pin-Priority: 500

Package: *
Pin: release o=Unofficial Multimedia Packages a=stable
Pin-Priority: 500

Package: *
Pin release o=Debian a=wheezy-backports
Pin-priority: 500

Package: *
Pin: release a=testing
Pin-Priority: -10

Package: *
Pin: release a=stable-updates
Pin-Priority: 900

 

Je ne vais pas m’attarder sur l’explication de mon preferences, l’auteur de cette page le fait très bien et elle m’a servi de base pour réaliser le mien. Avant de faire le grand saut petite vérification afin de voir si mes priorités s’appliquent bien :

sudo apt-get update # pour rafraîchir apt
sudo apt-cache policy
#mise à jour depuis Jessie de la libc6
apt-get install -t testing libc6

 

Et voila Steam s’est mis à jour sans d’autres encombres. Et moi je vous laisse j’ai rendez-vous avec mes instincts guerriers.

 

2014-01-16

SFR : poubelle, la neutralité du réseau

Neutralité du réseau

Pour un fournisseur d'accès, la neutralité du réseau est le fait de transporter les données de ses clients sans examen, sans modification et sans discrimination à selon la destination ou le contenu. Ce principe permet entre autres de garantir la libre concurrence des fournisseurs de service sur Internet.

Red is dead

SFR tombe le masque

Après avoir joué avec le feu pendant des mois, la Société française du radiotéléphone vient finalement de se décider, en montrant de façon univoque que la neutralité du réseau, en fait ils n'en ont rien à br...er, en proposant un forfait d'accès à Internet par réseau cellulaire LTE, limité à 5 Gio par mois, sauf pour les données provenant de YouTube.

Problèmes

Le premier problème, évident, est la distorsion de concurrence : YouTube est ici artificiellement favorisé par rapport à ses concurrents. DailyMotion, si j'étais vous, je commencerais à faire plancher mes juristes.

Le second problème, c'est l'incohérence que ces conditions représentent. En effet, qu'est-ce qui justifie la limitation mensuelle de quantité de données, très courante sur les réseaux cellulaires ? En général, les opérateurs s'en justifient en évoquant la limitation naturelle du support physique de la connexion, l'air, dont la capacité de transport qui doit être partagé entre les utilisateurs de chaque cellule de communication. Eh bien là, SFR, vous venez de montrer que cet argument était totalement bidon, vu qu'il ne semble pas y avoir de problème de partage de capacité lorsque ça vient de YouTube.

Enfin, le dernier problème, et le plus important à mon avis, est qu'il s'agit d'une véritable boîte de Pandore. SFR pourrait ainsi décider de fixer une faible limite, ou un faible débit, pour les données provenant de Twitter, et demander à ces derniers de payer pour qu'ils lèvent ce bridage. Pire, ils pourraient s'entendre avec Viadeo pour affaiblir LinkedIn, en favorisant les données du premier et en exigeant du second un tribut prohibitif pour accéder aux mêmes privilèges. Et tant qu'à faire, ils pourraient aussi décider de ne pas du tout transporter les paquets provenant, disons, de blogs critiquant leurs pratiques…

2014-01-13

[Wiki] Monter un serveur Firefox Sync basique sous Debian

Firefox, l’excellent navigateur libre, propose de synchroniser les favoris, l’historique, les identifiants etc, entre plusieurs machines. Pour ce faire, la fondation Mozilla met à disposition ses serveurs gratuitement en garantissant la confidentialité totale de tout ce que leurs machines accueilleront. Ce service est extrêmement pratique et il serait dommage de s’en priver. Surtout que pour les adeptes de l’auto-hébergement, il est tout à fait possible d’avoir son serveur Firefox Sync sur son propre PC.

C’est comme d’habitude sur notre wiki : Monter un serveur Firefox Sync basique sous Debian

Je profite de l’annonce de ce nouvel article pour remercier Wak (@wakdev) pour m’avoir autorisé il y a quelques mois à copier et adapter son tuto sur FireFox sync depuis son site wakdev.com afin d’en faire profiter les lecteurs de HomeServer-DIY.

2014-01-08

Opendata avec les pieds

20140108 - bidouille

Crédit photo : Mista.Boos

Depuis que je me suis mis à raildar.fr, j’écume pas mal de sources en matière d’opendata (en plus des autres). Et plus ça va plus je suis énervé.

Je vais donc commencer par établir une banalité sans nom qui devrait être à la base de toute réflexion opendata :

Ne cherche pas à savoir, connaitre ou comprendre ce que vont faire les gens avec tes informations pour tenter de les mettre en forme, contente toi de publier tout ce dont tu disposes de la façon la plus fine et rangée possible.

Mes recherches du moment concernent les réseaux de transport. Nous avons (heureusement) quelques normes, par exemple GTFS qui permet de décrire un réseau de transport, ses arrêts, ses lignes, les dessertes, etc. De ce coté là, tout est à peu près carré, si on oublie l’encodage et la casse des infos (par exemple, à la SNCF, les TER et Intercités sont correctement écrits dans 99% des cas. Les transiliens, par contre, toutes les gares ou presque sont en majuscule, c’est du plus bel effet.)

L’intérêt de tout ça est clairement orienté outils de recherche d’itinéraire et/ou de gares. Tu veux de l’info live sur les retards ou annulations ? Passe ton chemin.

Et puis, il y a les autres. De petits réseaux (comme CTS à Strasbourg ou Tisséo à Toulouse) qui font de l’opendata (c’est tout à leur honneur), et qui en plus fournissent de l’info live sur les problèmes (on se croirait en plein rêve)… sauf que… sauf que.

Ils ont commencé par se demander ce que les gens allaient faire avec. Et qu’ont-ils pensé ? Que les gens allaient vouloir connaitre les prochains transports dispo à un arrêt donné, ils ont donc tous les deux fait des méthodes pour leur API qui permettent de savoir qu’il va y avoir 2 tram ces 10 prochaines minutes à tel arrêt. Des identifiants par véhicule ? Non. Leur position actuelle, même approximative ? Non. Un lien entre les véhicules annoncés à l’arrêt et les lignes de transport déclarées ? Aucun.

SUPER, MERCI, mais cette info là, on la trouve déjà sur votre site et sur la demi douzaine d’autres médias que vous mettez à disposition. On innove comment ? Ben on n’innove pas.

Maintenant, je vais vous faire le quart d’heure consulting opendata gratuit. Ouais, c’est 100% cadeau !

Chacun de vos véhicules de transport (métro, bus, tram, train, tgv, avion, tube à air comprimé, pigeon voyageur, …) a, chez vous, en interne :

  • un identifiant
  • un endroit et une heure de départ (éventuellement corrigée par une heure réelle de départ)
  • des endroits et des heures de passages (éventuellement corrigées également)
  • un endroit et une heure d’arrivée (de même)
  • une position instantanée (possiblement approximative)

Vous pouvez ensuite rajouter tout un tas d’infos autour, à votre convenance, mais ça, là, c’est LA BASE à fournir, par exemple, en JSON :

{
id: « 5467347″,
type: « tramway »,
from: { type: « gare », name: « L’arrêt en bas de chez moi », lat: 47.345, lng: 5.563, theo_at: 1389188929, real_at: 1389190452},
to: { type: « gare », name: « L’arrêt au bout de la rue », lat: 46.345, lng: 5.643, theo_at: 1389189120, real_at: 1389191200 },
via: [ { type: ... },{type: ...}],
current_pos: { lat: 47.990, lng: 5.590 }
}

Avec ça, n’importe qui d’à peu près normalement constitué peut déterminer dans combien de temps un moyen de transport sera à quel arrêt pour faire un joli tableau horaire à l’arrêt de bus en bas de chez lui. Mais il peut aussi (par exemple) faire une carte avec tous les véhicules représentés, faire des stats sur les endroits posant des problèmes de circulation dans la ville, savoir s’il ne peut pas courir au coin de la rue pour attraper le bus qui passe par là plutôt qu’ailleurs, développer une appli qui réagira automatiquement quand un utilisateur sera dans tel ou tel bus, etc.

Y’a des jours, franchement, je me demande si les gens font pas de l’opendata parce que le chef a dit que c’était hype et qu’il fallait le faire mais on s’assure quand même de faire le truc le plus inutile possible, histoire que ça serve pas vraiment.

2014-01-07

Des nouvelles du Front de(s) Contribs

Une activité  trépidante si j’osais dire, mais pour ceux qui se posent la question mais qu’est ce donc que ces contribs ?

« Les contribs sont les programmes additionnels de la SME Server (une distribution serveur) et le nom du wiki qui les héberge ainsi que la documentation qui va avec. »

L’équipe de développement a fait des efforts colossaux pour mettre sur les rails la nouvelle mouture SME Server 9 qui est actuellement en version Beta2, la Beta3 devant sortir incessamment sous peu. Moi même je ne l’aurai pas cru il y a 1 an.

Il faut dire que la période est vraiment au distribution « Serveur » et je crois profondément que les forks des distributions Desktop ont fais leur temps, nous en verrons de plus en plus dorénavant. Le très controversé Distrowatch nous a pondu un test comparatif de deux distributions ayant pour but de vous doter d’un serveur, mais d’autres devraient suivre.

Nous sentons bien à Contribs l’attente des personnes qui cherche à héberger @home leur données. La démocratisation du (très) haut débit permet maintenant d’avoir accès à ses données sans passer par les ténors du web. On ne fera pas un dessin, les services du cloud étant par définition faciles à utiliser, mais à quel prix ?

Mais quels sont donc ces nouvelles si intéressantes :

  • smeserver-dhcpmanager (en phase finale de test)
  • smeserver-phpvirtualbox
  • smeserver-ddclient
  • smeserver-egroupware
  • smeserver-sme8admin (nouvelles fonctionnalités)
  • smeserver-userpanel (nouvelles fonctionnalités)
  • smeserver-mailsorting (nouvelles fonctionnalités)
  • smeserver-roundcube (nouveaux plugins)
  • smeserver-bandwithd
  • smeserver-wordpress (version multi-utilisateurs)
  • DownloadTicketService

  • pydio

La liste serait longue, beaucoup trop longue mais la meilleur nouvelle reste que la chasse au bug est ouverte pour les contribs de la SME Server 9

Si Votre Virtualbox ou votre Qemu s’ennuie, venait faire un tour par chez vous !

La SME Server peut s’enorgueillir d’avoir maintenant près de 15 ans de route et d’expériences pour en faire un serveur robuste qui saura vous accompagner dans votre vie numérique.  Basée sur CentOS elle allie stabilité et rapidité, c’est une base complète pour déployer vos applications web et ayant une forte base d’utilisateurs francophones ce qui ne gâche rien.

2014-01-04

TTRSS, Could not update headlines

  • Depuis hier je suis confronté à un message d'erreur de mon lecteur de flux.

En effet, en cliquant comme d'habitude sur Tous les articles afin de rafraîchir la liste des flux, celui-ci s'est mis à tourner en boucle assez longtemps avant de m'indiquer :

Could not update headlines (invalid object received - see error console for details)

La console d'erreur restant malheureusement vide.

  • J'ai fini par trouver d'où provenait le problème, et de l'indiquer ici, car impossible de trouver une solution écrite sur le net !!

J'ai donc pensé que peut-être un flux en particulier bloquait quelque chose et j'ai donc rafraichis un à un mes groupes de flux (catégories), pensant trouver le groupe fautif, puis le flux à l'intérieur.
En fait tous les groupes se sont bien rafraîchit… Sauf les groupes système Tous les articles et aussi Lus récemment.

Depuis un bail, j'avais des flux en erreurs, causés par l'effacement par leurs auteurs des sites et blogs associés, indiqué par le message :

Aucun article non lu à afficher.

Flux mis à jour à 12:58
Des erreurs sont survenues pendant la mise à jour de certains flux (cliquer ici pour les détails)

Quand on regarde le détail, s'affiche la liste des blogs en erreur (souvent HTTP Code: 503 ou HTTP Code: 404), que malgré tout je conservais car, les articles de ces flux restaient consultables dans TTRSS qui a l'avantage de tout conserver, alors que les blogs sont morts.

Ce qui jusqu'alors n'avait jamais posé de problème !

  • À tout hasard j'ai décidé de les supprimer, en procédant un à un, jusqu'à trouver le fautif, et laisser les autres.

Et ça fonctionne !

L'erreur bloquant le rafraîchissement de la liste des flux Tous les articles n'apparaît plus, et j'ai pu garder les autres flux en erreur, mais toujours consultable dans mon TTRSS !

2014-01-02

Sortie de la version 1.0 d’emailPoubelle.php – email jetable auto-hébergeable

nepasjeterEdit (05/01/2014) : prise en compte des commentaires

Vous avez besoin d’un service comme jetable.org, mail-temporaire.fr…  emailPoubelle.php c’est pareil… mais en mieux (parce que “à la maison”)

emailPoubelle.php est donc une page qu’il faut typiquement inclure dans votre site. Elle permet d’administrer des adresses email (des alias plus précisément) jetable ou temporaire. Ces adresses peuvent avoir une durée de vie limitée ou non. Elles peuvent être désactivé (>/dev/null) à tout moment.

Le (petit) projet

Le plus gros changement sur version 1.0 est l’utilisation d’une base de données (sqlite, postgresql, mysql.. au choix, c’est du PDO). Mais vous pouvez continuer à utiliser la version 0.3 qui est en full plain text

Le script dépend de Postfix, un service web avec PHP,  php-pdo et (en option) de la lib pear Net_DNS2

Les fonctionnalités dans leurs grandes lignes :

  • Activer / supprimer / suspendre une adresse email
  • NoScript compatible
  • Multi-base (sqlite, postgresql, mysql.. au choix, c’est du PDO)
  • Multi-domaine compatible
  • Expiration des adresses email possible
  • Ajout d’un commentaire sur l’email poubelle
  • Email blackliste
  • Full UTF-8
  • voir le changelog…

Installation

Télécharger & décompresser les sources :

srv:~$ mkdir -p /www/emailPoubelle
srv:~$ cd /tmp
srv:~$ wget -O emailPoubelle.zip http://forge.zici.fr/p/emailpoubelle-php/source/download/master/
srv:~$ unzip emailPoubelle.zip
srv:~$ cp emailpoubelle-php-master/* /www/emailPoubelle

Configurer apache (d’autres serveur web sont compatibles) pour que le DocumentRoot  pointe dans /www/emailPoubelle/www (dans notre exemple)

Configurer Postfix :

srv:~$ vi /etc/postfix/main.cf
[...]
virtual_alias_maps = hash:/www/emailPoubelle/var/virtual
srv:~$ touch /www/emailPoubelle/var/virtual
srv:~$ postmap /www/emailPoubelle/var/virtual
srv:~$ chown www-data /www/emailPoubelle/var/virtual
srv:~$ chown www-data /www/emailPoubelle/var/virtual.db

Ajouter dans le fichier /etc/aliases le devnull (pour la fonction de suspension de l’adresse email)

srv:~$ echo "devnull:/dev/null" >> /etc/aliases
srv:~$ newaliases

2013-12-13

En route vers ownCloud 6

owncloud_bannerL’annonce est tombée cette semaine le version communautaire de ownCloud passe à la version 6.0.

Je voulais attendre la première mise à jour mineur avant de migrer mon serveur, mais l’envie de découvrir la bête fut plus forte.

Sans plus attendre création d’un clone du VPS de production pour voir si cette migration se fera sans encombres.

Pour ceux qui ne travaillent pas sur machines virtuelles une simple copie du dossier owncloud suffit, sans oublier un dump sql si vous travaillez avec Mysql.

$sudo cp -r /var/www/owncloud /var/www/backup_12122013
#et pour le dump sql depuis votre serveur
$sudo mysqldump -u utilisateur -p base_owncloud > owncloud_12122013.sql

Le owncloud que j’utilise a été installé depuis les dépôts d’ opensuse et c’est très simplement que j’ai procédé à coup d’apt :

$sudo apt-get update
$sudo apt-get upgrade

Au premier abords ce qui m’a frappé c’est le nombre gigantesque de dépendances installées avec cette nouvelle version, c’est probablement dut à la nouvelle fonctionnalité sur l’édition de texte en temps réel par plusieurs utilisateurs.

Le temps de savourer une bonne brune avec une cigarette l’installation était prête.

C’est là que les choses se sont compliquées, lors de ma première connexion le mode maintenance c’est activé, comme à chaque mise à jour, mais là après une dizaine de minutes toujours cette maudite page de maintenance.

Cela m’était déjà arrivé auparavant, une console ssh pour me permettre d’éditer le fichier config.php

$sudo  nano /var/www/owncloud/config/config.php

#modification de la variable maintenance
<?php
$CONFIG = array (
  'instanceid' => '************',
  'passwordsalt' => '*****************',
  'datadirectory' => '/mon dossier/data',
  'dbtype' => 'mysql',
  'version' => '6.0.0.13',
  'dbname' => '*******',
  'dbhost' => '********',
  'dbtableprefix' => '***',
  'dbuser' => '****',
  'dbpassword' => '*****',
  'installed' => true,
  'forcessl' => true,
  'theme' => '',
  'maintenance' => false, # changer true en false
);

En effet il peut arriver que le mode maintenance ne change pas d’état après une mise à jour et il faut le faire à la main. Un fois ceci fait je retente une connexion et là encore il me résiste.

Cette fois-ci j’ai un message d’erreur inconnu “Failed to upgrade “search_lucene”. Allons bon c’est qui cette lucene. search_lucene est une application de owncloud pour effectuer des recherches plein texte. Et il semblerait qu’elle ne veuille pas se mettre à jour. Après une recherche sur le Github du projet je suis tombé sur se ticket qui m’a permis de résoudre le problème. Comme expliqué par Butonic il s’agit d’une erreur sur le statuts de l’application à mettre à jour.

J’ai donc suivi les instructions, j’ai créé un fichier php dans /var/www/owncloud/apps/search_lucene/appinfo/preupdate.php pour y insérer le code suivant :

<?php

$currentVersion=OC_Appconfig::getValue('search_lucene', 'installed_version');

if (version_compare($currentVersion, '0.5.2', '<')) {
    //delete duplicate id entries
    $stmt = OCP\DB::prepare('
        DELETE FROM `*PREFIX*lucene_status`
        WHERE `fileid` IN (
            SELECT `fileid`
            FROM (
                SELECT `fileid`
                FROM `*PREFIX*lucene_status`
                GROUP BY `fileid`
                HAVING count(`status`) > 1
            ) AS `mysqlerr1093hack`
        )
    ');
    $stmt->execute();
}

Et hop problème résolut, j’arrive enfin sur la page de login, qui soit dit en passant est très agréable malgré tout ce bleu.

login_owncloud_6

Je craignais de rencontrer d’autres déboires, mais non une fois connecté j’ai retrouvé tous mes petits et profiter du nouveau thème for sympathique.

 

fichier_owncloud6

Après cet essais concluant j’ai lancé la migration grandeur nature avec sans surprise les même erreurs, résoluent très facilement.

Pas besoin de reconfigurer mes clients desktop ils ont récupéré automatiquement la connexion et reprit leur synchro habituelle.

Je n’ai pas encore utilisé la fonction d’édition des documents en ligne, mais les quelques essais réalisés sont prometteur.

J’apprécie d’avoir le bouton applications en bas à gauche, très pratique pour activer désactiver des applications.

En conclusion ses quelques heures sous ownCloud 6 m’ont vite fait oublier mes galères du début et je ne regrette pas de ne pas avoir attendu.

 

 

2013-12-09

SSL/TLS is powned

Google a découvert que des certificats certifiés par l’ANSSI ont permis de faire du MITM sur le traffic destiné à Google.

En clair, l’Agence nationale de la sécurité des systèmes d’information française peut se faire passer pour Google et écouter/modifier le traffic chiffré par SSL entre vous et Google sans activer aucune alerte (cadenas toujours vert dans Firefox, SSL actif).

La faute au tiers de confiance du principe d’SSL. On fait confiance à tous les certificats signés par les autorités de certifications fournies avec notre OS ou notre navigateur. Comme le montre la réponse boiteuse de l’ANSSI. Et parmi celles-ci il y a des gouvernements (Japanese Government, ), des entreprises de télécommunication (AOL, Swisscom), beaucoup de sociétés américaines (Verisign, Thawte), etc… La blague.

Je l’avais déja expliqué ici et .

Un moyen de protection bancal contre ça est de vérifier si le certificat pour tel site a changé depuis notre dernière visite. Mais ca part du principe que la première connexion s’est faite sans MITM. De plus, les serveurs Google n’ont pas tous le même certificat, donc vous êtes submergés de fausses alertes.

2013-12-05

Steam rejoint la Linux Fondation

SteamOS-600x300Plus précisément c’est la société qui développe Steam, Valve qui vient d’entrée en tant que membre de la Linux Fondation.

Valve assume donc officiellement son intérêt pour le système GNU/Linux, un an après la sortie de sa plateforme de jeux Steam. C’est aussi l’occasion de devenir “décisionnaire” dans le développement de GNU/Linux qui est le coeur de SteamOS leur nouvelle plateforme orientée jeux.

Il y a un an j’étais très enthousiaste sur la sortie de Steam sous GNU/Linux, je me suis dit enfin les choses bouges. Cela va peut-être encourager d’autre à franchir le pas. Moi-même utilisateur de Steam je dois dire qu’en un an le catalogue c’est bien étoffé, mais je regrette que de grands studios soient encore frileux vis-à-vis du pingouin.

En revanche, cette annonce me laisse un peu perplexe, car nous ne connaissons pas le montant de la contribution de Valve dans la Fondation et de ce fait nous ignorons son degré de décision. En effet pour être membre de la Fondation il faut verser une contribution financière et en fonction de cette somme l’entreprise à plus ou moins son mot à dire sur l’évolution de GNU/Linux.

De ce fait cela suppose quelques questions. Jusqu’où valve pourra intervenir sur le développement de GNU/Linux ? Pourra-t-elle faire véto sur une fonctionnalité dérangeante pour son système ? Fournira-t-elle ses modifications ou améliorations ?

Ou alors je suis en train de spéculer pour rien car ce n’est pas la première entreprise à rejoindre la Fondation et jusque là les développeurs n’ont pas changé de ligne de conduite.

L’avenir nous le dira. J’espère juste cette fois-ci que cela sucite à d’autre de se lancer dans l’aventure GNU/Linux.

2013-12-04

Thunderbird : passer par ownCloud pour envoyer vos pièces jointes

thunderbird-logo.jpg

Il y a encore quelques mois, je me demandais s'il était possible, un jour, de voir l'intégration d'ownCloud et de sa capacité de partage de fichiers dans Thunderbird, le client mail de la fondation Mozilla.

Ne voyant rien arriver, je commençais à me résigner à copier/coller des liens dans mes mails. C'est maintenant terminé.

Il est désormais possible de servir de Thunderbird avec du bon ownCloud dedans.

Installation

La méthode utilise uniquement l'extension WebDAV pour Filelink compatible avec Thunderbird 13 et plus, c'est tout. Pour l'installer, passez par ce lien et ajoutez-la à Thunderbird.

Filelink, c'est ce qui permet à Thunderbird d'envoyer des mails contenant des pièces jointes volumineuses, ce qui n'est pas possible en temps normal.

Configuration

Il est possible de configurer ownCloud de deux manières : l'une offrira un accès aux pièces jointes aux utilisateurs ayant un compte sur votre instance ownCloud et l'autre donnera un accès publique aux fichiers partagés.

C'est à vous de faire votre choix.

Configuration avec un accès publique aux pièces jointes

On va d'abord s'attaquer à ownCloud puisqu'il faut configurer l'extension de Thunderbird avec deux liens tirés d'ownCloud.

Dans mon cas, j'ai décidé de créer un répertoire unique qui servira à recevoir les fichiers partagés via ownCloud. Ce dernier s'appelle tout simplement PJointes.

Le premier lien

Le premier lien qu'il nous faut est l’accès WebDAV à ownCloud. Pour l'avoir, il faut se balader dans le menu Personnel d'ownCloud.

Dans mon cas, il s'agit de :

https://www.dadall.info/cloud/remote.php/webdav .

Mais puisque j'ai décidé de partager les fichiers dans un répertoire spécifique, PJointes, il faut le préciser.

On se retrouve donc avec :

https://www.dadall.info/cloud/remote.php/webdav/PJointes

Le deuxième lien

Le deuxième lien qu'il nous faut est celui obtenu en activant le partage par lien d'un répertoire, PJointes dans mon cas.

Dans mon cas, on se retrouve avec quelque chose comme ça :

https://www.dadall.info/cloud/public.php?service=files&t=725abf9a453e5d3f4b6bb6c6f836baa7

Mais, pour que ça fonctionne avec l’extension, il faut rajouter &download&path=/ à la fin de celui-ci.

Nous voici donc avec :

https://www.dadall.info/cloud/public.php?service=files&t=725abf9a453e5d3f4b6bb6c6f836baa7&download&path=/

Nous avons maintenant les deux liens magiques qui vont nous permettre de configurer l'extension de Thunderbird.

Configuration de l'extension

Une fois que vous avez installez l'extension, allez dans le menu Édition, puis Préférences, Pièces Jointes et dans l'onglet Sortant.

La capture d'écran suivante est en anglais, mais c'est presque pareil.

webdavfilelink.png

Une fois que vous êtes là, vous pouvez ajouter ownCloud en appuyant sur Ajouter/Add.

addfilelink.jpg

Choisissez le protocole WebDAV et collez dans l'ordre les deux liens que vous avez extraits un peu plus tôt. L'extension est configurée.

Configuration avec un accès réservé aux utilisateurs de votre instance ownCloud

Note : cette méthode ne permettra pas au quidam d’accéder aux pièces jointes mais elle permet de ne pas les laisser en accès totalement libre via le lien WebDAV.

La méthode est presque la même que celle expliquée ci-dessus. Ce qui change est que vous n'allez pas utiliser un répertoire partagé publiquement pour héberger vos pièces jointes mais le répertoire Shared d'ownCloud. Vous bénéficierez ainsi de tout le système d'authentification.

L'accès à celui-ci est réservé aux utilisateurs de l'instance et ne permet d'afficher que les fichiers auxquels vous souhaitez qu'ils accèdent.

Le lien qui change est le premier que je vous explique un peu plus haut. Vous utiliserez l'accès WebDAV au répertoire Shared en utilisant celui-ci :

https://www.dadall.info/cloud/remote.php/webdav/Shared

Tout simplement, et vous n'utiliserez pas de deuxième lien. Ce n'est plus la peine.

Et voilà, ownCloud est intégré à votre Thunderbird.

Utilisation

A chaque fois que vous voudrez envoyer un fichier de plus de 5Mb (configuration par défaut, cf la première capture d'écran), Thunderbird enverra directement le lien sur votre cloud préféré et ce cadre apparaitra dans le mail du destinataire :

filelinkowncloudexemple.png

Voilà, une bonne chose de faite. Vous n'avez plus qu'à profiter de votre installation maintenant ;-)

Source, via un shaarlieur mais je ne sais plus lequel...

2013-12-03

FreshRSS 0.6 : le test

L'ami diasporien*  Marien vient de sortir la version beta 0.6 de son lecteur de flux RSS : FreshRSS. J'avais dit que je testerais son travail, allons-y !

freshrss_logo.png

Note : Ceci est une version beta, pas faite pour de l'utilisation au quotidien. Je me lance dans le test de cette version par curiosité : si vous voulez une installation tenant la route, quelque soit le l'application, attendez toujours la version finale !

Installation

Les étapes de l'installation sont absolument ordinaires. Rien de surprenant. C'est bien plus simple que d'installer une instance TinyTiny-RSS, cela dit en passant.

Étape 0

C'est très rapide ici : on fait juste son choix de langue.

etape1.png

Étape 1

Ici, on fait l'habituelle vérifications des prérequis : PHP, cURL, MySQL. Rien d'exotique.

etape1-1.pngÉtape 2

On génère un chiffre aléatoire qui devrait servir à améliorer la sécurité en "salant" le mot de passe et ainsi ralentir considérablement les petits malins qui se lanceraient dans des attaques de type brute-force.

On donne un titre à son installation de FreshRSS, la durée pendant laquelle les articles seront conservés dans la base de données et un courriel de connexion. Notez qu'on peut utiliser Persona. Persona, c'est le nouveau nom de BrowserID, le système d'authentification de la Fondation Mozilla.

etape2.png

Étape 3

Ici, ce sont les informations de connexion à la base de donnée qu'on va renseigner. Simplissime.

Note : Pensez toujours à créer un utilisateur particulier pour chaque application qui se connecte à votre base de donnée. Ça permet de morceler l'accès à la base de donnée et donc d'avoir une sécurité supplémentaire en cas d'éventuel problème.

etape3.png

Validez et l'installation est terminée ! C'est franchement simple !

Utilisation

Pour tester, j'ai exporté ma liste d'abonnement de TT-RSS (106 flux) au format OPML et j'ai balancé tout ça dans FreshRSS. Après quelques minutes d'attente, j'ai enfin réussi à me servir de mon nouveau jouet.

demo.png

La vue que j'utilise fait partie des 3 choix que vous aurez : la vue classique (type TT-RSS), la vue lecture (les articles les uns en dessous des autres à l'infini) et la vue globale que j’apprécie beaucoup.

Dans le cas de la vue globale, vous pouvez choisir d'afficher les flux des sites directement ou celle des catégories. Plutôt sympas.

Les options

Le truc que j'apprécie pas mal en tant qu'accro des flux RSS, c'est de pouvoir les partager, sur mon shaarli, par exemple.

FreshRSS le permet de base ! Google Plus, Facebook, Twitter et Shaarli sont de la partie dans les options de partage que vous aurez en bas de chaque article. 

Les autres options sont des plus classiques pour un lecteur de flux : les raccourcis qui vont bien, la possibilité d'autoriser tout le monde à lire votre flux, un chargement différé des images (chouette quand on a une connexion indienne), etc.

Conclusion

J'aime bien ce lecteur de flux. J'avoue ne pas être encore capable de me débarrasser de TT-RSS à cause de son application Android mais c'est une bonne solution libre.

Il est rapide, simple et fait tout ce qu'on peut lui demander, rien à redire. A tester si vous êtes adeptes des flux RSS.

2013-12-02

Comprendre un monde qui change : Internet et ses enjeux

securedweb.png

Ça faisait un bout de temps que je n'avais pas profité d'une bonne conférence de M'sieur Benjamin BAYART. Je vous propose de regarder celle qu'il a donné le 8 novembre dernier. C'est toujours passionnant.

Au programme, une conférence de 2h30 orientée définition de l'Internet, de son fonctionnement, ses conséquences sociétales et explication de tout ce que ça implique au niveau de la vie privée, des DRM/Copyright et de la politique.

La conférence fut donnée à l'Institut Mines-Télécom de Paris et est disponible avec tant d'autres à cette adresse.

Si vous ne connaissez pas encore ce bonhomme, sachez que c'est l'une des personnes qui connait actuellement le mieux les problématiques autour de l'Internet. C'est le monsieur Internet ou Minitel 2.0 ?.

2013-11-27

Partager sur Diaspora*

Lorsque je tombe sur un lien intéressant (ou pas), je le partage sur Twitter, sur mon Shaarli mais j'oublie systématiquement Diaspora*. Voyons comment faire pour préparer votre vie numérique à une meilleur utilisation du réseau Diaspora !

Diaspora_large_new.png


Depuis Firefox

Il existe des modules complémentaires pour Firefox, bien heureusement. Le seul trouvable dans les dépôts officiels est Diaspora Advenced Sharer. Je ne parlerais pas de ceux qui ne sont pas "officiels" de peur de vous faire installer une cochonnerie.

Son fonctionnement est assez simple. Une fois installé, il ajoute le logo de Diaspora* en bas à droite de votre navigateur. Un clique dessus et c'est parti pour le partage.

Au premier lancement, il vous demandera de configurer votre Pod. Diaspora* étant librement installable par n'importe qui, ce genre de configuration est bien bienvenue.

diasporaconf.png

Dans mon cas, c'est diaspora-fr.org que j'ajoute.

Petite astuce, en bas à gauche, il est possible de définir le Pod que vous utilisez par défaut et qu'il est inutile de vous redemander votre avis.

Petit exemple d'un partage en bonne et due forme :

partagediasp.png

Le lien n'est pas dans la capture, mais pensez bien qu'il l'ajoute automatiquement, c'est le principe ;-)

Donc, avec Shaarli d'un côté et Diaspora* de l'autre, vous allez pouvoir partager vos trouvailles dans tous les sens !

Edit : Comme le signal Marien, ici, il est possible d'ajouter un système de partage à sa barre de favoris. Tout comme Shaarli. Regardez dans la colonne de droite de votre flux, section Bookmarklet. J'étais complètement passé à côté.

Du coup, si vous ne voulez pas passer par un module complémentaire, ceci est pour vous.

Depuis Dotclear

dotclear2.6.png

Note : Si vous cherchez un nouveau CMS pour votre blog, essayez Dotclear 2.6 qu'il est bien.

Pour Dotclear, l'ajout de fonctionnalité de partage se révèle un peu plus compliqué. Il n'existe pas encore d'extension permettant de l'intégrer sans se fouler.

Il se pourrait que je me lance dans la création d'une extension mais ça ne fait franchement pas partie de mes compétences. J'essayerais quand même, un jour.

En attendant, vous pouvez éditez l'apparence votre blog en passant par l'interface administration. Il me semble que les thèmes sont construits sur la même base alors si je ne me trompe pas, vous n'avez qu'à faire comme moi et modifier la page post.html pour ajouter le bouton de partage en bas de vos billets.

Voici le code à intégrer :

<a href="javascript:window.open('http://sharetodiaspora.github.io/?url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title),'das','location=no,links=no,scrollbars=no,toolbar=no,width=620,height=550');"
   style="padding: 3px 4px 2px; background: #fafafa; border: 1px solid #ddd; font-size: 13px; color: #222; text-decoration: none; vertical-align: top;">
    <img src="https://joindiaspora.com/favicon.ico" style="border: 0px solid;" /> Diaspora*
</a>

Ce n'est rien de bien compliqué à faire, si vous avez besoin d'un peu d'aide, laissez un commentaire et j'essayerais de faire ce que je peux.

Et pour finir, pensez à venir avec nous sur Diaspora* ;)

2013-11-26

[Wiki]Protection du serveur avec iptables

Nous avons assez peu parlé de sécurité jusqu’ici sur Homeserver-DIY. Mais, comme pour toute machine exposée sur un réseau, un serveur doit avoir un pare-feu bien configuré. C’est donc un tuto sur la configuration de netfilter que Seboss666 nous propose sur le wiki :

Iptables est un utilitaire en ligne de commande permettant de manipuler le pare-feu integré au noyau Linux, Netfilter. Et quoi qu’on en dise, même sous Linux, en particulier si vous hébergez et donc proposez des services sur Internet, il est nécessaire de serrer un peu la vis. Et iptables fait ça très bien.

 

C’est par là : Protection du serveur avec iptables

Service web : Un mode maintenance pour bricoler

By RRZEicons (Cc-sa)

By RRZEicons (Cc-sa)

Afin de réaliser des maintenances sur mon service web (ou les services attenant tel que Mysql) j’ai mis en place un petit mot d’excuse qui dit en substance : “maintenance en cours, merci de repasser plus tard”. C’est mieux que “La connexion a échoué” ou “Can’t Connect to MySQL Server on nian nian nian” non ?

La configuration de prod  :

  • Apache sur le port 80

La configuration de maintenance :

  • Apache sur le port 80 (le même)
  • Lighttpd sur le port 81
  • Iptables redirige le trafic arrivant sur le port 80 vers le port 81 en PREROUTING sauf pour mon IP (ça permet donc de bricoler)

Installation de lighttpd

Apeuté, et ayé :

aptitude -y install lighttpd
update-rc.d lighttpd remove
mkdir /var/www/maintenance
echo "Serveur en maintenance" > /var/www/maintenance/index.html # Vous pouvez faire une belle page html c'est mieux !

Configuration de lighttpd

Éditer le fichier /etc/lighttpd/lighttpd.conf

server.modules = (
	"mod_access",
)

server.document-root        = "/var/www/maintenance"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 81
server.error-handler-404    = "/index.html"

index-file.names            = ( "index.html", "index.lighttpd.html" )

include_shell "/usr/share/lighttpd/create-mime.assign.pl"

Il est certainement possible de faire plus propre sur ce point. Actuellement je gère le message dans le index.html que je met dans le error404. Des redirection 302 quelque soit l’URL serait à envisager.

Maintenance On/Off

Pour se mettre en mode maintenance :

# Démarrage du serveur d'excuse
service lighttpd start
# Redirection du port 80 vers 81 sauf pour mon IP
iptables -A INPUT -p tcp --dport 81 -j ACCEPT
iptables -t nat -A PREROUTING \! -s ${IPMAISONDEMOI} -p tcp --dport 80 -j DNAT --to-destination ${IPDUSERVEUR}:81
iptables -t nat -A POSTROUTING -j MASQUERADE

Et pour désactiver le mode maintenance :

# Si vous n'avez pas d'autres règles (c'est mal) :
iptables -F
iptables -t nat -F
# Sinon redémarrer votre service iptables 
# Lighttpd n'est plus utile
service lighttpd stop

Si vous avez des suggestions…

2013-11-24

Verifier les enregistrements DNS de son domaine de mail

En voila un titre pompeux pour exprimer un problème simple. En effet faisant suite à l’explosion du SPAM ces dernières années les grandes boutiques qui vous espionnent soit dit en passant, regardent de très prés les mails reçus par leurs serveurs pour y détecter de potentiels SPAM.

Je parle ici d’enregistrements DKIM/DK/SPF/SenderID, voila tout ce beau petit monde doit être déclaré auprès de votre fournisseur de domaine dans la section DNS de votre Domaine, et surtout avoir des valeurs cohérentes.

Pour la SME Server, ne paniquez pas vous avez la possibilité de rentrer un SMTP tiers, du style celui de votre FAI, qui va recevoir vos mails pour les réacheminer. Je reconnais que c’est beaucoup plus simple.

Bon sinon la punition elle est pas chère, vos mails seront rejetés :D

L’astuce que je veux vous présenter est d’envoyer un mail à un service gratuit qui vous répondra en analysant vos enregistrements DNS, vous pourrez ainsi comprendre pourquoi vos mails sont refusés par la…NSA-and-co :)

le service s’appelle verifier.port25.com et le mail doit être envoyé à :

check-auth@verifier.port25.com

Ah….au fait votre serveur de mail à la maison, c’est pour quand ?.

[ispconfig] Managesieve (dovecot) & Horde

sieve.infoDes dires de Wikipedia : “Sieve est un langage de filtrage du courrier électronique. Il est normalisé dans le RFC 5228. Sieve permet de filtrer sur les en-têtes d’un message qui suit le format du RFC 5322, c’est-à-dire un message Internet typique. ”

Sieve c’est très pratique car le filtrage du courrier est effectué au niveau du serveur dès la réception de l’email. Ce qui est presque indispensable quand on utilise plusieurs clients de messagerie (web &/ou desktop). Je vais donc utiliser Managesieve (qui est la partie serveur du protocole) pour Dovecot (projet Pigeonhole).

Actuellement le panel ISPconfig me permet d’éditer les filtres Sieve mais n’utilise pas Managesieve. ISPconfig stock en base (table mail_user_filter) et écrase le fichier à chaque modification.

Je ne souhaite plus passer par ISPconfig pour modifier mes filtres, mais directement par Horde (via Ingo) ou Roundcube (plugin) ou encore par thunderbird (plugin) selon mes besoins.

Installation de Managesieve

Rien de plus simple :

aptitude install dovecot-managesieved

Modifier le fichier /etc/dovecot/dovecot.conf :

< protocols = imap
> protocols = imap sieve

Puis redémarrer le service, le port 4190 doit ensuite être à l’écoute :

$ service dovecot restart
$ netstat -pnat | grep 4190
tcp        0      0 0.0.0.0:4190            0.0.0.0:*               LISTEN      11111/dovecot

Horde (ingo) & Sieve

Il vous suffit de modifier le fichier ingo/config/backends.php de votre instance horde de la façon suivante :

[...]
/* IMAP Example */
$backends['imap'] = array(
    // ENABLED by default
<    'disabled' => false,
>    'disabled' => true,
    'transport' => array(
        Ingo::RULE_ALL => array(
            'driver' => 'null',
            'params' => array(),
        ),
    ),
[...]
$backends['sieve'] = array(
    // Disabled by default
<    'disabled' => true,
>    'disabled' => false,
    'transport' => array(
        Ingo::RULE_ALL => array(
            'driver' => 'timsieved',
            'params' => array(
                // Hostname of the timsieved server
                'hostspec' => 'localhost',
                // Login type of the server
                'logintype' => 'PLAIN',
                // Enable/disable TLS encryption
                'usetls' => false,
                // Port number of the timsieved server
                'port' => 4190,
                // Name of the sieve script
<                'scriptname' => 'ingo',
>                'scriptname' => 'filtres',
                // Enable debugging. The sieve protocol communication is logged
[...]

Ne faites (peut être) pas ça chez vous

En effet ça ne s’avère pas être forcément la meilleure des solutions :

  • Il n’est apparemment pas possible d’importer des scripts existants.
  • Plus embêtant il s’avère que Horde fonctionne presque de la même façon qu’ISPconfig. A savoir qu’il stock en base les filtres et écrase le script sieve (via managesieve quand même) Ce qui me condamne à n’utilise qu’une interface (horde) pour modifier mes filtres :’-(

Bon je m’en contente, il est toujours plus agréable de modifier ses filtres via son webmail (horde) que via le panel ISPconfig.

2013-11-19

Vie Privée : Psilo, un VPN même qu’il est (vachement) bien

N’ayant strictement rien branlé publié depuis plus de six mois, il était grand temps de remettre les pendules à l’heure.

Edit 29/01/2014 : Psilo a décidé de fermer ses portes : Fermeture annoncée de Psilo. Bref, je suis dégouté…

Espèce de Vendu… Ça pue le billet sponsorisé, on t’as reconnu Fantomas !

Alors, déjà, bande de libristes extrémistes assoiffés de liberté, soyons (très) clair à ce sujet, ce billet n’est pas :

  1. acheté par une marque (Non, « Môssieur », je ne mange pas de ce pain là !)
  2. le fruit d’un partenariat éhonté (Dégage ! Mon frigo est plein, j’ai même des cornets vanille-chocolat…)
  3. le résultat d’un quelconque copinage (Et là ? Tu la sens ma grosse Vade-Retro-commission ?)

Nan, même pas : il s’agit juste du fruit d’une utilisation perso (12 mois quand même) et un compte-rendu s’imposait.

Dans 90% des cas, dès que l’on parle de VPN (simple, léger, fiable), il est question d’OpenVPN.

Les adorateurs d’IPSEC ou de PPTP iront se faire cuire un oeuf : le premier est une usine à gaz, le second totalement has-been.

Du coup, je me suis longuement plongé dans la doc d’OpenVPN, leur forum et, franchement, je vous parie un paquet de fraises Tagada que ça va défriser votre « Môman ». (En supposant qu’elle soit connectée : j’ai essayé avec la mienne, ce fut un désastre total mais passons…)

Bref, un VPN c’est bon pour votre réseau local : mangez-en matin, midi et soir (avec plein de morceaux d’IP à l’étranger).

N’importe quoi ! Moi, j’ai une totale confiance envers mon FAI/PRISM/la NSA

Je n’en doute pas, mais alors pas du tout. (Cette remarque était bien sûr ironique, bande de gros naïfs -> restons poli)

NSA Cloud Backup – Stockage gratuit et automatique de vos données privées !

Étant donné que la majorité de vos données/échanges/mails sont sauvegardés via une « application » tierce, il serait temps que vous souleviez deux points relatifs au stockage de votre vie privée :

  1. Quel est l’URL (et le password) pour accéder aux backups ?
  2. Comment puis-je restaurer mes données via FTP/Rsync ?
  3. Quel est le délai de rétention ?

Bon, ok c’est lourd, j’arrête ici les bêtises (mais en sont-elles vraiment ?).

Quant aux sombres crétins bisounours qui pensent encore que leur FAI (préféré) n’a pas cédé aux sirènes du Deep Packet Inspection, on ne peut plus rien faire pour eux  (toutes mes condoléances aux familles : ce fut un homme brave, mais un peu « ingénu » quand même…).

Bref, depuis un an, j’utilise un VPN, en l’occurrence celui fournit par Psilo, avec changement automatique de pays toutes les 4 heures, histoire de préserver le peu de vie privée qu’il me reste.

Et vous ? A part fouetter sauver des chatons sur Youtube, vous faites quoi ?

Lire la suite…

Installation d'une Debian minimale pour le routeur

Pour cette première partie, je vous propose d'installer une Debian minimale avec quelques modifications pour fonctionner sur une mémoire flash.

Préparation du système

L'installation d'un système Debian sur une carte de petit format (2 Go dans notre cas) impose de supprimer un certain nombre de paquets inutiles :

Les paquets suivants seront désinstallés par la commande apt-get purge [1] :

  • aspell et aspell-fr (correcteur orthographique),
  • bc (The GNU bc arbitrary precision calculator language),
  • bsdmainutils (des utilitaires provenant de FreeBSD)
  • man-db
  • busybox (des utilitaires Unix pour les systèmes légers [2]),
  • dc (calculatrice de bureau en notation polonaise inversée),
  • debian-faq (les questions fréquemment posées à propos de Debian et leurs réponses),
  • debian-policy (de la documentation),
  • developers-reference-fr (un recueil de conseils et de
  • pratiques établis par et pour la communauté des développeurs Debian),
  • dictionaries-common et les paquets dépendants,
  • doc-debian, doc-debian-fr, manpages*, maint-guide-fr, doc-linux-text et doc-linux-fr-text (documentations),
  • groff-base (langage de programmation pour écrire de la documentation),
  • info (Navigateur autonome pour la documentation GNU de type Info),
  • laptop-detect (tente de détecter un ordinateur portable),
  • m4 (Langage de traitement de macros),
  • mutt (un client mail en mode texte),
  • nano (un éditeur de texte),
  • nfs-common (à moins que vous souhaitiez monter des partitions à travers le réseau via NFS),
  • os-prober (utilitaire de détection d'autres systèmes d'exploitation),
  • patch (Applique un fichier « diff » à un fichier original),
  • procmail (un trieur de courriels),
  • python et les paquets dépendants (un langage de programmation),
  • sgml-base et xml-core,
  • exim (un serveur de courriels) : installer ssmtp (serveur SMTP léger, plus adapter à notre petit système) à la place,
  • tasksel (Outil pour sélectionner des tâches à installer sur des systèmes Debian),
  • texinfo (système de documentation),
  • wamerican (doctionnaire),
  • whiptail (Affiche des boîtes de dialogue conviviales à partir de scripts shell),
  • xauth (utilitaire d'authentification X),

Enfin, la commande suivante permettra de supprimer les paquets (librairies) qui ne sont plus nécessaires :

apt-get autoremove

Optimisation des accès disque

Une carte SD s'use vite.

Il convient de limiter les accès disque [3]. Le système n'écrira pas sur le disque la date du dernier accès s'il n'y a pas d'écriture dans la partition racine avec l'option noatime. Les fichiers temporaires du systèmes seront placés dans la mémoire vive (250 Mo tmpfs). Les paquets téléchargés par Apt seront également placés dans la mémoire vive (800 Mo). Ainsi, le fichier /etc/fstab ressemblera à celui-ci :

proc /proc proc defaults 0 0
# Dossier temporaire
tmpfs /tmp tmpfs defaults,size=250m 0 0
# Cache d'apt
tmpfs /var/cache/apt/archives tmpfs defaults,size=800m 0 0
/dev/sda5 / ext4 noatime,errors=remount-ro 0 1
/dev/sda1 none swap sw 0 0

Chacun adaptera la taille des partitions en fonction de ses besoins.

Minimiser l'usage de la mémoire SWAP en créant un fichier /etc/sysctl.d/swap.conf

(...)
vm.swappiness=0

La valeur 0 indique au système d'utiliser la mémoire SWAP quand la mémoire vive libre atteind 0 % (c'est à dire qu'elle est complètement pleine).

Après redémarrage, le système indique bien que /tmp et le dossier de cache des paquets est en mémoire vive :

root@antimoine:~# df -h
Sys. de fichiers Taille Uti. Disp. Uti% Monté sur
/dev/sda5 1,7G 565M 1023M 36% /
tmpfs 999M 0 999M 0% /lib/init/rw
udev 994M 156K 994M 1% /dev
tmpfs 999M 0 999M 0% /dev/shm
tmpfs 250M 0 250M 0% /tmp
tmpfs 800M 0 800M 0% /var/cache/apt/archives

Paquets complémentaires

Afin de maintenir le système à l'heure, on installe le paquet ntp qui contient le démon ntpd [4].

L'auto-complétion dans Bash, c'est tellement pratique, installer le paquet bash-completion.

Notre système étant prêt, il ne reste plus qu'à installer la passerelle...


[1] L'option purge permet de supprimer, en plus des exécutables, les fichiers de configuration.

[2] C'est paradoxal de l'enlever mais j'ai plus l'habitude avec les utilitaires équivalent GNU.

[3] Voir à ce sujet l'article sur le Wiki Ubuntu-fr

[4] Ne pas confondre avec le paquet ntpdate qui contient seulement l'utilitaire éponyme permettant de mettre ponctuellement l'heure système à jour.

2013-11-08

ownCloud Documents, le test

owncloud-logo.png

Dans un précédent billet, je parlais de l'ajout de l'application Documents à solution d'informatique dans les nuages ownCloud. Je n'avais pas réussi à la tester mais c'est maintenant chose faite.

Je vous propose de regarder ce qu'il se cache derrière Documents.

Ma configuration de test se résume à mon PC portable sous Debian Wheezy/Testing, apache2, Firefox et du Pink Floyd. Le tout en local. J'ai commencé avec la première version beta et j'ai terminé avec la deuxième. Il peut donc y avoir des petites différences entre certaines captures d'écran, rien de bien méchant dans l’ensemble.

Une nouvelle application

Qui dit nouvelle application dans votre instance ownCloud dit nouvelle icône. Documents va logiquement se glisser dans la barre d'outils latérale. Un simple clique et vous êtes à la maison.

index.png

Documents va naturellement chercher les fichiers compatibles dans les répertoires que contient votre instance. Il vous est quand même possible d'en créer des nouveaux ou d'en téléverser d'autres depuis l'application elle-même.

Partage des documents

Le système de partage est exactement le même que celui que nous avons nous utilisons déjà. Il n'y a pas de quoi se tromper, rien de nouveau de ce côté. Il se rapproche de celui qui sert à partager les images.

Accédez au document que vous voulez partager, chercher le groupe ou l'utilisateur avec lequel vous voulez bosser et partagez.

partage3.png

On retrouve les options ordinaires : partager avec les utilisateurs, partager via un lien, ajouter un mot de passe et donner un date d'expiration au partage.

partage2.png

Les utilisateurs connectés au document partagé s'affichent dans une simple colonne de droite, avec leur image de profil s'ils en ont une ou la première lettre leur login par défaut.

utilisateurs.png

Les possibilités offertes par Documents

Si on regarde la concurrence, il faut être honnête, il n'y a pas encore de quoi sauter au plafond. Ceci-dit, tout est configurable.

De base, on retrouve 7 styles, dont les différences ne sautent pas tout de suite aux yeux :

option.png

  • Default Style
  • Standard
  • Heading
  • Text Body
  • List
  • Caption
  • Index

Comme je le dis plus haut, tout est configurable. Pour ajouter un nouveau style : cliquez sur Format et laissez vous aller.

Voici deux captures d'écran pour vous présenter les deux onglets pleins d'options :

alignement.png  effects.png

On est à la limite du DIY (Do It Yourself) mais avec un peu de préparation, on peut configurer toutes les façons que l'on veut d'écrire du texte. Un exemple :

nouveaustyle.pngOui, c'est moche mais c'est un exemple.

Les autres trucs

  • J'ai cherché et je n'ai pas trouvé comment supprimer un style créé. En en créant un, j'ai fait une faute de frappe : je ne peux pas le supprimer, arf.
  • Manipulation des images, des liens, des tableurs, etc : y'a pas. Gageons que ça va venir.
  • J'ai testé l'application avec un document assez conséquent. Le résultat n'est pas vraiment mauvais : seules les images disjonctent de temps en temps.

Pour finir, je remarque que la propagation des modifications n'est pas franchement rapide. C'est sans doute un petit défaut de jeunesse mais ça m'inquiète, étant auto-hébergé. J'ai un débit en upload très lent et je crains des délais de latence horriblement long.

Voilà pour le rapide tour d'horizon !

Changer le DNS sur votre Belgacom BBox-2

Connectez vous à votre BBox 2 Belgacom en telnet : $ telnet 192.168.1.1

Le login est admin, le mot de passe est le numéro de série écrit sous la BBox (le même que celui demandé pour se connecter à l’interface d’admin http://192.168.1.1)

Pour connaitre le réglage DNS actuel de la BBox :

[admin @ home]$ rg_conf_print /dev/br0/dhcps/dns/
(dns
(0(192.168.1.1))
)
Returned 0

Pour modifier la configuration DNS et insérer votre serveur DNS local :

[admin @ home]$ rg_conf_set /dev/br0/dhcps/dns/0/ 192.168.1.25
Returned 0

Je vous conseille aussi de mettre le serveur DNS d’origine en tant que second serveur DNS au cas où. Si jamais votre serveur DNS s’arrêtait (extinction du PC), cela vous évitera de vous faire pourrir votre entourage parce que « Internet marche plus !!! »

[admin @ home]$ rg_conf_set /dev/br0/dhcps/dns/1/ 192.168.1.1
Returned 0

Vérifiez la config :

[admin @ home]$ rg_conf_print /dev/br0/dhcps/dns/
(dns
(0(192.168.1.25))
(1(192.168.1.1))
)
Returned 0

Sauvegardez:

[admin @ home]$ save

2013-11-05

Dotclear 2.6 sera responsive design

Le responsive design ou site web adaptatif en bon français, quand on doit mettre les mains dans du code, c'est plus ou moins une plaie. Tout le monde en veut mais côté développeur, ça fait grincer des dents.

Non pas que ça soit difficile à intégrer mais parce que ça fait souvent partie des options que le client croient acquises. Et bien non.

dotclear.jpeg

Voici donc une introduction maladroite pour vous annoncer que l'équipe de développement de Dotclear vient de dévoiler sur son blog que la future version de son CMS aura une interface administration en responsive design.

dotclear-responsiv.jpg

Autant dire que les possesseurs de tablette ou de tout autre produit perdu entre la tablette et le smartphone pourront désormais rédiger leurs billets sans devoir lutter avec l'affichage des menus. Chouette !

J'en profite pour glisser un petit mot : Dotclear n'est pas mort. Ils sont loin de l'effervescence effrayant de Wordpress et l'équipe tient bon. Les nouveautés s'affichent de nouveau sur le site officiel et ça me fait drôlement plaisir.

Amis ayant envie de vous lancer dans le blog auto-hébergé, réfléchissez à l'option Dotclear. C'est léger, efficace et ça marche très bien pour moi depuis des années.

Vague de spam sur mon wiki sur l'auto-hébergement

Mon wiki sur l'auto-hébergement est depuis quelque temps la cible de spammeurs. Leur façon de procéder est assez simple : créer de nombreux utilisateurs bidons — une dizaine par jour — puis créer des pages de texte publicitaire.

L'enregistrement de nouveaux utilisateurs est actuellement protégé par un CAPTCHA, qui force ces spammeurs à créer manuellement leur utilisateurs mais ne les empêche pas de sévir. Pour le moment, je me contente de réduire leurs efforts à néant :

  • en supprimant les pages de publicité dès que je les remarque, assez vite en suivant le flux de syndication des modifications du wiki ;
  • en supprimant à la pelle, ou plutôt à la pelleteuse, les utilisateurs dont le nom et l'adresse électronique ont l'air suspects : dernier en date, Terrie McCann <RupewirtunAsymi@outlook.com>, nom pas du tout francophone, adresse électronique sans rapport avec le nom ni même avec la consonance écossaise de ce nom, crée chez un fournisseur générique : poubelle ;
  • en bloquant complètement sur mon pare-feu les adresses IP responsables de dégradations et de nombreux enregistrements d'utilisateurs, en signalant ces abus à leurs fournisseurs d'accès en demandant une prise en compte et une réponse, puis finalement en bloquant complètement les plages d'adresses IP des fournisseurs irresponsables qui ne daignent pas répondre, c'est à dire tous.

J'essaie de limiter la casse en agissant avec discernement : jusqu'à présent, je n'ai bloqué que fournisseurs d'accès localisés dans des pays qui ne devraient pas avoir d'intérêt à l'utilisation d'un site de documentation francophone : Tchéquie, Chine, Ouzbékistan, Brésil, etc. Vu la diversité des adresses utilisées, je soupçonne toutefois ces spammeurs d'utiliser un botnet ou un système de relais.

Si vous voulez contribuer à ce wiki, il est en revanche tout à fait possible que je supprime par erreur votre compte utilisateur sans faire attention, s'il se trouve enregistré au milieu de nombreux compte de spammeurs. Pour éviter cela, n'hésitez pas à me contacter.

2013-11-04

Facebook va utiliser les photos de profil pour vous identifier automatiquement

Toujours désactivé en Europe, le service de reconnaissance automatique des personnes figurant sur une photo publiée sur Facebook devrait au contraire prendre de l’ampleur aux Etats-Unis. Le réseau social souhaite en effet ajouter les photos de profils des membres à sa base de données biométriques permettant d’identifier les visages.

Aux Etats-Unis, où il subit beaucoup moins d’inquiétudes qu’en Europe sur le respect de la vie privée, Facebook se prépare à donner un important coup d’accélérateur à son outil de reconnaissance des visages, qui permet d’identifier automatiquement les personnes présentes sur une photographie publiée sur le réseau social. Comme le relève Reuters, Facebook a mis à jour ses conditions contractuelles pour lui permettre d’exploiter les photos de profils de ses utilisateurs pour enrichir sa base de données de visages identifiables.

Pour le moment, cette base de données biométriques n’est enrichie qu’à partir des photographies « taggées » par les utilisateurs qui indiquent manuellement qui sont les personnes présentes sur les photos qu’ils publient, en associant un visage à un profil Facebook. Le taggage se fait ensuite automatiquement lorsque Facebook reconnaît les visages dans les photos publiées, le réseau social permettant à ses membres de savoir lorsqu’ils ont été identifiés sur une photo, et de s’opposer s’ils le souhaitent à une telle identification.

Bientôt, Facebook pourrait largement accélérer le processus en ajoutant lui-même à sa base de données les photos de profil de ses quelques 1 milliard d’utilisateurs. Ils pourront toujours choisir de désactiver leur identification sur les photos publiées par des tiers, mais s’ils ne le font pas, ils pourront être identifiés automatiquement dès la première photo publiée. Les membres de Facebook peuvent aussi agir manuellement sur chacune des photos, pour choisir celles les tags qu’ils acceptent de laisser, et les photos avec lesquelles ils préfèrent ne pas être associés.

Introduit avec une autorisation par défaut en 2011, l’outil de reconnaissance faciale n’est plus disponible en Europe depuis septembre 2012, Facebook ayant interrompu le programme suite aux craintes émises par les CNIL européennes. Il avait toutefois prévenu qu’il s’agissait d’une simple suspension temporaire.

Pour le moment, le service est toujours désactivé, et les conditions d’utilisation de Facebook n’ont pas bougé dans leur version française.

2013-11-02

Signer ses RPM

GnuPG signifie GNU Privacy Guard, et  est l’outil GNU pour sécuriser les communications et le stockage des données. Il peut aussi être utilisé pour  créer des signatures numériques. Après la construction de votre RPM cela peut être une bonne idée de signer le paquet avec votre propre clé GPG pour s’assurer que le paquet est authentique lors du téléchargement depuis votre dépôt. voir  Stephdl-repository pour un exemple de comment déclarer la signature PGP dans le dépôt Logiciel que je gère pour la SME Server

Dans ce guide, je vais couvrir comment générer votre propre paire de clés GPG et signer votre paquetage RPM avec cette clé.

1)Créez le dossier GnuPG

[root@sme8rpm ]# cd ~
 [root@sme8rpm ]# mkdir .gnupg

2)Générer une paire de clés GPG (clé publique et clé privée)

[root@sme8rpm ]# gpg --gen-key
 gpg (GnuPG) 1.4.5; Copyright (C) 2006 Free Software Foundation, Inc.
 This program comes with ABSOLUTELY NO WARRANTY.
 This is free software, and you are welcome to redistribute it
 under certain conditions. See the file COPYING for details.
gpg: keyring `/root/.gnupg/secring.gpg' created
 gpg: keyring `/root/.gnupg/pubring.gpg' created
 Please select what kind of key you want:
 (1) DSA and ElGamal (default)
 (2) DSA (sign only)
 (4) RSA (sign only)
 Your selection? 1
 DSA keypair will have 1024 bits.
 About to generate a new ELG-E keypair.
 minimum keysize is 768 bits
 default keysize is 1024 bits
 highest suggested keysize is 2048 bits
 What keysize do you want? (1024) 1024
 Requested keysize is 1024 bits
 Please specify how long the key should be valid.
 0 = key does not expire
 = key expires in n days
 w = key expires in n weeks
 m = key expires in n months
 y = key expires in n years
 Key is valid for? (0) 0
 Key does not expire at all
 Is this correct (y/n)? y
You need a User-ID to identify your key; the software constructs the user id
 from Real Name, Comment and Email Address in this form:
 "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
Real name: Foo
 Email address: foo@foo.com
 Comment:
 You selected this USER-ID:
 "Foo <foo@foo.com>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
 You need a Passphrase to protect your secret key.
We need to generate a lot of random bytes. It is a good idea to perform
 some other action (type on the keyboard, move the mouse, utilize the
 disks) during the prime generation; this gives the random number
 generator a better chance to gain enough entropy.
 +++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++..+++++
 We need to generate a lot of random bytes. It is a good idea to perform
 some other action (type on the keyboard, move the mouse, utilize the
 disks) during the prime generation; this gives the random number
 generator a better chance to gain enough entropy.
 ++++++++++++++++..++++++++++++++++++++.+++++++++++++++>+++++...+++++^^^
 gpg: /root/.gnupg/trustdb.gpg: trustdb created
 public and secret key created and signed.
 key marked as ultimately trusted.
pub 1024D/23A254D4 2005-01-06 Foo <foo@foo.com>
 Key fingerprint = 9D71 B237 3AE2 B54A B62D 5DC7 2758 9842 23A2 54D4
 sub 1024g/D08816E2 2005-01-06

3)Maintenant que vous avez généré les clés GPG, vous pouvez voir la liste dans votre trousseau de clés en tapant:

[root@sme8rpm]# gpg --list-keys
/root/.gnupg/pubring.gpg
 -------------------------------
 pub 1024D/23A254D4 2005-01-06 Foo <foo@foo.com>
 sub 1024g/D08816E2 2005-01-06

4)Pour extraire ou exporter votre clé publique de votre trousseau de clés dans un fichier texte.

[root@sme8rpm]# gpg --export -a 'Foo' > RPM-GPG-KEY

Ce fichier est nécessaire pour l’importer dans votre base de données de RPM pour vérifier un paquet avec la clé GPG plus tard. Si vous avez l’intention de partager vos paquetages RPM avec d’autres, assurez-vous d’avoir votre fichier de clé publique disponible en ligne à la racine de votre dépôt logiciel,  afin qu’ils puissent vérifier votre RPM. voir  Stephdl-repository pour un exemple de comment déclarer la signature PGP dans le dépôt Logiciel.

5)Pour importer votre clé publique à votre DB RPM

[root@sme8rpm]# rpm --import RPM-GPG-KEY
 Password:

6)Nous allons vérifier la liste des clés GPG publics dans la DB RPM:

[root@sme8rpm]# rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\n'

7)Dernière étape avant la signature, configurez votre fichier ~ rpmmacros  et y inclure les éléments suivants.:

root@sme8rpm]# nano ~/.rpmmacros
%_signature gpg
 %_gpg_path /root/.gnupg
 %_gpg_name Foo
 %_gpgbin /usr/bin/gpg

8)Maintenant, vous êtes prêt à signer votre paquetage RPM 

root@sme8rpm]# rpmbuild -ba --sign smeserver-roundcube.spec

ou

root@sme8rpm]# rpm --addsign smeserver-roundcube-0.9-15.rpm
9)pour vérifier si tout est ok
root@sme8rpm]# rpm --checksig smeserver-roundcube-0.9-15.rpm
 smeserver-roundcube-0.9-15.src.rpm: (sha1) dsa sha1 md5 gpg OK
Généré le 2014-04-20 15:26 UTC avec Planet Venus