Happy hacking :-)

petit bloc-notes à usage interne qui peut peut-être servir à d'autres ...

Aller au contenu | Aller au menu | Aller à la recherche

30jan

Gandi Hébergement -- part 3: préparer son serveur Ubuntu - ntp, mail, sec updates

Quelques préparations sont à effectuer afin d'avoir un serveur prêt à accueillir des services évoluées comme HTTP ou DNS. Au menu donc :

  • synchronisation horaire
  • envoi de mails
  • mises à jour de sécurité

Rien de compliqué mais il faut le faire dès le début.

1. Synchronisation horaire :

Cela peut sembler superflu ou trivial mais, par exemple, la moindre opération de corrélation de logs ne peut être efficiente sans cela.

apt-get install ntp

Cette commande va installer un serveur NTP qui va veiller à garder en permanence votre serveur à l'heure.

Extrait de mon fichier /etc/ntp.conf :

# You do need to talk to an NTP server or two (or three).
server 0.fr.pool.ntp.org
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
server 3.fr.pool.ntp.org

Quelques extraits de mes logs pour voir si cela est utile :

Feb 19 10:28:06 happyhacking ntpd[2415]: synchronized to 91.121.10.82, stratum 3
Feb 19 10:28:43 happyhacking ntpd[2415]: synchronized to 88.191.14.223, stratum 2
Feb 19 10:35:03 happyhacking ntpd[2415]: synchronized to 91.121.22.48, stratum 2
Feb 19 10:39:24 happyhacking ntpd[2415]: time reset -2.447818 s
Feb 19 10:44:33 happyhacking ntpd[2415]: synchronized to 88.191.14.223, stratum 2
Feb 19 10:55:13 happyhacking ntpd[2415]: time reset -2.447043 s

Visiblement oui ;-)

2. l'envoi de mail

Le besoin d'envoi de mails depuis le serveur va très vite se faire sentir et je ne parle pas du besoin émis par tout botnet issu d'un hack de votre serveur ! ;-)

En effet, il y a de grandes chances que vous vouliez lancer via Cron un certain nombre de tâches dont vous voudrez récupérer la sortie. Le mail sera alors le moyen naturel de communication.

Pour cela, installons la commande mailx et le serveur SMTP Exim, et via la commande dpkg reconfigurons Exim.

apt-get install mailx exim4-daemon-light
dpkg-reconfigure exim4-config

2 écrans utiles sinon vous pouvez choisir les choix par défaut :

exim4

Là il vous demande de choisir le mode d'envoi de votre serveur. J'ai choisi Internet car le support Gandi m'a précisé qu'il ne mettait pas un relais SMTP Gandi à disposition des serveurs de l'hébergement. Si vous aviez ce type de serveur à disposition, vous valideriez le mode SmartHost.

exim - locla host

Choisir 127.0.0.1 pour ne pas mettre votre serveur de mail Exim à disposition de tout l'internet. Là, uniquement les process locaux pourront envoyer des mails.

Votre machine a vous envoyer plein de jolis mails :-)

3. Automatiser les MAJ de sécurité
Alors là, on va faire hérisser les cheveux de tout sysadmin un brin chevronné MAIS tant pis !

On va mettre en place une application automatique des MAJ de sécurité. Oui car entre lire le avis de sécurité et répondre OUI 99,99% du temps et le faire en automatique, je ne vois que des avantages à le faire en automatique : rapidité, pas d'oubli, fait tout le temps (WE, nuit, vacances, maladie etc).

Le logiciel qui va la faire pour vous est cron-apt. Le tuto est déjà écrit ici.

NB : la seule variation est au point 3. où il faut garder que le dépôt Ubuntu security :

deb http://ubuntu.mirror.gandi.net/mirror/ubuntu/ubuntu gutsy-security main universe multiverse


Exemple d'utilisation :

  • Annonce d'une vulnérabilité sur la librairie PCRE le 22/02/2008 00:58.
  • Même jour, 4 heures plus tard (dépend de la fréquence de la vérification que vous avez positionné), réception d'un mail (grâce à la manipulation décrite plus haut ;-) ) m'indiquant que la MAJ de sécurité a été appliquée :
Date:   	Fri, 22 Feb 2008 04:59:39 +0100 [22.02.2008 04:59:39 CET]
De:  	MA MACHINE
À:  	MOI
Sujet:  	CRON-APT completed on MA MACHINE [/etc/cron-apt/config]

CRON-APT RUN [/etc/cron-apt/config]: Fri Feb 22 04:00:01 CET 2008
CRON-APT SLEEP: 3553, Fri Feb 22 04:59:14 CET 2008
CRON-APT ACTION: 3-download
CRON-APT LINE: /usr/bin/apt-get upgrade -u -y -o APT::Get::Show-Upgraded=true
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be upgraded:
  libpcre3
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 204kB of archives.
After unpacking 0B of additional disk space will be used.
Get:1 http://ubuntu.mirror.gandi.net gutsy-security/main libpcre3 7.4-0ubuntu0.7.10.2 [204kB]
Fetched 204kB in 0s (892kB/s)
(Reading database ... 18463 files and directories currently installed.)
Preparing to replace libpcre3 7.4-0ubuntu0.7.10.1 (using .../libpcre3_7.4-0ubuntu0.7.10.2_i386.deb) ...
Unpacking replacement libpcre3 ...
Setting up libpcre3 (7.4-0ubuntu0.7.10.2) ...

Processing triggers for libc6 ...
ldconfig deferred processing now taking place


Je trouve cela plutôt utile surtout pour des serveurs combinant les 2 caractéristiques suivantes :

  • exposition maximale sur Internet,
  • suivi de sécurité le plus souvent assez approximatif : comment cela je ne parle que de mon cas ? J'ai comme un doute tout à coup ;-)

Enjoy !

17jan

Gandi Hébergement -- part 2: sécuriser le SSH de son serveur Ubuntu

Une fois acquis, votre hébergement est accessible en mode expert via ssh : ssh <votre user>@<votre adresse IP>

1. Le problème

Mais dès que vous dites cela, vous vous rendez compte que tous les robots et autres botnets peuvent en faire autant.

Vous ne me croyez pas ?

Lancez donc cette commande comme moi au bout de seulement 2 jours :

root@XXX:/home/user1# cat /var/log/auth.log* | grep 'Failed password' | grep sshd
 | awk '{print $1,$2}' | sort | uniq -c
    690 Jan 10
     58 Jan 11

Le résultat exprime le nombre d'échecs de connexion SSH par jour (sic !). En gros, Presque 700 échecs de connexion pour une machine venant d'être mise en ligne. CQFD.

Quelques faits :

  • SSH est configuré par défaut chez Gandi pour ne pas autoriser les logins root,
  • vous devez renforcer absolument le password de votre user de connexion,
  • vous devez vous prémunir des attaques de force brute.

2. La solution

Un moyen tout simple est d'utiliser le logiciel Fail2ban.

Principe :

Analyser les échecs de connexion consignés dans le fichier /var/log/auth.log et mettre à jour le firewall en bannissant pour un temps donné les adresses IP apparaissant plus de tant de fois en échec dans le fichier en question.

Prérequis :

Installer un firewall. Iptables dans notre cas.

Commande :

apt-get install iptables
apt-get install fail2ban

Configuration :

La configuration s'effectue dans le répertoire /etc/fail2ban. La configuration par défaut est dans le jail.conf que l'on peut altérer en créant le fichier jail.local. Comme cela, lors d'une update, pas d'écrasement de configuration.

Mon fichier jail.local :

[DEFAULT]
ignoreip = @IP1 @IP2 @IP3

[ssh]
maxretry = 3

Où @IPx sont les adresses sur lesquelles vous ne souhaitez pas de mise en liste noire. Cela peut être utile d'y mettre l'IP fixe de votre box domestique ou celle de votre sortie internet d'entreprise au cas où cela soit VOUS qui ayez oublié votre password ;-)

Résultat :

root@XXX:/home/user1# cat /var/log/auth.log* | grep 'Failed password' | grep sshd
 | awk '{print $1,$2}' | sort | uniq -c
    690 Jan 10
     58 Jan 11
     11 Jan 12
     14 Jan 13
      7 Jan 14
      2 Jan 15

Liste du nombre d'échecs de connexions sur SSH avec une installation de fail2ban le 11 Janvier. Spectaculaire hein ?

10jan

Gandi Hébergement -- part 1: pourquoi faire le saut

Et oui, ils l'ont fait : de l'hébergement sur du matériel neuf et pointu en mode virtualisé (utilisation de Xen donc très peu d'overhead).

On achète des "parts" de serveur (64 parts par serveur physique) sans aucun engagement de durée : souplesse garantie.

Une part :

  • 1/64° d'un quadri Dual Core AMD
  • 256 Mo RAM + 512 de swap
  • 5 Go de disque (RAID 6)
  • adresse IP incluse
  • traffic illimité et 1/64° de capacité réseau du serveur (2x1Gbps)

Le tout en choisissant dans un panel de distribution Linux important dont Ubuntu 7.10. Les *BSD sont dans la wishlist (et oui :-) ...).

Du coup, j'ai fait le saut et je migre de mon hébergement virtualisé précédent chez Web1.fr vers Gandi Hébergement. Je n'ai pas grand chose à reprocher à Web1.fr qui pendant un bon moment m'a donné le moyen d'avoir une Debian en ligne accessible en ligne de commande.

J'ai fait ce choix pour disposer :

  • d'une distribution Ubuntu
  • d'une capacité à évoluer sans stress
  • d'une offre qui vit et qui évolue
  • d'un support dynamique et des communautés actives

Et aussi pour faire partie de l'aventure et soutenir cette action innovante en France : le côté militant qu'a toujours suscité Gandi fonctionne à fond chez moi. Y a de l'affect comme on peut en avoir pour Apple par exemple ... la liberté en plus ;-)

Voili voilou, la décision est prise !

Last but not the least : 6€ HT la part/mois pendant la phase Bêta.

27nov

Clé USB poche de jean READY

Je ne sais pas vous, mais moi, je déplace avec à peu près tout dans mes poches : clés, téléphone, porte-monnaie et souvent clé USB. Oui, ok, je sais, ce ne sont plus des poches mais des valises mais bon, c'est comme ça ;-)

Je rencontre les 2 soucis suivants avec les clés USB :

  • la perte : je perds régulièrement une clé USB mise dans une poche : chute non détectée quand je sors quelque chose de mes poches, passage en machine etc
  • la détérioration : la clé USB s'abime rapidement et perd le plus souvent son embout. Bref, la durée de vie de la clé est courte voire très courte.

La conséquence directe est que je ne peux pas mettre de données sur lesquelles je puisse compter sur ces clés séjournant dans mes poches et c'est dommage !

La solution pourtant existe : Corsair Survivor (sic !) 4 Go.

cle usb corsair survivor

Avantages après 2 mois d'usage :

  • possibilité d'accrocher votre clé USB à un trousseau de clés : plus de perte possible !
  • embout vissé et protection résistant à l'immersion, l'écrasement ou la chute : données protégées ad vitam :-)
  • espace disponible (4 Go) correspondant exactement à mes besoins mixant applications (PortableApps, apps standards) et données (bureautique, multimédias)
  • prix raisonnable (~45€ lors de la rédaction de l'article) pour l'espace et les caractéristiques ci-dessus.

Inconvénient :

  • un seul et qui est lié aux avantages : le tout est un chouilla emcombrant ! Pour moi, cet inconvénient est totalement contre-balancé par le fait que je peux mettre ma vie nomade numérique dans cette clé sans craindre la perte ou la détérioration de la clé.

I am a happy "nomade" user :-)

Références :

  • page du produit chez le constructeur,
  • exemple de site vendant l'engin.

05sep

Ta tête en ASCII

Je ne sais pas vous, mais, moi, l'ASCII Art, cela m'a toujours plu : pouvoir créer des images grâce à des caractères m'a toujours donné des sensations :-)

Si vous aimez cela comme moi, regardez donc Le site T.Y.P.O.R.G.A.N.I.S.M. qui vous propose de transformer en ASCII Art toute image JPEG de dimension 60*50.

La trombine ci-dessous :

tete.jpeg

donne le résultat suivant :

ascii.jpeg

Geek mais sympa hein ? ;-)

NB : l'export HTML est fourni en plus ... alors ...

Via Ecrans.

19avr

Le MAN dans Firefox

Voici une suite d'évènements qui a dû arriver à pas mal d'entres nous :
  • on se connecte sur une machine Unix
  • on lance une commande et le résultat n'est pas celui attendu
  • on tape #man commande et on obtient le résultat laconique suivant Il n'y a pas de page de manuel pour commande.
Et bien, un site web fournit plus de 46000 entrées de man. Et cerise sur le gateau, on peut rajouter ce site dans les moteurs de recherches de Firefox !

Merci NiKo pour ta blogmark sur ce site :-)

02fév

Dotclear en Inde ...

... Daniel Glazman lâche une bombe et personne ne relève ?

Cela donnera lieu à pas mal de commentaires si cela se confirmait car, à l'échelle française, ce serait gros comme annonce ... AMHA ...

22dec

Le teasing ...

... c'est pas beau mais c'est bon ;-)

indice de teasing : bind

22dec

Home sweet home

La question d'héberger mon domaine est restée longtemps pour moi une question non tranchée. Et bien, désormais, c'est fait :-) !

Voici l'histoire dans le détail :

  • L'histoire (et l'envie) commence en lisant NiKo qui nous parlait des offres mutualisées de Typhon.
  • Elle continue en sollicitant NiKo directement et lui exprimant mon envie de pouvoir héberger en propre un serveur DNS ainsi que de mettre en oeuvre un annuaire LDAP, un serveur POP/IMAP/SMTP etc. Il me parle alors de l'imminence de l'arrivée d'offres de serveur virtuel toujours chez Typhon.

  • Cependant, il y a un hic : le prix d'une telle solution :-( . Le prix bien que légitime vu de l'hébergeur reste cher côté client (du moins pour moi). D'où mes questionnements initiaux.
  • Et là, surprise, je tombe sur les offres VPS de chez Web1.fr : 10€ TTC/mois ! Vous aurez compris que cela m'a décidé :-)
  • Rien à dire depuis 15 jours. On a ce que l'on a signé : un VPS sous Debian 3.1 stable avec accès root complet via ssh. Hardware limité à 1Go de disque et 160Mo de RAM. Il n'y a pas grand chose à dire ...
Et ensuite, on peut mettre en oeuvre un serveur DNS en live sur le net en utilisant ce que l'on connait sur le sujet. Mais ça, c'est une autre histoire ...