











|
|
Trucs
et astuces
Sécuriser
une station Linux
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
|