Archive pour catégorie Planet-Libre

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:

Étiquettes: , , , , , , , ,

Bonne et heureuse année 2010 !!


Avant tout, je tiens à vous souhaiter tous mes vœux de bonheur pour 2010.

Certains d’entre vous l’ont peut être remarqué, ces derniers temps les publications sur ce blog se sont faites plus rares. Ayant moins de temps à consacrer à Linux en ce moment, il m’est plus délicat de trouver des sujets intéressants. Aussi ne désirant pas que ce blog devienne une suite de copies d’articles, je vais essayer de rédiger des articles mieux documentés et surtout plus régulièrement.

Aussi, si certains d’entre vous désirent voire traiter des sujets particuliers, n’hésitez pas à me faire parvenir vos suggestions, voire même vos propositions d’articles si vous désirez publier des articles de temps en temps sans nécessairement avoir votre propre blog.

Bonne année à tous !!

Étiquettes: , ,

Mise à niveau vers Ubuntu 9.10, problème de touchpad

Bonjour à tous,

J’ai recemment effectué la mise à jour de mon portable (dual boot ArchLinux / Ubuntu).

Il s’avère qu’après la mise à niveau d’Ubuntu 9.04 vers Karmic Koala, j’ai perdu l’usage de mon touchpad ainsi que le son.

Après une simple vérification via la commande uname -a, il s’avère que le système à rebooter sur l’ancien noyau.

Cela est du au fait que j’ai installer Grub depuis ArchLinux.

Ainsi, le simple fait d’installer Grub2 sur le secteur d’amorçage depuis Ubuntu résouds l’ensemble des problèmes.

Si cela vous arrive, voici la marche à suivre:

Installer Grub2:

sudo apt-get install grub-pc

Mettre à jour la liste des systèmes:

sudo update-grub

Mettre en place Grub sur le secteur d’amorçage:

sudo grub-install /dev/sda

Une fois ces modifications effectuées et si tous vos systèmes sont apparus lors de l’update-grub, vous pouvez redémarrer votre poste. Dans le cas contraire, le fichier à modifier n’est plus /boot/grub/menu.lst mais /boot/grub/grub.cfg. La syntaxe de ce fichier a également évoluer, j’y reviendrais dans un prochain article.

Étiquettes: , , , , , ,

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, …)

Étiquettes: , , , , , , , ,

Projet – LiveCD Ubuntu personnalisé accessible par boot PXE

Bonjour à tous,

Je m’intéresse actuellement à la personnalisation d’un système d’exploitation Linux et notamment au cas des LiveCD.

Je viens de commencer un projet visant à simplifier le dépannage et la récupération de données au sein de mon réseau local.

Je vais donc rédiger au fur à mesure de l’avancement de celui-ci, une série d’articles sur la méthode utilisée et la technique mise en œuvre.

ubuntukk

Objectif:

Pouvoir démarrer tout ordinateur disposant du « boot » réseau sur une distribution Linux live personnalisée et disposant de tous les outils nécessaires afin de vérifier l’intégrité du disque dur et de la mémoire vive, de récupérer les données facilement via un partage NFS directement accessible et éventuellement afin de montrer le bon fonctionnement de Linux sur ces PC ou portables sans nécessiter de lecteurs optiques.

Le choix de la distribution:

Mon choix se porte sur Ubuntu 9.10, Karmic Koala, ce qui permettra également la mise à jour de la documentation dans ce domaine.

Les étapes:

  • Personnalisation de la distribution.
  • Tests et améliorations sur une machine virtuelle.
  • Mise en place des outils nécessaires sur le serveur (dhcp, tftp, …)
  • Création des partages NFS dédiés.
  • Déploiement de la solution.
  • Vérification du fonctionnement.

Bien évidemment, ceci ne se fera pas en 24 heures, vous pourrez suivre l’avancement de ce projet via le flux RSS de Libre Astux,

http://feeds.libre-astux.info

En attendant, de nombreux sujets intéressants sont d’ores et déjà disponible sur Libre-Astux, bonne visite à tous.

Première partie: La personnalisation d’un live-cd Ubuntu 9.10

Étiquettes: , , , , , ,

Tuto: Utiliser VirtualBox afin de découvrir Linux

Suite à certaines demandes, j’ai décidé de rédiger ce tutoriel afin de permettre à tous ceux qui n’osent pas installer directement une distribution Linux sur leur poste, soit par appréhension, soit parce qu’ils n’y sont pas autorisés.

Afin de tester sans risque l’installation d’une distribution Linux et ensuite son utilisation, l’idéal est de créer une machine virtuelle. Nous allons voir ici comment créer cette machine virtuelle à l’aide de VirtualBox et y installer une distribution Linux, ici Ubuntu que je conseille aux débutants comme aux autres.

Récupération et installation de VirtualBox:

Lien vers la page de téléchargement de VirtualBox (VirtualBox est gratuit), cliquez ici

Si vous êtes sous Windows,

Sélectionner la version du programme pour Windows

Une fois cet exécutable récupéré, il suffit de cliquer dessus pour lancer l’installation de VirtualBox. Dans la plupart des cas, les réglages par défaut suffisent, cliquez donc sur suivant jusqu’à la fin de l’installation.

Si vous êtes sous Linux, installer simplement le paquet Virtualbox-ose via votre gestionnaire de paquet habituel.

Et voilà, VirtualBox est installé. Nous allons pouvoir commencer à créer notre machine virtuelle.

Création d’une machine virtuelle:

Les manipulations sur Linux et Windows sont pratiquement les mêmes, aussi je vais plutôt détailler la manipulation pour un Windows puisque ce tutoriel est avant tout à destination de ce système d’exploitation.

Lancer VirtualBox (accessible dans le menu Démarrer)

Nous allons créer une nouvelle machine en cliquant sur Nouveau

Écran principal VirtualBox

Un assistant se lance, cliquez sur suivant

L’écran suivant vous demande le nom à donner à cete machine virtuelle et demande le type de système d’exploitation afin de faciliter le reste de la configuration. Une fois rempli, cliquez sur suivant

Sélection du système - Virtualbox

L’écran suivant vous indique une valeur par défaut pour la mémoire vive à utiliser. Si vous ne savez pas ce qu’est la mémoire vive, laissez les réglages par défaut.

Taille mémoire vive - VirtualBox

Vient ensuite la création d’un disque dur virtuel afin d’accueillir le futur système d’exploitation. Une valeur vous est recommandée, si vous disposez de suffisamment d’espace sur votre disque dur, vous pouvez mettre cette valeur. Sinon, pour les distributions Linux récente, comptez environ 5Go d’espace nécessaire avec l’installation complète.

Choisir de préference une image disque à taille dynamique afin d’économiser de la place sur votre disque dur physique.

Image disque dynamique - VirtualBox

Choisir la taille souhaitée

Taille du disque dur virtuel - VirtualBox

Valider la création du disque virtuel

Vous arrivez ensuite sur un récapitulatif qu’il suffit de valider par « Terminer ».

Votre machine virtuelle est à présent crée et prête à recevoir son système d’exploitation.

Installation du système d’exploitation sur la machine virtuelle:

Avant de procéder à l’installation du système d’exploitation, sous quelle forme avez-vous votre distribution Linux ?

Un CD, une disquette ou une image ISO, pas de problème, voyons comment dire à VirtualBox d’utiliser ces données:

Sélection de la source d'installation - VirtualBox

Cliquez sur « Disque optique »

Sélection de la source - VirtualBox

Cochez l’option correspondante et le cas échéant, sélectionner votre image iso.

Lancer la machine virtuelle - VirtualBox

Nous pouvons maintenant procéder à l’installation du système. Pour ce, il faut Lancer la machine virtuelle.

S’il s’agit d’une installation d’Ubuntu, suivez simplement les indications présentés à l’écran d’installation.

Une fois au niveau du partitionnement du disque dur, vous pouvez le laisser effectuer un partitionnement automatique et valider.

Cela n’affectera en rien votre disque dur physique.

Une fois les différentes étapes validées, l’installation va se terminer toute seule sans nécessiter votre attention.

L’installation sera terminée lorsque le système vous demandera de redémarrer. Pensez bien alors à redémarrer la machine virtuelle et non la machine physique.

Au démarrage suivant, vous pouvez vous connecter via les informations de connexion que vous avez saisi lors de l’installation.

Votre système est à présent installé et prêt à l’emploi, il ne vous reste plus qu’à le tester afin de vous convaincre de passer définitivement sous Linux !!!


Si ce tuto ne vous suffit pas, voici d’autres ressources intéressantes sur le sujet:

VirtualBox sur le site du zéro

Étiquettes: , ,

Regarder la TV/TNT sous Linux

Ayant un PC avec un écran, je me suis dit qu’une télévision n’avait aucun intérêt. J’ai donc acheté, il y a déjà quelques années, un tuner TNT pour PC (Techgear TV Xpress Stick T328B). Ayant déjà utilisé précedemment une carte satellite (dvb-s), j’ai utilisé au début le programme ProgDVB dans sa version gratuite sous Windows XP. Avec ce programme et une antenne caravane posé dans la pièce, j’arrivais avoir 12 chaines sur 18.

Seulement, ce programme n’existe pas sous Linux. J’ai donc recherché les différentes solutions disponibles ainsi que le moyen de mettre en œuvre l’ensemble. Il y a encore un an, il fallait compiler un pilote et effectuer un certain nombre de manipulations afin que le tuner soit reconnu sous Ubuntu.

Désormais, depuis la version 9.04 d’Ubuntu, ce pilote est intégré à la distribution. La clé est donc immédiatement reconnue.

Une fois la clé reconnue, il reste à determiner les programmes à utiliser.

Pour ma part, je trouve que le plus abouti est Kaffeine. Celui-ci permet d’effectuer la recherche automatique des chaines, d’effectuer des enregistrements instantanés ou programmés, d’afficher l’EPG et encore bien d’autres choses.

Ce que j’ai découvert récemment et que j’apprécie particulièrement dans ce programme, c’est la possibilité de regarder une chaine lorsque l’on enregistre une autre chaîne du même multiplex. Bien que cette clé soit un simple tuner, le fait que plusieurs chaines soient diffusées sur un même multiplex permet cela mais également l’enregistrement simultanné de plusieurs chaines d’un même multiplex.

Pour celà, il suffit de programmer un enregistrement sur une chaîne puis une fois cet enregistrement démarré, changer de chaîne, en mettre une parmi celles proposées (du même multiplex) puis lancer un enregistrement instantanné.

Avantages de Kaffeine:

  • Recherche automatique des chaines
  • EPG fonctionnel
  • Enregistrement d’une chaine tout en en regardant une autre
  • Multiples enregistrements simultannés

kaffeine

Bien que Kaffeine à été développé pour KDE, celui-ci fonctionne parfaitement dans d’autres intefaces graphiques. Je l’utilise personnellement sous Gnome et WMII (sous ArchLinux).

Voilà pour Kaffeine mais il m’arrive également, lorsque je veux regarder une seule chaine, d’utiliser Vlc via des alias sur les noms des chaines.

Voici la syntaxe à utiliser sous Vlc pour lire les chaines de la TNT:

vlc dvb:// –dvb-frequency=570000000 –dvb-adapter=0 –dvb-bandwidth=8 –program=261 -f

et voici la syntaxe avec l’alias me permettant de lancer cette chaine directement via la commande arte:

alias arte=’cvlc dvb:// –dvb-frequency=570000000 –dvb-adapter=0 –dvb-bandwidth=8 –program=261 -f »

cvlc est vlc sans l’interface de contrôle. Cela permet d’afficher uniquement la vidéo.

–dvb-frequency est la fréquence du multiplex utilisé

–dvb-adapter est l’identifiant du tuner TNT

–dvb-bandwith est la bande passante utilisé (8Mhz en France)

–program est le numéro du programme à afficher

-f permet de lancer la visualisation en plein écran

Il existe d’autres programmes permettant de regarder la TNT sous Linux tels que Xine, Mplayer, Freevo, MythTV, VDR ou XBMC.


Ressources annexes:

Étiquettes: , , , , , , ,

Rendre des pages dynamiques statiques

Pour limiter les accés à la base de données et les ressources nécessaires au niveau du serveur, comme je vous l’ai indiqué dans l’un de mes précédents articles, j’ai crée un script qui me permet de stocker le contenu demandé dans des fichiers html. Ainsi lors de la première demande d’un fichier, celui-ci est généré puis copié et lors des demandes suivantes, c’est la page statique qui est directement renvoyée.

Ayant reçu quelques demandes sur la façon de mettre en œuvre ce type de fonctionnement, j’ai décidé d’expliquer ici le script crée.

<?php

$url= $_SERVER['REQUEST_URI']; //Récupération de l’url demandée

$delcar=array( « / », « ? » ); //liste des caractères à supprimer de l’url

$file= $url. « .html »; //nom du fichier à utiliser

if (file_exists($file)) include_once($file); //si le fichier existe celui-ci sera affiché

else

{

@copy( « http://site-hebergé » .$url, $file); //sinon il sera copié puis affiché

include_once($file);

}

?>

En complément de ce script, il faut également un script pour supprimer ces fichiers générés lorsque cela est nécessaire:

<?php

$repertoire = opendir( « . » );

while(false !== ($fichier = readdir($repertoire))) //lecture des fichiers du répertoire courant 1par1

{

$infos = pathinfo($chemin); //infos du fichier

$extension = $infos['extension']; //récupération de l’extension

if($extension == « html ») unlink($fichier); //suppresion des fichiers html

}

closedir($repertoire);

?>

Et voilà, il ne reste plus qu’à ajouter un appel à ce script à l’endroit souhaité afin d’automatiser tout celà. J’ai choisi de placer cet appel à la publication.

Étiquettes: , , ,

Page optimized by WP Minify WordPress Plugin