Par Serge.
Configuration et personnalisation
Ce document est sous licence Licence pour Documents Libres de la guilde des doctorants.
Cette article regroupe plusieurs astuces qui vous permettrons de configurer, personnaliser, sécuriser et mettre à jour votre système fraichement installé.
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.
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.
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.
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.
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:
rc.atalk
: Fichier du service réseau altalk.rc.bind
: Fichier du service serveur de nom.rc.cups
: Fichier du service d'impression, ne pas désactiver si vous avez une imprimante.rc.httpd
: Fichier du service serveur de page web.rc.lprng
: Fichier de l'ancien service d'impression, vous pouvez le désactiver même si vous avez une imprimante.rc.mysqld
: Fichier du service de base de donnée Mysql.rc.nfsd
: Fichier du service de partage de fichier nfsrc.portmap
: Fichier du service du portmapper, désactivez le si vous n'utilisez pas du tout le partage de fichier nfs.rc.samba
: Fichier du service de partage de fichier SMBrc.sendmail
: Fichier du service serveur de Mail.rc.sshd
: Fichier du service serveur SSH.rc.yp
: Fichier du service NIS.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
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.
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.
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.
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.
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/
.
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.
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.