GNU/Linux >> Tutoriels Linux >  >> Cent OS

TCP Wrapper (hosts.allow &hosts.deny) Options de commande sous Linux

Les enveloppeurs TCP sont capables de plus que d'autoriser et de refuser l'accès aux services. Avec l'argument de commande facultatif, ils peuvent envoyer des bannières de connexion, avertir des attaques d'hôtes particuliers et améliorer la journalisation.

Bannière wrapper TCP pour un service

Pour implémenter une bannière wrapper TCP pour un service, utilisez l'option banner. Cet exemple implémente une bannière pour vsftpd. Vous devez créer un fichier bannière n'importe où sur le système, en lui donnant le même nom que le démon. Dans cet exemple, le fichier s'appelle /etc/banners/vsftpd et contient les lignes suivantes :

220-Hello, %c
220-All activity on ftp.example.com is logged.
220-Inappropriate use results in access privileges being removed.

Le %c token fournit une variété d'informations sur le client. Le jeton %d (non affiché) se développe au nom du démon auquel le client a tenté de se connecter. Pour que cette bannière s'affiche aux connexions entrantes, ajoutez la ligne suivante au fichier /etc/hosts.allow :

# vi /etc/hosts.allow
vsftpd : ALL : banners /etc/banners/

Enveloppes TCP pour avertir des attaques potentielles

Les wrappers TCP peuvent vous avertir des attaques potentielles d'un hôte ou d'un réseau en utilisant la directive spawn. La directive spawn exécute n'importe quelle commande shell. Dans cet exemple, l'accès est tenté à partir du réseau 200.182.68.0/24. Placez la ligne suivante dans le fichier /etc/hosts.deny pour refuser toute tentative de connexion à partir de ce réseau et pour consigner les tentatives dans un fichier spécial :

# vi /etc/hosts.deny
ALL : 200.182.68.0 : spawn /bin/echo `date` %c %d >> /var/log/intruder_alert

Pour autoriser la connexion et la consigner, placez la directive spawn dans le fichier /etc/hosts.allow.

Refuser l'accès et consigner la tentative de connexion

L'entrée suivante dans /etc/hosts.deny refuse tout accès client à tous les services (sauf autorisation spécifique dans /etc/hosts.allow) et consigne la tentative de connexion :

# vi /etc/hosts.deny
ALL : ALL : spawn /bin/echo “%c tried to connect to %d and was blocked” >> /var/log/tcpwrappers.log

Le niveau de journalisation peut être élevé à l'aide de l'option de gravité. Supposons que quiconque tente de se connecter en ssh à un serveur FTP est un intrus. Pour l'indiquer, placez un indicateur emerg dans les fichiers journaux au lieu de l'indicateur par défaut, info et refusez la connexion. Pour ce faire, placez la ligne suivante dans /etc/hosts.deny :

# vi /etc/hosts.deny
sshd : ALL : severity emerg

Cela utilise la fonction de journalisation authpriv par défaut, mais élève la priorité de la valeur par défaut d'info à emerg, qui publie les messages de journal directement sur la console.

Refuser l'accès à partir d'un domaine spécifique

L'exemple suivant indique que si une connexion au démon SSH (sshd) est tentée à partir d'un hôte du domaine example.com, exécutez la commande echo pour ajouter la tentative à un fichier journal spécial et refusez la connexion. Étant donné que la directive facultative deny est utilisée, cette ligne refuse l'accès même si elle apparaît dans le fichier /etc/hosts.allow :

# vi /etc/hosts.allow
sshd : .example.com \
: spawn /bin/echo `/bin/date` access denied >> /var/log/sshd.log \ 
: deny

Chaque champ d'option (spawn et deny) est précédé de la barre oblique inverse (\) pour éviter l'échec de la règle en raison de la longueur.

Comprendre les wrappers TCP (/etc/hosts.allow &/etc/hosts.deny) sous Linux


Cent OS
  1. Restreindre l'accès aux serveurs Linux à l'aide d'encapsuleurs TCP

  2. DSH - Exécutez une commande Linux sur plusieurs hôtes à la fois

  3. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  4. Comment /etc/motd est-il mis à jour ?

  5. Comprendre les wrappers TCP (/etc/hosts.allow &/etc/hosts.deny) sous Linux

Le fichier Hosts sous Linux

Les modifications manuelles apportées à /etc/hosts ou /etc/sysconfig/network-scripts/ifcfg-* sont perdues

Format de /etc/hosts sous Linux (différent de Windows ?)

Dans mon fichier /etc/hosts/ sous Linux/OSX, comment créer un sous-domaine générique ?

Utilitaire de ligne de commande Linux pour résoudre les noms d'hôte en utilisant d'abord /etc/hosts

Limite de taille de /etc/hosts (Linux)