Version électronique  
N° 44
Novembre 2001
LE JOURNAL DES TECHNOLOGIES DE L'INFORMATION ET DE LA COMMUNICATION












  Trucs et astuces
Sécuriser une station Linux

Yves Potin
Professeur de philosophie.
yves_p@nnse.com

La généralisation des connexions internet haut débit (câble, ADSL) permet maintenant de rester connecté en permanence, voire de disposer de son propre serveur accessible de n'importe quel point du globe.
La sécurité devient donc une exigence de premier plan pour tout un chacun, afin de se prémunir contre les intrusions et malveillances. Le premier souci d'un administrateur réseau doit être la sécurité du système dont il est responsable :
- pour garantir l'intégrité et la confidentialité des données de ses utilisateurs ;
- pour qu'aucun pirate ne fasse un usage illégal du système en dissimulant son identité, impliquant ainsi la responsabilité pénale de l'administrateur.
Sécuriser une machine Linux comprend trois étapes.

Limiter les services disponibles

Il faut d'abord fermer tous les services réseaux ne correspondant pas à un usage réel, et ne les autoriser qu'à une catégorie bien précise de machines. Les services sont activés par le " super démon " inetd, dont le fichier de configuration est /etc/inetd.conf. On commentera donc (en ajoutant un # en début de ligne dans ce dernier fichier) tous les services peu utiles voire dangereux comme finger, date, login, telnet, etc. et on préférera ssf à telnet pour les accès distants. Les utilisateurs du réseau local voudront par exemple relever leur courrier au moyen d'un serveur pop, on laissera donc ce service ouvert, mais on interdira l'accès à toute machine extérieure en renseignant convenablement les fichiers /etc/hosts.allow et /etc/hosts.deny. La syntaxe de ces fichiers est détaillée dans la page de manuel accessible par la commande man 5 hosts_access.

Installer un firewall

Cependant, de nombreux services (Apache, Sendmail, etc.) fonctionnent sans recourir à inetd, et il est préférable de fermer l'accès au serveur pour se prémunir contre d'autres types d'intrusion. L'installation d'un coupe-feu (firewall) est ainsi indispensable, et complète la fonction de " masquerading " permettant au serveur Linux de servir de routeur pour toutes les machines du réseau local. Les utilitaires ipchains (noyau 2.2 et 2.4) et iptables (beaucoup plus puissant, noyau 2.4 uniquement) assurent ces fonctionnalités. On trouvera de la documentation en français pour ces logiciels à ces adresses : http://www.freenix.fr/unix/linux/HOWTO/IPCHAINS-HOWTO.html
http://netfilter.kernelnotes.org/unreliable-guides/fr/
packet-filtering-HOWTO.html#toc10
.

Détecter les intrusions

De manière permanente, des pirates cherchent à exploiter des failles de sécurité. Certains peuvent procéder très finement, et détecter une intrusion nécessite parfois de très grandes compétences. Quelques outils d'usage simple permettent cependant d'affiner les fonctionnalités du coupe-feu, de se rendre compte des failles potentielles de sécurité et de conserver une trace des tentatives d'intrusion. Nmap est l'outil standard permettant de s'assurer de ce qui est ouvert et de ce qui ne l'est pas : http://www.insecure.org/nmap/ Portsentry permet de détecter très finement certaines tentatives d'intrusion et de faire réagir le firewall (son usage nécessite certaines précautions) : http://www.psionic.com/abacus/portsentry
Logcheck est un autre utilitaire gratuit qui audite les fichiers de trace du système (logs) et envoie des courriels à l'administrateur : http://www.psionic.com/abacus/logcheck
Nessus est un puissant logiciel libre permettant de simuler des intrusions : http://www.nessus.org/

Yves Potin


Propos - Notre document - L'atelier - Trucs et astuces - Pour vous initier - Le Moniteur et ... -
Image et son - Ducôté des cédéroms - Fiche pratique - Fiche pédagogique - Vue sur la presse -
Bonnes @dresses