Pour une version antérieure à la version 7.6, il faut d'abord mettre dans le fichier /etc/hosts.deny qu'on interdit tout :
# # Fichier /etc/hosts.deny : specifie quelle(s) machine(s) ne sont pas # autorisee(s) a utiliser quel(s) service(s). # # Syntaxe : Liste services : Liste machines # # 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). # # 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''). # # # Interdit l'acces a tout le monde, pour tous les services # ALL: ALL@ALL, PARANOID
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.
Maintenant on peut autoriser des services dans le 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 # # 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). # # 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 # # 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 # # Seule la machine d'adresse IP 193.51.26.10 est autorisee a effectuer un ssh # sshd: 193.51.26.10