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: