Accueil

Slackware: Post Installation

Par Serge.

Configuration et personnalisation

Ce document est sous licence Licence pour Documents Libres de la guilde des doctorants.

Sommaire

Introduction

Cette article regroupe plusieurs astuces qui vous permettrons de configurer, personnaliser, sécuriser et mettre à jour votre système fraichement installé.

Mise à jour du système

Comme tout système d'exploitation, des mises à jour régulières sont fournies afin de corriger des bugs, des trous de sécurité, etc... Ces mises à jour sont bien mises à la disposition du public sur les serveurs officiels de la Slackware ainsi que sur tout mirroir à jour. Vous trouverez la liste des mirroirs sur le site officiel de la Slackware: http://www.slackware.com/getslack/. J'utilise personellement le mirroir ftp.kpn.be qui est à jour et rapide.

Pour récupérer les mises à jour, il suffit de télécharger alors les packages présent dans le répertoire patches/packages/ correspondant à votre version de la slackware. Si vous ne vous souvenez plus de la version de votre slackware, regardez le contenu du fichier /etc/slackware-version.

Donc par exemple pour une slackware 9.1, vous récupérez tout les fichiers présents dans le répertoire slackware-9.1/patches/packages/ du mirroir choisit. Le plus simple est de télécharger tout ces fichiers dans un répertoire concus à cet effet (par exemple /var/update). Comme ca vous savez exactement à tout moment quels sont les packages mis à jour que vous avez déjà installé et vous pouvez comparer avec ceux disponibles. Faites bien attention au nom complet du package, il a souvent plusieurs mise à jour dans le temps pour un même programme et desfois juste un chiffre change dans le nom du package (par exemple apache-1.3.29-i486-1.tgz et apache-1.3.29-i486-2). Le plus simple et d'utiliser le programme wget avec l'option -N afin de ne técharger que les nouveaux fichiers. Placez vous dans le répertoire que vous utilisez pour stocker vos mises à jour (/var/update dans mon exemple) et lancez la commande: wget -N ftp://ftp.kpn.be/pub/slackware/slackware-9.1/patches/packages/*

Une fois tout les fichiers mis à jour récupéré, il vous faut les installer. Passer alors en root, en init 1 pour eviter des désagréments et en étant dans le répertoire ou vous avez récupéré tout les fichiers mis à jour vous tapez la commande: upgradepkg *.tgz

Il vous suffit alors de rebooter.

Sécuriser un minimum le système

Par défaut à l'installation, la slackware lance un certain nombre de services qui peuvent s'averer dangereux pour la sécurité de votre système si celui-ci est directement relié à l'internet. Nous allons faire le tour des différents fichiers de configuration qui démarrent ces services et qui autorisent ou n'autorisent pas leurs utilisations.

Le deamon "super-serveur" inetd

Une grande partie des services réseaux de la slackware sont controllé par le "super-serveur" inetd. Ce programme inetd écoute certains ports réseaux pour établir des connexions réseaux. Quand une connexion est établie sur un de ses ports, il lance alors le service réseau décrit dans son fichier de configuration correspondant à ce port réseau. Par exemple, le port réseau tcp 21 est le port par défaut pour le service FTP, si inetd reçoit sur ce port une demande de connexion, il va alors démarrer le service FTP sur ce port réseau en réponse à la demande de connexion.

Par défaut de nombreux services sont actifs via inetd et il vaut mieux les désactiver si vous n'en avez pas besoin. Pour cela, an tant que root, vous editez le fichier /etc/inetd.conf et vous commentez en ajoutant un # devant chaque service que vous voulez désactiver. Par exemple, pour le service time vous placez un # devant les lignes commençant par time:

 #time stream tcp nowait root internal
 #time dgram udp wait root internal
 

Faites de même pour tous les services que vous n'utilisez pas. Par défaut les services actifs sur une Slackware 9.1 sont: time ftp comsat ntalk finger auth.

Vous pouvez bien sur décommenter les services dont vous souhaitez utiliser.

Une fois ce fichier modifié, il vous faut relancer le daemon inetd, pour cela il faut récupérer son numéro de PID et envoyer à ce dernier le signal de "redémarrage". Pour récupérer le PID tapez la commande ps ax | grep inetd qui va vous renvoyez quelque chose du genre:

 root@aziz:~# ps ax | grep inetd
 1942 ? S 0:00 /usr/sbin/inetd
 2685 pts/2 S 0:00 grep inetd
 root@aziz:~#
 

Le PID est le premier nombre que l'on apercoit en début de ligne comportant /usr/sbin/inetd, donc ici dans notre exemple 1942. Ce nombre sera surement différent chez vous. Maintenant pour envoyez le signal de redémarrage, il suffit de taper la commande: kill -HUP 1942

Remplacez bien sur 1942 par votre numéro de PID.

Autoriser les services seulement pour certaines machines

Si vous avez quand même besoin de certain des services lancé par inetd, par exemple un serveur FTP public et le serveur telnet seulement pour les machines locales, vous pouvez alors définir quelles machines ou réseaux ont le droit d'utiliser ces services via les fichiers /etc/hosts.allow et /etc/hosts.deny. Ces deux fichiers utilisent exactement la même syntaxe, l'un contient les machines/réseaux que l'on autorisent /etc/hosts.allow et l'autre contient les machines/réseaux que l'on refusent /etc/hosts.deny.

La méthode la plus sure est de tout interdire par défaut, et de n'autoriser alors que qu'on souhaite, logique non? Pour cela rien de plus simple, pour tout interdire par défauut, editez le fichier /etc/hosts.deny pour qu'il ressemble à:

 #
 # hosts.deny This file describes the names of the hosts which are
 # *not* allowed to use the local INET services, as decided
 # by the '/usr/sbin/tcpd' server.
 #
 # Version: @(#)/etc/hosts.deny 1.00 05/28/93
 #
 # Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org
 #
 #
 ALL:ALL
 
 # End of hosts.deny.
 

Nous avons donc ajouté les mots clefs ALL:ALL qui signifie qu'on refuse pour tout les services (1er ALL) toutes les connexions réseaux (2éme ALL).

Il nous reste alors à spécifier alors pour chaque service quelles machines on autorise. Cela ce passe dans le fichier /etc/hosts.allow de la forme: Service:Machine(ou réseau)

Nous reprenons alors notre exemple, c'est à dire un serveur FTP public, et le serveur telnet seulement pour les machines locales (sur le réseau 192.168.0.0 masque 255.255.255.0), notre fichier va contenir:

 #
 # hosts.allow This file describes the names of the hosts which are
 # allowed to use the local INET services, as decided by
 # the '/usr/sbin/tcpd' server.
 #
 # Version: @(#)/etc/hosts.allow 1.00 05/28/93
 #
 # Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
 #
 #
 proftpd:ALL
 in.telnetd:192.168.0.0/255.255.255.0
 
 # End of hosts.allow.
 

Faites bien attention à ce que le nom du service soit exactement le même que le nom du programme figurant dans /etc/inetd.conf.

Attention: Le service ssh et le serveur de mail sendmail, bien qu'ils ne soient pas démarré via le super-serveur inetd prennent en compte ces fichiers d'autorisations, n'oubliez donc surtout pas d'ajouter une ligne sshd et sendmail dans votre /etc/hosts.allow si vous utilisez ces services sur cette machine. IL existe aussi peut être d'autres services non démarré par le super-serveur qui prennent en compte ces fichiers d'autorisations.

Les autres services

Il y a d'autres services qui sont lancés au démarrage du système via les fichiers .rc qui se trouvent dans le répertoire /etc/rc.d/.

Attention: Certains de ces fichiers .rc sont nécessaires au démarrage du système lui-même et doivent donc être toujours actif! Faites donc bien attention de ne désactiver que les services mentionnés ci-dessous.

Voici la liste des services que vous pouvez désactiver, pour cela en tant que root vous tapez la commande chmod -x /etc/rc.d/rc.fichier en remplaçant rc.fichier par le fichier:

Une bonne méthode est de désactiver tout ces services, surtout si tout ces termes sont du chinois pour vous. Puis si un jour vous vous appercevez que vous avez besoin d'un de ces services, vous pourrez alors toujours le ré-activer avec la commande : chmod +x /etc/rc.d/rc.fichier

Démarrage en mode console ou graphique

Par défaut la Slackware démarre en mode console, mais vous utilisez souvent le mode graphique et souhaiterez donc démarrer en mode graphique directement. Rien de plus simple, il vous suffit alors en root d'editez le fichier /etc/inittab et de rechercher le ligne:

 # Default runlevel. (Do not set to 0 or 6)
 id:3:initdefault:
 

et de remplacer le 3 par 4 pour démarrer en mode graphique dés le prochain reboot.

Gestions des packages

La Slackware, comme toute distribution, utilise un systême de package pour installer / désinstaller les logiciels. On apelle un package un fichier spécial contenant les fichiers et le procesus d'installation de ces fichiers pour installer un logiciel sur votre système. Le procesus d'installation de la Slackware correspond en fait à l'installation des packages contenus sur les CD d'installation.Sur la Slackware les packages sont des fichiers .tgz. Un certain nombre d'outils permettent donc de gérer les packages de votre distribution.

Un package à un nom bien spécifique qui suit une syntaxe bien établie: nom_programme-version_du_programme-plateforme-version_du_packet.tgz Par exemple apache-1.3.31-i486-1.tgz signifie que ce package installe le programme apache dans la version 1.3.31 pour la plateforme i486 et que c'est la version 1 du packet.

L'utilitaire pkgtool

Cet utilitaire complet vous permet de gérer tout les packages déjà installer d'en installer d'autres et même de reconfigurer votre systême.

ecran pkgtool

L'utilitaire installpkg

Cet utilitaire comme son nom l'indique permet d'installer directement un package en passant lui passant le nom complet du package. Par exemple: installpkg /var/update/apache-1.3.31-i486-1.tgz installera le package apache-1.3.31-i486-1.tgz.

L'utilitaire removepkg

Cet utilitaire lui permet d'enlever un package déjà installé sur le systême. Par exemple: removepkg gimp-1.2.5-i486-1 Pour voir la liste des packets déjà installés, vous utilisez soit pkgtool décris plus haut, soit vous listez le contenu du répertoire /var/log/packages/.

L'utilitaire upgradepkg

Cet utilitaire sert à mettre à jour des packages (on s'en est servi dans la rubrique mettre à jour au dessus). En fait il installe le package que vous lui donnez en argument si et seulement si une version précédente du programme ou du package existe, autrement il n'installe pas le package. En réalité il n'installe pas simplement le nouveau package, mais dans un premier temps supprime l'ancien package avant d'installer le nouveau.

Où trouver des packages?

Comme nous l'avons dit au-dessus, les packages servent à installer de nouveaux programmes sur notre système, mais où donc trouver des nouveaux packages, hormis les packages offciels ? Il existe en fait un site spécialement conçu pour des nouveaux packages slackware: http://www.linuxpackages.net Vous trouverez aussi des packages sur d'autres sites webs, mais ceux de linuxpackages.net sont controllés par une équipe pour être sur que ces packages sont bien fait, qu'ils fonctionnent correctement et qu'ils sont conformes à la Slackware.

Vous pouvez aussi faire vos propres packages, mais nous verrons ça dans un autre document dédiè à la création de packages.

Thèmes : #articles #installation #serge

Sauf indication contraire, ce document est placé sous licence CC-BY-SA 3.0.