Le package tcpwrappers apporte des programmes d'encapsulation de démon qui rapportent le nom du client réclamant des services réseau et le service réclamé.
Téléchargement (HTTP): http://files.ichilton.co.uk/nfs/tcp_wrappers_7.6.tar.gz
Téléchargement (FTP): ftp://ftp.porcupine.org/pub/security/tcp_wrappers_7.6.tar.gz
Taille du téléchargement: 100 Ko
Estimation de l'espace disque requis: 720 Ko
Estimation du temps de construction: 0,16 SBU
Correctif requis (corrige quelques problèmes de construction et ajoute la construction d'une bibliothèque partagée): http://www.linuxfromscratch.org/patches/blfs/5.1/tcp_wrappers-7.6-shared-lib-plus-plus.patch
Installez tcpwrappers avec les commandes suivantes :
patch -Np1 -i ../tcp_wrappers-7.6-shared-lib-plus-plus.patch &&
make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux &&
make install
/etc/hosts.allow, /etc/hosts.deny
Protections des fichiers: le wrapper, tous les fichiers utilisés par le wrapper, et tous les répertoires composant le chemin amenant à ces fichiers doivent être accessibles mais pas en écriture pour les utilisateurs non privilégiés (mode 750 ou mode 555). Ne pas installez le wrapper set-uid.
Ensuite, réalisez les éditions suivantes sur les fichiers de configuration /etc/inetd.conf :
finger stream tcp nowait nobody /usr/sbin/in.fingerd in.fingerd
devient :
finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd
Le serveur finger est utilisé comme exemple ici.
Des changements similaires doivent être fait si xinetd est utilisé, le point important étant d'appeler /usr/sbin/tcpd au lieu du démon du service directement, et de passer le nom du démon à tcpd.
Le package tcpwrappers contient tcpd, tcpdchk, tcpdmatch, try-from et safe_finger.
tcpd est le démon principal de contrôle d'accès pour tous les services internet, que inetd ou xinetd va lancer à la place des démons demandés.
tcpdchk est un outil pour examiner la configuration du wrapper tcpd et de rapporter les problèmes qui en découlent.
tcpdmatch est utilisé pour prédire comment le wrapper tcpd gèrera une requête spécifique pour un service.
try-from peut être appelé via une commande shell distante pour trouver si le nom d'hôte et l'adresse sont correctement reconnus.