Recherche de site Web

hosts.allow et exemple sous Linux


Un système Linux peut utiliser le fichier hosts.allow pour spécifier les adresses IP, les noms d’hôte ou les domaines autorisés à s’y connecter. Cela fonctionne spécifiquement pour les services encapsulés TCP. Le fichier hosts.allow est utilisé conjointement avec hosts.deny pour déterminer si une tentative de connexion est acceptée ou refusée.

Le fichier hosts.allow n’est qu’un fichier de configuration en texte brut avec une syntaxe assez simple. Dans ce tutoriel, vous verrez un exemple du fichier hosts.allow, car nous vous montrons comment formater le fichier pour différents scénarios possibles.

Dans ce tutoriel, vous allez apprendre :

  • À quoi sert le fichier hosts.allow ?
  • Comment modifier et formater le fichier hosts.allow

hosts.allow et exemple sous Linux

Le fichier hosts.allow contient une liste de règles pour lesquelles les hôtes ou les réseaux sont autorisés à accéder aux services spécifiés à l’intérieur du fichier. Le format accepté est d’énumérer une règle par ligne. Ci-dessous, nous montrerons divers exemples de règles que vous pouvez utiliser dans le fichier.

NOTE
Lorsqu’une connexion est tentée, le fichier hosts.allow est consulté pour voir si elle sera autorisée ou non. Si c’est autorisé, le fichier hosts.deny est consulté par la suite, pour voir s’il existe une règle qui refuse spécifiquement la connexion.

  1. La syntaxe habituelle est la suivante. Chaque valeur est séparée par deux points :.

    
    service : host/network
    

    Vous pouvez également fournir une option, mais ce n’est pas aussi courant. Nous couvrirons ci-dessous d’autres choix de niche. D’autres options peuvent être ajoutées si nécessaire, chacune étant séparée par un autre deux-points.

    
    service : host/network [: <option>: <option>: ...]
    
  2. La ligne suivante autorise tout le trafic vers le service shd. ALL est utilisé comme un caractère générique.

    
    sshd : ALL
    
  3. Cette ligne permettrait les connexions de tous les hôtes du réseau 10. Les connexions de tous les autres hôtes peuvent alors être refusées par le fichier hosts.deden. Ce type de configuration fonctionnera comme prévu puisque la ligne d’autorisation précède notre ligne de refus correspondante dans l’autre fichier, et sera donc déclenchée en premier.

    
    sshd : 10.
    
  4. Acceptez les connexions à partir d’une adresse IPv4 et IPv6 particulière :

    
    sshd : 10.10.136.241
    sshd : [2a02:2149:88f1:4c00:9991:9daa:b580:aee1]
    

    Notez que l’adresse IPv6 doit être placée entre crochets [ ].

  5. Plutôt que d’utiliser des adresses IP, vous pouvez également spécifier des noms d’hôte à partir desquels accepter ou refuser les connexions.

    
    sshd : some.host
    
  6. Acceptez les connexions de tous les hôtes utilisant le nom de domaine .linuxconfig.org.

    
    sshd : .linuxconfig.org
    
  7. Vous pouvez également utiliser un caractère générique pour le service et le champ hôte/réseau. Cela acceptera toutes les connexions à n’importe quel service. Cela rendrait toutes les autres règles (y compris celles de hosts.deny) non pertinentes, car toutes les connexions seront acceptées par cette règle avant d’avoir une chance d’être refusées.

    
    ALL : ALL
    
  8. Pour n’accepter que les connexions locales, vous pouvez utiliser le caractère générique LOCAL.

    
    sshd : LOCAL
    
  9. L’opérateur EXCEPT peut être utilisé pour créer une exception dans une règle par ailleurs globale. Par exemple, cette règle autoriserait toutes les connexions à partir du nom de domaine .linuxconfig.org, à l’exception d’un hôte.

    
    sshd : .linuxconfig.org EXCEPT terminal.linuxconfig.org
    

Réflexions finales

Dans ce tutoriel, nous avons vu comment formater le hosts.allow avec diverses règles de filtrage sur un système Linux. Cela peut être un moyen efficace de filtrer le trafic pour les services encapsulés TCP, bien qu’il soit tombé en désuétude avec l’essor du puissant pare-feu iptables/nftables intégré au noyau Linux.

Articles connexes: