TCP Wrapper |
Installation et configuration de TCP Wrapper
auteur : Stéphane TRAUMAT
site : www.amenti.org
date : 14 mai 2000
But et principe.
TCP Wrapper permet deux choses :
·
Enregistrer les requêtes de services.
· Filtrer
l'accès à ces services.
Voici en quelques mots le principe :
Toutes les applications "TCP/IP" (comme telnet, ftp..) sont en
client/serveur. Généralement, sur les systèmes UNIX, on a un daemon qui attend
les connexions entrantes. Lorsqu'une connexion s'établie, ce deamon éxecute le
programme "serveur" correspondant et recommence à attendre une
connexion.
Ce que fait TCP wrapper est simple, au lieu de lancer
directement le deamon correspondant, il éffectue quelques vérifications et
enregistre certaines données dans les fichiers logs.
Où télécharger TCP Wrapper ?
Le meilleur endroit pour télécharger TCP Wrapper est : http://csrc.nist.gov/tools/tools.htm
Installation
Une fois que vous aurez obtenu le fichier tar qui contient le code source et le
makefile, compilez le démon TCPD . Puis placer le dans le même
répertoire que les autres démons réseau.
Configuration
La configuration est relativement simple.
Editez le fichier /etc/inetd.conf et remplacez le chemin d'accès de
chacun des démons de service réseau devant être sous contrôle par le chemin de TCPD.
Par exemple, pour le démon finger, on a :
finger stream
tcp nowait nobody /etc/in.fingerd in.fingerd
le 6 ème champs contient le chemin vers le démon
finger, pour gérer ce service, il suffira de remplacer /etc/in.fingerd
par /etc/tcpd comme cela :
finger stream
tcp nowait nobody /etc/tcpd in.fingerd
Bon, je crois qu'il est grand temps que je vous
dise comment ça va se passer.
Désormais, lorsque le démon Inetd reçoit une requête pour fingerd, il démarre
TCPD à la place. TCPD enregistre alors la requête dans les logs, vérifie si le
client est autorisé à utiliser le service et si oui, il démarre le démon finger
pour répondre à la requête.
Vous pouvez de la même façon mettre sous contrôle tous les services lancés par
inetd.
Les logs
TCP wrapper envoie toutes les informations au démon syslogd
(fichier de config de syslogd : /etc/syslogd.conf).
Généralement, le log de syslogd se trouve dans le répertoire /var/log/syslog.
Contrôle d'accès
Comme je vous l'ai déja signalé, TCPD permet non seulement
d'enregistrer les requêtes mais aussi d'autoriser/interdire l'accès à certains
services.
Pour déterminer les droits d'accès aux services, TCPD utilise
deux fichiers de configuration :
/etc/hosts.allow qui contient la liste des hôtes autorisés à accéder
aux services et /etc/hosts.deny qui est la liste des machines qui
n'ont pas accès aux services.
Si les deux fichiers existent, TCPD explore le contenu du
fichier /etc/hosts.allow puis le fichier /etc/hosts.deny
jusqu'à ce qu'il trouve une règle qui s'applique au client et au service
demandé. Un accès accordé par /etc/hosts.allow ne peut être remis en
cause par /etc/hosts.deny.
Le format d'une ligne pour les fichiers de configuration est le suivant :
listeServices: listeMachines
listeServices est une liste de services réseau, séparés par des virgules. Ce sont
des services auxquels l'accès est accordé ou refusé.
Chaque services est identifié par le nom du processus situé dans le septième
champs d'une ligne de /etc/inetd.conf.
listeMachines est une liste de noms de domaines, de machines ou
d'adresses IP séparée par des virgules.
Chaque système apparaissant dans cette liste à un accès autorisé ou réfusé aux
services spécifiés dans listeServices.
Voici un exemple qui autorise toutes les machines du réseau Amenti.org à accédé
aux services Ftp :
ftpd : .amenti.org
Deux mots clés éxistent pour ces fichiers : ALL qui
signifie tout (il peut être utilisé dans listeServices ou listeMachines) et
LOCAL (qui peut être utilisé seulement dans listeMachines) qui correspond à la
machine locale.
Machine utilisée pour cette documentation
Machine : P166, 32 Mo de RAM
Système : Linux (debian)
Conclusion
C'est facile, TCP Wrapper est un daemon qu'il faut absolument installer sur son
système :)
Même si vous ne souhaitez pas limiter l'accès aux services, il sera très utile
pour enregistrer l'activité de votre serveur et détecter les intrusions.
Si vous avez des remarques, des questions, des demandes n'hésitez pas à
m'écrire. Et si vous avez le temps, allez sur www.amenti.org
pour d'autres documentations et des liens.
En ésperant vous avoir aidé, à plus !
Stéphane