Recherche de site Web

hosts.deny et exemple sous Linux


Le fichier hosts.deny peut être utilisé sur un système Linux pour refuser les tentatives de connexion à partir d’une ou plusieurs adresses IP, noms d’hôte ou domaines. Il peut fonctionner avec n’importe quel service encapsulé TCP sur votre système. Le fichier hosts.deny est utilisé conjointement avec hosts.allow pour déterminer si une tentative de connexion est acceptée ou refusée.

Le fichier hosts.deny 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.deny, 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.deny ?
  • Comment modifier et formater le fichier hosts.deny

hosts.deny et exemple sous Linux

Le fichier hosts.deny contient une liste de règles pour lesquelles les hôtes ou les réseaux se voient refuser l’accès aux services spécifiés à l’intérieur du fichier. Le format 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 refuserait tout le trafic vers le service sshd. ALL est utilisé comme un caractère générique.

    
    sshd : ALL
    

    Comme mentionné précédemment, les règles à l’intérieur du fichier hosts.allow se déclenchent avant cette règle. Par conséquent, la règle ALL peut être utilisée comme un fourre-tout pour les connexions qui n’ont pas déjà été explicitement acceptées.

  3. Cette ligne refuserait les connexions de tous les hôtes du réseau 10. Les connexions de tous les autres hôtes peuvent être acceptées par le fichier hosts.allow ou, si aucune règle ne s’applique aux autres hôtes, leurs connexions seront autorisées.

    
    sshd : 10.
    
  4. Refuser 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 refuser les connexions.

    
    sshd : some.host
    
  6. Refusez 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 refusera toutes les connexions à un service. Cela ne doit être utilisé que si vous avez déjà des règles à l’intérieur de hosts.allow pour autoriser les connexions de tous les hôtes ou réseaux à partir desquels vous devez recevoir des communications.

    
    ALL : ALL
    
  8. Pour refuser uniquement les connexions locales, le caractère générique LOCAL peut être utilisé.

    
    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 refuserait 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 fichier hosts.deny 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: