Le fichier /etc/hosts.deny n'existe plus, toutes les permissions sont regroupées dans un même fichier /etc/hosts.allow :
Voici un fichier /etc/hosts.allow :
# # Fichier /etc/hosts.allow : specifie quelle(s) machine(s) sont autorisee(s) # a utiliser quel(s) service(s). # # Syntaxe : Liste services : Liste machines : Liste options # # Les services et machines de chaque liste sont separes par une virgule. # # La liste des services est le nom du processus situe dans le septieme # champs des lignes de /etc/inetd.conf. # # La liste des machines peut etre un nom de machine (zecastor, par exemple), # un nom de domaine (.chez.moi, par exemple) ou une adresse IP (192.168.1.1, # par exemple). On peut aussi specifier le masque du reseau : # 192.168.1.1/255.255.255.0 signifie ``toutes les machines dont l'adresse IP # correspond a un ET logique entre 192.168.1.1 et 255.255.255.0'', soit toutes # les machines dont l'adresse IP est de la forme 192.168.1.X (1 < X < 254). # # La liste des options peut etre ALLOW (autorise), DENY (refuse) ou SPAWN # (executer la commande shell). # # Le mot-clef ALL designe tous les services (si il est utilise pour la liste # des services) ou toutes les machines (si il est utilise pour la liste # machines). # # Le mot-clef LOCAL (utilise pour la liste des machines) designe toutes les # machines dont le nom ne contient pas de point, c'est à dire toutes les # machines de notre reseau local. # # Le mot-clef PARANOID designe les machines dont le nom ne correspont pas a # l'adresse IP trouvee dans le fichier /etc/hosts (permet de lutter contre # le ``Name Spoofing''). # # # Toutes les machines de notre reseau sont autorisees a utiliser n'importe # quel service # ALL: 192.168.1.2 192.168.1.3 192.168.1.4 : ALLOW # # Autorise tous services depuis les machines du reseau local (nom sans '.', # ie. nom d'hote seul), et a toutes les machines du domaine 'chez.toi' # ALL: LOCAL @chez.toi : ALLOW # # Seule la machine d'adresse IP 193.51.26.10 est autorisee a effectuer un ssh # sshd: 193.51.26.10 : ALLOW # # Interdit l'acces a tout le monde, pour tous les services # ALL: ALL@ALL, PARANOID : DENY # # Un exemple d'utilisation des mots-clefs # ALL: ALL: SPAWN ((echo "Client \: %a" ; \ echo "Serveur \: %A" ; \ echo "Utilisateur \: %c" ; \ echo "Serveur invoque \: %d" ; \ echo "Adresse du client \: %h" ; \ echo "Adresse du serveur \: %H" ; \ echo "Nom du client \: %n" ; \ echo "Nom du serveur \: %N" ; \ echo "Numero du prcessus \: %p" ; \ echo "Informations sur le serveur \: %s" ; \ echo "Nom de l'utilisateur \: %u" ; \ ) | /usr/bin/mailto -s "%d-%h %u" root) &
Le format de ce fichier est simple : tous les services, demandés par n'importe quelle machine, sont bloqués. Voir tcpd(8) et hosts_access(5) pour plus de détails.
Le mot cléf PARANOID spécifie que si une machine effectue un telnet ou un ftp sur notre machine, son nom doit apparaitre dans le fichier /etc/hosts, sinon il y aura un délai avant que le DNS ne vérifie que le bon nom d'hote est associé à la bonne adresse IP.