Parlons un peu de Wikileaks et de quelle manière le site tiens encore debout ?

Analysons un peu cet article du Monde : WikiLeaks : "Nous avons subi des attaques d'une rare intensité"

Quel serveur web ?

Plusieurs serveurs web différents, cela s'explique par différentes localisations et sans doute différents administrateurs.

Utilisation de round robin DNS :

Wikileaks.ch est hébergé à plusieurs endroits, voilà ce que donne les DNS :

$ dig wikileaks.ch
 ;; ANSWER SECTION:
 wikileaks.ch.           434     IN      A       213.251.145.96
 wikileaks.ch.           434     IN      A       46.59.1.2
 wikileaks.ch.           434     IN      A       178.21.20.8
 wikileaks.ch.           434     IN      A       178.21.20.9
  • 213.251.145.96 : OVh Roubaix valley
  • 46.59.1.2 : Bahnhof DBM Dans le bunker en Suède
  • 178.21.20.8 et 178.21.20.9 : Parti Pirate

On observe déjà un TTL relativement court, ce qui permets de faire des modifs dns en cas de Saturation.. ou de disparition des serveurs :)

On peut aussi voir autre chose :

;; ANSWER SECTION:
wikileaks.ch.           1800    IN      SOA     dns.wikileaks.ch. webmaster.piratenpartei.ch. 2010120803 21600 3600 604800 1800

La zone dns est hébergée par le parti pirate suisse

C'est une technique qui est utilisée par les sites de E-Commerce pour être robuste et tolérents aux pannes, c'est ce que Akamai fournit comme service.

  • TTL court
  • Geolocalisation de l'internaute et retour d'une ip proche de l'internaute

Et pour finir ils ont aussi multiplié le nombre de Nameserver :

;; AUTHORITY SECTION:
wikileaks.ch.           1539    IN      NS      arjeplog.scnr.ch.
wikileaks.ch.           1539    IN      NS      v217241437.yourvserver.net.
wikileaks.ch.           1539    IN      NS      dns.wikileaks.ch.
wikileaks.ch.           1539    IN      NS      lou.porcus.ch.
wikileaks.ch.           1539    IN      NS      marmotta.brabbel.ch.
wikileaks.ch.           1539    IN      NS      ns1.twisted4life.com.
wikileaks.ch.           1539    IN      NS      elrido.no-ip.org.
wikileaks.ch.           1539    IN      NS      s2.s3cr3t.de.
wikileaks.ch.           1539    IN      NS      dns2.easydns.net.
wikileaks.ch.           1539    IN      NS      dns1.syshack.org.
wikileaks.ch.           1539    IN      NS      ns2.easydns.com.
wikileaks.ch.           1539    IN      NS      ns1.pcdog.ch.
wikileaks.ch.           1539    IN      NS      dns2.syshack.org.
wikileaks.ch.           1539    IN      NS      ns1.buzzernet.net.

Eux aussi geo-distribués..

Focalisons nous sur le plus rapide du moment pour distribuer du contenu statique distribué via

Nginx

 Server: nginx/0.8.53

Wikileaks utilise la dernière version stable (et sans bugs de sécurité)..

C'est un serveur Russe :) et c'est robuste, rapide.

Plus sérieusement le design du serveur est le suivant :

  • Traitement asynchrone des requêtes
  • Très faible consommation de mémoire
  • Rapide sur les machines multi-core
  • Réduction des appels système
  • Logiciel libre
  • Forte communauté d'utilisateurs
  • Utilisateurs avec fort trafic (Plusieurs millions/jour)
  • C'est 6% des serveurs web dans le monde Source netcraft

Tout cela fonctionne biensur sur un kernel linux

Mais cela n'est pas suffisant parce que Nginx utilise des entrées/sorties disques ou SSD et c'est TROP lent ! Surtout quand on a 10 Gb/s d'attaques distribuées au cul ! Solution ? Ci-dessous..

Un accélérateur web ?

C'est le plus rapide du moment et sans doute celui qui distribue le plus de contenu au monde, car il est utilisé en production par facebook pour ses images.

wget -S http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs967.snc4/76004_168955959804794_100000711748307_389665_xxxxxxxxxx.jpg

Les headers indiquent :

 HTTP/1.0 200 OK
 Content-Type: image/jpeg
 Content-Length: 94973
 X-Backend: hs987.snc4
 X-Blockid: 76004
 Last-Modified: Tue, 1 Jan 2008 00:00:00 GMT
 X-N: S
 Date: Fri, 10 Dec 2010 20:06:42 GMT
 Connection: keep-alive
 Longueur: 94973 (93K) image/jpeg

C'est un accélérateur web ou reverse-proxy cache qui se place devant un serveur web et qui va mettre le contenu en cache et plus précisement dans de la mémoire vive (Qui ces temps-ci attends des débits de l'ordre de 20Gb/s).

  • Allocation d'un bloc de mémoire virtuelle
  • Tout est en mémoire (Ram = rapide)
  • Très peu de cycles cpu consommés grâce à très peu d'appels système
  • Comme son auteur l'écrit : c'est un logiciel moderne et pas des années 1975 (Comme Squid par exemple)
  • On laisse l'allocateur mémoire de linux se débrouiller avec la mémoire (et il fait ça très bien avec plein de petits blocs.. comme des pages web en cache).

Facebook l'utilise donc pour distribuer l'ensemble de ses images en consommant très peu d'entrées/sorties.. c'est ce qui est coûteux !

Et biensur utilisation du kernel linux :)

D'après l'auteur de Varnish, le serveur peut délivrer 250 000 requêtes web par seconde sur une seule machine, de quoi saturer un lien 10Gb/s.

Varnish est en frontal, c'est lui qui prends tout dans les dents.. Et pas de chance pour les floodeurs, l'auteur de Varnish soutient Wikileaks.

Mirroirs :

Vendredi 10 décembre : 1559 sites mirroirs chez autant d'hébergeurs différents dans autant de pays différents.

Autant dire qu'il est impossible de faire couper l'ensemble de ces hébergements, le site est condamné à rester en ligne.. Tant qu'il y'aura des gens qui pourront le faire fonctionner.

N'oublions pas que nous utilisons un enfant d'Arpanet.. crée pour résister à une guerre nucléaire.. dans notre cas la guerre est informatique..

Assurance vie de Wikileaks :

Wikileaks a distribué via bittorent un fichier qui se nomme : WikiLeaks_insurance

C'est une assurance vie, au cas où cela deviendrait du n'importe quoi avec Wikileaks et sa tête Julian Assange.

Conclusion :

La conclusion avait déjà été faite par MIchel Serres : Les nouvelles technologies : révolution culturelle et cognitive

Voici son propos que je vais essayer de vous résumer :

  • Nous avons changé d'espace
  • Révolution culturelle
  • L'éthymologie du mot adresse est intéressante
  • L'adresse est la notion la plus importante de cette révolution, l'adresse de l'espace actuel (Exemple : 11 rue des fleurs) indique tout d'abord un L’étymologie géométrique puis un espace juridique. C'est aussi un espace politique.

L'exemple choisi par Michel Serres est intéressant : Si vous avez commis un crime, la gendarmerie se déplacera à votre adresse pour vous arrêter.

Un espace de droit

Changer d'espace implique deux changements :

  • Changer de droit
  • Changer de politique

Michel Serres explique que si nous avons changé d'espace, nous sommes peut être dans un espace de non droit

Et là c'est une prédiction de ce qui allait arriver avec OVH et Eric Besson, Michel Serres explique qu'il est impossible d'appliquer le droit de l'espace réel à cet espace de non droit (Internet).

Un autre exemple de Michel Serres, au moyen âge les forêts étaient un espace de non droit

Il explique que ces forêts étaient remplies de violeurs,[1] de voleurs et d'autres gens de la sorte, mais un jour ils se sont déguisés avec une sorte de costume vert.. Et ces gens répondaient à un chef.. Qui s'appelait "Robin des bois"

Robin des bois signifie :

"Des bois" : de non-droit c'est un lieu de non droit

Et "Robin" c'est celui qui porte la Robe, c'est le Magistrat

Michel Serres dit :

Il est nécessaire qu'un droit naisse de ce lieu et uniquement possible à ce lieu

Michel Serres prends l'exemple d'une dame qui a lancé une pétition en Belgique qui pris une ampleur terrible en quelques semaines, cet exemple il le caractérise par une phrase que je vais appliquer à Wikileaks :

C'est une hirondelle qui annonce un printemps démocratique

Notes

[1] pedo-nazis ?