Messages étiquettés Sécurité

Linux, un minimum de précaution tout de même

Aujourd’hui je vous propose un article plutôt à destination des nouveaux venus sous Gnu/Linux.

Bien que l’on vous présente ce type de système comme sûr, à toute épreuve, Gnu/Linux étant un système d’exploitation comme un autre, il reste vulnérable.

Il existe donc quelques principes de bases à appliquer:

  • Effectuer les mises à jours de sécurité de votre distribution régulièrement
  • Mettre en place un pare-feu minimaliste
  • Mettre en place un antivirus afin d’éviter si ce n’est d’être infecté, de propager des virus à d’autres systèmes (via e-mail, clé usb, …)

Par défaut sous certaines distributions telles qu’Ubuntu, aucun pare-feu n’est configuré et aucun antivirus n’est installé.

  1. Effectuer les mises à jours de sécurité de votre distribution régulièrement:
  2. La plupart des distributions mettent à disposition un gestionnaire de mise à jour graphique dans leur outils, cela permet de configurer les mises à jour automatique ainsi, plus besoin de vous en soucier.

    Si vous désirez passer par la ligne de commande, en fonction de votre gestionnaire de paquet, la commande diffère mais pour l’automatiser, il suffit de la placer dans le crontab (gestionnaire de tâches):

    Exemple d’automatisation simple sous Debian

    sudo crontab -e

    00 02 */5 * * apt-get update && apt-get upgradelogo debian

    La première ligne permet d’entrer dans la crontab de l’utilisateur root

    La seconde est à insérer dans ce fichier afin d’automatiser la mise à jour du système tous les 5 jours à 2h du matin.

  3. Mettre en place un pare-feu minimaliste
  4. Avec tout système Gnu/Linux est livré un outil très puissant, iptables. C’est cet outil que nous allons utiliser ici afin de verrouiller un minimum nos machines. Bien que je ne prétende pas faire ici un cours sur iptables, je vais succinctement vous expliquer l’utilité des diverses commandes:

    Exemple d’utilisation d’iptables pour un poste utilisateur

    /sbin/iptables-save

    Cette commande permet d’afficher les règles Iptables appliquées en ce moment.

    /sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    /sbin/iptables -A INPUT -i eth0 -j DROP


    Ces 2 commandes suffisent à bloquer toute entrées de données sur votre machine (sur l’interface eth0) hormis celles demandées par celle-ci. Ici, nous bloquons simplement tout en entrée et rien en sortie puisqu’il s’agit d’un poste utilisateur et non d’un serveur. Cela conviendra donc pour la plupart des postes utilisateurs.

    N’oublier pas cependant d’adapter ces règles suivant votre cas (quelqu’un doit il pouvoir accéder à cette machine à distance ? (moi y compris ?), à quoi doit on avoir accés sur cette machine (http, ftp, icmp, dns, …)), notamment si vous partagez des données via un partage réseau sur votre machine.

    Connaître ces quelques règles, où bien les exécuter une fois n’aura d’impact que jusqu’au prochain redémarrage du poste. Si vous désirez appliquer ces règles en permanence, il suffit de les placer dans un fichier firewall.sh, de rendre ce script exécutable et d’ajouter une ligne dans /etc/network/interface. Ce qui donne:

    firewall.sh:

    #!/bin/bash
    /sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    /sbin/iptables -A INPUT -i eth0 -j DROP

    Il faut ensuite rendre ce script exécutable et en limiter les possibilités de modification:

    chmod 700 firewall.sh

    /etc/network/interface:

    up chemin/vers/script/firewall.sh

  5. Mettre en place un antivirus
  6. Bien qu’il existe à l’heure actuelle peu de manace pour ce système d’exploitation, un poste non protégé pourrait contaminer d’autres postes tout en étant parfaitement opérationnel (porteur sain …).
    Afin de limiter les risques de contamination de postes sous des OS différents, il convient donc d’installer un antivirus.
    Clamav est un antivirus libre, gratuit très performant qui va vous permettre d’être tranquille de ce côté là.
    Disponible dans les dépôts il s’installe avec votre gestionnaire de paquets habituel (exemple sous Debian: apt-get install clamav)

Quelques ressources intéressantes à ce sujet:

Tags: , , , , , , , ,

Le multiplexage des connexions SSH.

Bonjour à tous,

voici aujourd’hui un lien vers un article de qualité permettant à tous de comprendre le principe du multiplexage ainsi que son intérêt dans l’utilisation d’ SSH.

SSH est un protocole incontournable, à la fois parce que c’est une manière fiable et sécurisée pour accéder à des machines quand on n’a qu’une confiance limitée dans le réseau qui va acheminer nos messages, et aussi parce qu’il peut servir de transport pour d’autres protocoles non sécurisés.

Cet article va aborder une fonctionnalité très utile d’OpenSSH et de la version 2 du protocole pour partager des connexions.

Même si ce n’est pas une nouveauté (la première implémentation est apparue dans OpenSSH version 3.9p1), c’est fichtrement commode, et une petite explication de texte n’est pas totalement superflue.

Lire la suite de cet article sur UnixGarden.

Tags: , , , ,

Personnaliser un Live-cd (Ubuntu 9.10)

Je vous ai fait part, dans l’un de mes précédents articles, de mon intention de créer une distribution Live Ubuntu personnalisée orientée vers la récupération de données et le réseau. Voici donc la première étape, la personnalisation d’un Live-cd à partir de la version 9.10 d’Ubuntu, Karmic Koala.

Pour ceux qui ont l’habitude de ce genre de manipulations, je ne vais pas vous cacher que je me suis essentiellement servi de la documentation Ubuntu qui est d’ailleurs relativement complète à ce sujet. Vous retrouverez toutes les ressources utilisées en fin d’article. Ce tutoriel étant adapté à la personnalisation d’Ubuntu 9.10, certains éléments présentés ici ne sont pas encore dans la documentation officielle.

Récupération de l’image originale et création de la structure nécessaire:

mkdir /livecd

cd /livecd

mkdir iso squashfs

wget http://cdimage.ubuntu.com/releases/karmic/alpha-6/karmic-desktop-i386.iso

Montage et copie du contenu de l’iso:

mount -o loop karmic-desktop-i386.iso /cdrom

cp -av /cdrom/. iso

umount /cdrom

Suppression des éléments inutiles (présents pour Windows):

cd iso

rm Autorun.inf wubi.exe

rm -r pics

cd ..

Montage et copie du squashfs

infoC’est ici qu’intervient un premier problème, n’ayant pas installé Karmic Koala sur mon poste, je pensais tout de même pouvoir personnaliser le Live-cd en utilisant comme système hôte, Ubuntu 9.04. Or le squashfs présent sur Karmic Koala est en version 4, celui-ci est intégré au noyau Linux 2.6.31 et n’est pas rétrocompatible avec la version 3.3 présente dans les noyaux Linux plus anciens. Il est donc nécessaire d’utiliser un système hôte utilisant un noyau Linux >= 2.6.31. Ce qui m’a amené à effectuer toute la manipulation sur une machine virtuelle utilisant comme système le live-cd d’Ubuntu 9.10 lui-même.

Afin de compresser / décompresser le système squashfs, nous allons installer les outils nécessaires:

apt-get install squashfs-tools

Puis nous pouvons continuer la procédure:

mount -t squashfs -o loop iso/casper/filesystem.squashfs /cdrom

cp -av /cdrom/. squashfs

umount /cdrom

Préparation du chroot

mount –bind /proc squashfs/proc

mount –bind /dev squashfs/dev

mount –bind /sys squashfs/sys

cp /etc/resolv.conf squashfs/etc/resolv.conf

chroot squashfs

À partir de maintenant, nous allons effectuer des modifications directement sur le système en cours de personnalisation.

Mise à jour du système

Décommenter les lignes contenant universe dans /etc/apt/source.list afin d’activer les dépôts universe.

apt-get update

apt-get dist-upgrade

Une fois cette étape franchie, nous entrons dans le vif du sujet avec le choix des paquets à ajouter / supprimer. Les choix suivants correspondent à mes besoins, vous pouvez adapter les manipulations ci-dessous selon vos besoins.

Applications et ressources supprimées:

Suppression des langues, d’evolution et du paquet ubuntu-desktop(dépends d’evolution) afin d’alléger cette distribution.

apt-get remove –purge language* evolution pidgin ekiga

Le paquet ubuntu-desktop doit être réinstallé avant une mise à niveau vers une nouvelle distribution Ubuntu.

Applications et ressources ajoutées:

Ajout de la gestion du français et des outils sélectionnés:

apt-get install language-pack-fr language-pack-gnome-fr language-support-fr language-pack-kde-fr language-selector

apt-get install openssh-server x11vnc terminator localepurge

apt-get install foremost testdisk ntfsprogs gparted e2undel nfs-common

apt-get install thunderbird amsn iptux

Vérification des dépendances et nettoyage de la base des paquets disponibles et téléchargés:

apt-get -f install

apt-get autoremove

apt-get autoclean

apt-get clean

Sortie du chroot

rm /etc/resolv.conf

umount /sys

umount /dev

umount /proc

En cas d’erreur, ne pas en tenir compte, cela ne gênera pas la suite de la manipulation.

exit

De nombreuses autres modifications sont possibles sans rentrer dans le chroot, notamment tous ce qui concerne la modification de thèmes graphiques, les fichiers de configurations par défaut, …

Il est possible d’ajouter tout ce que l’on veut simplement en le copiant à l’endroit souhaité dans le répertoire squashfs.

Ainsi, afin de modifier plus facilement l’aspect graphique, le plus simple est de reconstruire l’iso puis de lancer celui-ci dans une machine virtuelle et d’effectuer les modifications souhaitées. Il suffira ensuite d’ajouter les fichiers modifiés au répertoire squashfs (au bon emplacement), par exemple dans squashfs/etc/skel pour que cela soit présent dans le home de tout utilisateur, puis reconstruire à nouveau l’iso.

Voici la manipulation permettant de reconstruire l’image iso:

Mettre le français en langue par défaut:

echo « fr » | sudo tee iso/isolinux/lang

Prise en compte de toutes les modifications:

chroot squashfs update-initramfs -k all -u

Reconstruire le système squashfs:

rm iso/casper/filesystem.squashfs

chmod a+w iso/casper/filesystem.manifest

chroot squashfs dpkg-query -W –showformat=’${Package} ${Version}\n’ > iso/casper/filesystem.manifest

chmod go-w iso/casper/filesystem.manifest

chmod a+w iso/casper/filesystem.manifest-desktop

chroot squashfs dpkg-query -W –showformat=’${Package} ${Version}\n’ > iso/casper/filesystem.manifest-desktop

chmod go-w iso/casper/filesystem.manifest-desktop

Compression du système squashfs:

cd squashfs

mksquashfs . ../iso/casper/filesystem.squashfs -info

cd ..

Et pour finir, la génération de l’iso:

cp squashfs/boot/vmlinuz-2.6* iso/casper/vmlinuz

cp squashfs/boot/initrd.img-2.6* iso/casper/initrd.gz

cd iso

bash -c « find . -path ./isolinux -prune -o -type f -not -name md5sum.txt -print0 | xargs -0 md5sum | tee md5sum.txt »

cd ..

mkisofs -r -V « Libre-Astux Live CD » -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o libre-astux-live-cd-i386.iso iso

Vous voici à présent avec un Live-cd Ubuntu personnalisé. Je suis passé ici un petit peu vite sur la personnalisation de la distribution au niveau graphique car je ne m’y suis pas vraiment attardé. Je préciserai certainement ce point à la suite de billet lorsque j’y aurai regardé de plus près.

Ceux qui connaîtraient d’autres outils interressant concernant la récupération de données ou le test du matériel, n’hésitez pas à laisser ceux-ci en commentaire.


Ressources utilisées:

La documentation Ubuntu sur la personnalisation de live-cd

Documentation sur une personnalisation plus poussée (thèmes, grub, …)

Tags: , , , , , , , ,

Mettre à jour son noyau Linux sans redémarrer avec ksplice

Pour tous ceux qui administrent des serveurs, un point critique est l’application des mises à jours notamment au niveau du noyau. En effet, certaines de ces mises à jours nécessitent un redémarrage du système. Une solution pour éviter de perturber les services fournis par ce serveur consiste à appliquer les mises à jours de sécurité du noyau à chaud via ksplice.

Un paquet deb est disponible ici. Celui-ci permet l’installation de cet outil sur Ubuntu 9.04 mais aussi sur Debian.

Ce paquet n’est pas issu des dépôts officiels Ubuntu, son installation et utilisation se fait donc à vos risques.

Tags: , , ,