linux

Serveur dédié (virtuel) à pas cher

Tout bon geek qui se respecte (et qui ne travaille pas chez un hébergeur) a un dédié, en général du low cost à 15 € par mois chez OVH (Kimsufi) ou chez Free/Iliad (Dedibox). Mais parfois, on a envie de bidouiller, tester, jouer avec IPv6, avoir un petit serveur OpenVPN sous le coude (pour sortir avec une IP américaine, pour prendre un exemple totalement au hasard), avoir un serveur de backup distant, etc… Bref, c’est là qu’entre en jeu le dédié virtuel : ça sent le dédié, ça ressemble au dédié (si on accepte de ne pas toucher à son kernel), mais c’est moins cher que du dédié !

En France, on peut par exemple se tourner vers Phpnux qui propose des VDS de qualité à seulement 8.25 € HT / mois. Mais si on se tourne de l’autre côté de l’Atlantique, les prix s’écroulent :

  • 123systems : le VDS (sous OpenVZ) avec 256 Mo de RAM burstable à 512 Mo, 10 Go de disque, une adresse IP(v4) à Dallas (USA) est à $3 / mois ! Et pour le double ($6 / mois), vous avec 512 Mo de RAM burstable à 1 Go, et 20 Go d’espace disque.
  • QuickWeb : le VDS (sous OpenVZ) avec 256 Mo de RAM, 12 Go de disque, une adresse IP(v4) en Allemagne, est à $6 / mois (env 4.32 €). C’est un tout petit peu plus cher que les deux suivants (enfin on parle de quelques euros / an…), mais leurs VDS sont d’excellente qualité et surtout ils sont très stables. J’aurais donc tendance à recommander ce prestataire, d’autant qu’il propose des serveurs aux USA, mais également en Europe (en Allemagne), donc avec des pings largement plus raisonnables que New York ou Los Angeles ! ;-)
  • Enotch Networks : le VDS (sous OpenVZ) avec 512 Mo de RAM, 20 Go de disque, deux adresses IP(v4) et du net à 10 Mb/s, est à $5.95 / mois (env. 4.31 €), ou bien $50.95 / an (env. 36.91 €) !
  • 2Host : le VDS (sous Xen) avec 256 de RAM + 512 Mo de swap, 5 Go de disque, 10 To de transit IP par mois (!!!), une adresse IP(v4), est à $4.99 / mois (env. 3.61€ ), ou bien $47.88 (env. 34.69 €) !

J’ai personnellement testé ces prestataires depuis plusieurs mois (années pour certains), et ça fonctionne très bien, c’est même assez bluffant vu le prix… Bon, bien sûr, il ne faut pas s’attendre à avoir les perfs d’un Bi-Xeon, et il faut accepter les pings > 100 ms (puisque tout est souvent aux USA). Certes, mais pour moins de 4 € par mois on a un serveur de tests (et un VPN) cassable et réinstallable à loisir :-) Et c’est payable mensuellement, sans aucun engagement ! Ils sont forts (des fois) ces américains.

(Mise à jour : 31/01/2012)

Tags: , , , ,

Mercredi 5 janvier 2011 Linux, Serveur dédié Commentaires fermés

(Se préparer enfin à) passer à IPv6

On en entend parler depuis des mois^Wannées : « IPv4 c’est mort, il n’y aura bientôt plus d’adresses disponibles, ce n’est plus qu’une question de jours/mois/années » (rayer les mentions inutiles). C’est urgent, oui tout le monde le sait, mais personne ne se décide vraiment (et franchement) à franchir le pas.

Il est temps de se prendre en main, et de se préparer enfin (pour 2017, quand on n’aura plus le choix). Voici quelques liens pour aider les timides :

  • On commence avec le livre IPv6 , consultable entièrement en ligne et gratuitement. Il est mis à disposition par le G6 (association loi 1901 qui bosse sur tous les aspects liés à IPv6). Ce livre reprend intégralement la 4ème édition du livre IPv6 théorie et Pratique, paru chez O’Reilly en 2005, et il est en français ce qui ne gâche rien. Il s’agit donc d’une très belle référence, pour commencer sérieusement !
  • Une fois que vous commencez à piger un peu IPv6, il est temps de demander une /64 pour s’amuser : encore une fois, Hurricane Electric vous propose cela gratuitement ! Un tunnel, monté depuis une de vos IP(v4) fixes vers l’un des nombreux serveurs de HE dispos sur tous les continents, une /64 (du type 2001:470:4:99d::/64) vous est attribuée et c’est parti. Si vous êtes sage, vous pouvez même obtenir une /48… Le service s’appelle TunnelBroker. Des exemples de config, pour à peu près tous les OS, vous seront fournis. Par exemple sur un Linux avec iproute2 :
modprobe ipv6
ip tunnel add he-ipv6 mode sit remote 216.66.22.2 local w.x.y.z ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:3:99d::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr
  • Ca y est, vous avez une parfaite maitrise d’IPv6 ? Il ne reste plus qu’à passer (gratuitement) la certification IPv6, proposée par… oui, encore Hurricane Electric (c’était pourtant facile).

Voilà, c’est à vous de jouer !

Tags: , ,

Mardi 4 janvier 2011 Réseaux Un commentaire

Certifications orientées sécurité

Si vous vous êtes déjà intéressé à la question, peut être avez-vous remarqué que les certifications sur le thème de la sécurité sont de plus en plus nombreuses ces temps-ci, surtout outre-atlantique. En France on trouve plusieurs organismes qui forment à la CEH (Certified Ethical Hacker), une certification portée par l’organisme américain EC-Council, et reconnue par le département de la défense américaine (voir ici). Cette certification est assez généraliste, et brosse la majeure partie des domaines de la sécurité. Sa reconnaissance par le DoD est un sérieux atout, même si je doute que l’on puisse transformer, en cinq jours seulement, un n00b en véritable « hacker » :-)

Toutefois, une petite nouvelle semble pousser assez fort : eCPPT (eLearnSecurity Certified ProfessionalPenetration Tester), proposée par la start-up italienne eLearnSecurity. Il ne s’agit plus d’une formation/certification classique sur site, cette fois-ci tout se fait en ligne (cours) et à distance (certification) : slides, vidéos, labs, forums. Du coup, le prix annoncé est très très abordable ($599) comparé à une formation CEH (3600€) ! Les premiers commentaires des sites spécialisés (ici et ), ainsi que des premiers certifiés (par exemple ici, ou par là), sont très élogieux. Cette formation est divisée en trois grosses parties : système, réseaux, applications web. Apparemment la partie orientée sécurité web est assez pointue, le reste un peu plus « léger » (tout est relatif, les shellcodes en assembleur ne sont pas non plus à la portée du premier codeur Java/waïbdeuzéro venu). De ce que j’ai pu lire, le niveau semble bien au-dessus du niveau requis pour avoir la CEH. Bref, une certif à suivre de très très près, d’autant qu’ils ont le bon goût de proposer un paiement étalé sur trois mois ($250, puis $200, puis $200) si vous n’avez pas la chance de vous la faire financer par votre employeur.

Si quelqu’un a une expérience avec une de ces deux certifications, ou bien une opinion éclairée sur la question, je suis très intéressé !

Tags: , ,

Vendredi 31 décembre 2010 Sécurité Commentaires fermés

VimGolf

Tu as fini Angry Birds, et tu t’ennuies pendant tes vacances de Noël ? Si tu penses connaitre tous les raccourcis clavier de VIM, dégaine tes plus beaux (gros) doigts, sors ton xterm favori et viens affronter le reste de l’univers sur VimGolf ! L’objectif est très simple : un fichier source, un fichier destination, et il faut arriver à passer de l’un à l’autre avec le moins de frappes de touches possibles (on parle de vim, bien évidemment). Ca ne sert à rien, c’est donc merveilleux pour passer les fêtes de fin d’année ;-)

Tags: ,

Jeudi 30 décembre 2010 Linux Commentaires fermés

Calcul de la charge CPU réelle

Vous savez tous ce que représente la charge (load average) d’une machine Unix ? Non ? Bon, alors un petit rappel : c’est le nombre moyen de processus en cours d’exécution ou en attente d’exécution. Vous êtes probablement persuadé que sur une machine mono-processeur et mono-core, une charge supérieure à 1 indique que la CPU est totalement utilisée… de même pour une charge supérieur à 4 sur un dual-core hyper-threadé… et bien non, pas forcément. Prenons l’exemple d’un serveur « dédié » à bas prix chez un hébergeur français bien connu, avec un disque monté en iSCSI : De manière générale, les processus passent énormément de temps à attendre (car les accès disques sont extrêêêêêêmement lents). Techniquement ils font donc monter le load-average, puisqu’en attente d’exécution, même si la ou les CPU ne font rien ! Un load-average haut ne signifie donc pas nécessairement que la machine est au taquet ! C’est cependant un indicateur intéressant, et qui révèle souvent un problème ou une saturation des ressources.

Vous savez tous ce que représente la charge (load average) d’une machine Unix ? Non ? Bon, alors un petit rappel : c’est le nombre moyen de processus en cours d’exécution ou en attente d’exécution. Vous êtes probablement persuadé que sur une machine mono-processeur et mono-core, une charge supérieure à 1 indique que la CPU est totalement utilisée… de même pour une charge supérieur à 4 sur un dual-core hyper-threadé… et bien non, pas forcément. Prenons l’exemple d’un serveur « dédié » à bas prix chez un hébergeur français bien connu, avec un disque monté en iSCSI : De manière générale, les processus passent énormément de temps à attendre (car les accès disques sont extrêêêêêêmement lents). Techniquement ils font donc monter le load-average, puisqu’en attente d’exécution, même si la ou les CPU ne font rien ! Un load-average haut ne signifie donc pas nécessairement que la machine est au taquet ! C’est cependant un indicateur intéressant, et qui révèle souvent un problème ou une saturation des ressources.
Mais comment voir la charge CPU réelle alors, et monitorer correctement si les CPU sont surchargés ?

En utilisant /proc/stat, qui nous indique le temps total (en jiffies) passé par les processus en exécution (user, nice, system, etc…). En faisant une différence des valeurs divisé par le temps entre les deux mesures, on obtient la charge CPU consommé dans les différents « états ». Si on ajoute user+nice+system de tous les processeurs/cores divisés par le nombre de processeurs/cores, on obtient la charge CPU réelle de la machine : Si on fleurte avec les 100%, là on est réellement au taquet de la CPU :-)

Voici un petit script bash indiquant la charge CPU totale réelle de la machine, à un instant t :

#!/bin/bash

TIMER=1

function usageCPU {
  read cpu user nice system reste < <(grep "^cpu " /proc/stat);
  echo "$user+$nice+$system" | bc
}

NB_CPU=$(grep "^processor" /proc/cpuinfo | wc -l)

while true;
do
  MESURE_1=$(usageCPU)
  sleep $TIMER
  MESURE_2=$(usageCPU)
  CPU_USAGE=$(echo "scale=2; ($MESURE_2-$MESURE_1)/($TIMER*$NB_CPU)" | bc)
  echo "Total CPU usage = $CPU_USAGE%"
done

Dans le même style, il est intéressant de monitorer le 5ème champ de /proc/stat (« iowait« ), pour déceler un goulot d’étranglement sur les accès aux disques, par exemple.

Tags: , ,

Mercredi 30 décembre 2009 Linux Commentaires fermés