Messages étiquettés configuration

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: , , , , , , , ,

Grub2: La configuration

Voici quelques indications sur la configuration de Grub2.

Grub2 est installé par défaut sur Ubuntu 9.10 Karmic Koala. Voilà pourquoi je pense que cet article devrait aider pas mal de monde.

Tandis que Grub utilisait le fichier /boot/grub/menu.lst comme fichier de configuration, Grub2 utilise quant à lui 2 fichiers:

/boot/grub/grub.cfg

/etc/default/grub

Le premier contient les données nécessaires au démarrage des différents systèmes tandis que le second permet de configurer les options de Grub2 telles que:

L’affichage ou non du menu: GRUB_HIDDEN_TIMEOUT

La durée de cet affichage: GRUB_TIMEOUT

La résolution par défaut de Grub: GRUB_GFXMODE

info Une fois ce fichier modifié, n’oubliez pas d’exécuter un update-grub afin de prendre en compte celles-ci.

Il se peut également que tous vos systèmes n’aient pas été reconnus. Dans ce cas, une commande s’impose:

os-prober

Cette commande permet de rechercher tous les systèmes d’exploitations présents sur vos disques durs.

Et pour terminer,

update-grub

Cette commande permet de régénérer le fichier /boot/grub/grub.cfg en prenant en compte les modifications apportées par os-prober.

Si vous désirez effectuer des modifications directement dans /boot/grub/grub.cfg, la syntaxe est compréhensible et similaire à celle de Grub.

Voici les différentes lignes à retrouver pour chacun de vos systèmes d’exploitations Linux:

set root=(hd0,x) //indique la racine de votre système

linux /vmlinuz… //indique l’emplacement du kernel

initrd /initrd.img-… //indique l’emplacement du système minimal permettant d’amorcer le démarrage

Vous avez maintenant en main tout le nécessaire afin de configurer votre Grub2 correctement. Si vous avez d’autres suggestions pour ce paramétrage, merci de les mettre à disposition en commentaire.

Tags: , , , , ,

Ajouter des fonctionnalités à votre touchpad

Nous allons voir ici comment activer des fonctionnalités supplémentaires pour votre touchpad en passant par la modification du fichier de configuration principale de la gestion graphique, Xorg.conf. Celui-ci est disponible sous /etc/X11/xorg.conf.

Ces modifications fonctionnent sur toutes les distributions Linux utilisant Xorg. La configuration ci-dessous est utilisée aussi bien sur Ubuntu qu’ArchLinux sur mon portable.

info Si vous rencontrez quelques problèmes avec votre touchpad, vérifiez l’installation de synaptics:

sudo pacman -Sy synaptics

ou

yaourt -Sy synaptics

Dans la section « ServerLayout« , ajouter la ligne suivante si celle-ci n’est pas présente:

InputDevice « Synaptics Touchpad »

Une fois cette ligne ajoutée, nous allons créer une section « InputDevice » contenant toutes les options désirées:

Section « InputDevice »

Identifier « Synaptics Touchpad » # Nom du périphérique

Driver « synaptics » # Pilote utilisé

Option « SHMConfig » « on » # Utilisation ou non de la mémoire partagée

Option « SendCoreEvents » « true »

Option « Device » « /dev/psaux » # Emplacement du périphérique

Option « Protocol » « auto-dev »

#Option « SpecialScrollAreaRight » « true » # Permet de limiter la zone de scroll à la partie droite du touchpad

Option « VertEdgeScroll » « true » # Activer le scrolling vertical (2 doigts glissés)

Option « TapButton1 » « 1 » # 1 appui = clic gauche

Option « TapButton2 » « 2 » # 2 appui = clic molette

Option « TapButton3 » « 3 » # 3 appui = clic droit

Option « HorizEdgeScroll » « true » # Activer le scrolling horizontal

Option « MaxTapMove » « 750 »

EndSection

D’autres options sont disponibles cependant celles-ci me semblent déjà relativement intéressantes et suffisantes pour mon utilisation.

Si quelqu’un connaît d’autres options pratiques, n’hésitez pas à les laisser en commentaire.

Tags: , , , ,

Mettre en œuvre un tunnel VPN

Il peut y avoir de nombreuses raisons pour aboutir à l’installation d’un tunnel VPN. Nous allons voir ici 2 méthodes pour mettre en place ce type de tunnel. Tout d’abord une méthode plutôt utilisable lors d’un besoin temporaire avec SSH puis pur un tunnel permanent avec OpenVPN.

Ce que j’appelle ici un besoin temporaire, c’est par exemple un tunnel qui ne doit rester en place que le temps d’une intervention.

Pour ce type de tunnel, SSH et son option -w sont bien pratiques

Il faut tout d’abord mettre en place certains éléments au niveau du serveur:

Dans /etc/ssh/sshd_config, rajouter (ou modifier)

PermitRootLogin yes
PermitTunnel point-to-point

Ne pas oublier ensuite de redémarrer le service:

/etc/init.d/ssh restart

Voici maintenant un exemple d’utilisation (côté client):

Commande de base:

ssh -w 0:0 root@toto.exemple.test

Cette commande exécutée côté client établie un tunnel entre les 2 machines cependant cela ne suffit pas, il faut également mettre en place des paramètres IP:

ssh -w 0:0 root@toto.exemple.test ifconfig tun0 192.168.0.20 pointopoint 192.168.0.21

ifconfig tun0 192.168.0.21 pointopoint 192.168.0.20

Une fois ces 2 commandes exécutées, le tunnel sécurisé est ouvert et les paramètres IP sont attribués, il ne reste plus qu’à utiliser ce tunnel. Une fois le poste redémarré ou la connexion interrompue, le tunnel n’existe plus.

Bien souvent, un tunnel permanent est nécessaire et bien plus pratique. Pour ce type de tunnel VPN, un outil efficace est OpenVPN.

Sa mise en œuvre se révèle relativement simple mais nécessite quelques conditions:

Ces tunnels sont en général mis en place entre des routeurs.

Il faut paramétrer les parefeux de sorte à accepter la mise en place de ceux-ci.

Passons à la configuration d’OpenVPN:

L’installation d’OpenVPN est relativement simple, apt-get install openvpn openssh-server openssl

Pour ce qui est de la configuration, nous allons partir ici sur une solution simple et graphique. Nous allons installer et utiliser

network-manager-openvpn.

Ouvrir le gestionnaire de connexion réseaux à l’onglet VPN

Cliquer sur « Ajouter »

Choisir type de connexion « OpenVPN »

La passerelle est l’adresse IP ou le nom du poste distant.

Pour cette configuration, nous allons utiliser une authentification de type clé statique (la même pour les deux machines).

La clé peut être crée simplement à l’aide de la commande suivante:

openvpn -genkey -secret nom_de_la_cle.pem

Il suffit de sélectionner cette clé dans l’interface puis indiquer l’adresse IP locale.

Cette clé devra ensuite être transmise sur le second poste et la configuration du second poste devra être effectuée de la même manière en inversant simplement la passerelle et l’adresse IP locale. Il est également possible de définir diverses routes d’un côté comme de l’autre afin par exemple de pouvoir accéder à l’ensemble du réseau de l’autre côté.

Tags: , , , ,