Mettre a jour une Debian Dedibox: Exploit root vmsplice

février 14th, 2008
|

http://www.securiteam.com/unixfocus/5JP0C0UNFU.html

Un tutoriel de mise a jour du kernel par dedibox: http://documentation.dedibox.fr/doku.php?id=distrib:kernel&s=noyau

La faille a été corrigé par les équipes de sécurité de la plupart des distributions.
Aussi peut être pensez vous comme moi qu’un simple (pour debian)

1
2
# apt-get update
# apt-get upgrade

Pourrais vous mettre à l’abri… Malheureusement chez dédibox il est optimisé pour C7, donc spécifique. Pas de panique ça reste assez simple a corriger quand même.

    La manipulation pour corriger la faille est décrite ici:

Je l’ai testé sur une testing:

Si vous avez installé votre dédibox avant le 28 Mai 2006 (ou si vous possedez une version raid), cette partie ne vous concerne pas !
Sinon, distributions Ubuntu-Server, Ubuntu Dedibox et Debian Sarge comportent un bug dans le comportement de grub-install. On va donc patcher grub.

1
# wget --passive ftp://ftp.dedibox.fr/pub/dedibox/fix/fix-grub-root.sh && chmod +x fix-grub-root.sh

On cherche sur quelle partition est “/” (pour savoir sur quel disque on boot):

1
mount | grep "/ "

Ce qui devrait vous retourner quelque chose du genre:

1
/dev/sda1 on / type ext3 (rw,errors=remount-ro)

C’est ce sda1 qui nous intéresse.. c’est le disque sur lequel boot votre machine !

On va donc lancer le script téléchargé précédemment, avec comme paramètre sda1 (dans notre cas, sinon remplacez par la bonne valeur):

1
# ./fix-grub-root.sh sda1

Le script va modifier le fichier: /boot/grub/menu.lst pour y entrer les bonnes valeurs. Si un problème survient par la suite, le script créé une sauvegarde de ce fichier ici: /boot/grub/menu.lst.bak

    Mise a jour du Kernel

On le télécharge:

1
# wget --passive ftp://ftp.dedibox.fr/pub/dedibox/kernel/r8-1/C7-X86-32bits/kernel-image-2.6.24.2-c7-r8-1.deb

Puis on l’installe :

1
# dpkg -i kernel-image-2.6.24.2-c7-r8-1.deb

On met a jour grub:

1
2
3
4
5
6
7
8
# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
<strong>Found kernel: /vmlinuz-2.6.24.2</strong>
Found kernel: /vmlinuz-2.6.23.13dedibox-r8
Updating /boot/grub/menu.lst ... done

Tout va bien il a trouvé notre noyau.. donc on reboot:

1
# reboot

Prennez un café… puis on vérifie:

1
2
# uname -r
2.6.24.2dedibox-r8
    Ipv6 Activé ?

Il faut impérativement penser que l’IPV6 est activé et qu’il faut mettre les règles adoc pour filtrer un minimum.
Personnellement, j e n’utilise pas « encore » ipv6 donc j’ai entré ces règles dans mon script iptables/ip6tables :

1
2
3
4
5
6
7
8
9
10
11
ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP
echo " Flushing rules (ip6)"
ip6tables --flush
ip6tables --flush INPUT
ip6tables --flush OUTPUT
ip6tables --flush FORWARD
ip6tables --flush -t mangle
ip6tables --flush -t nat
ip6tables --delete-chain

C’est bon, je peut donc aller me recoucher, en paix. ;)

Leave a comment: