Maison  >  Article  >  Opération et maintenance  >  Comment utiliser Nginx pour implémenter la liste noire IP

Comment utiliser Nginx pour implémenter la liste noire IP

WBOY
WBOYoriginal
2023-06-10 12:42:115214parcourir

Avec le développement rapide d'Internet, la sécurité des réseaux est devenue un enjeu de plus en plus important. Des attaques malveillantes et des incidents de phishing se produisent de temps en temps, représentant une grande menace pour les sites Web et les utilisateurs. Il est donc crucial d’établir un système de défense efficace en matière de sécurité des réseaux.

Nginx est un logiciel de serveur Web populaire qui fournit non seulement des services Web hautes performances, mais joue également le rôle de proxy inverse. Nginx fournit également des modules riches pour aider les administrateurs à protéger les serveurs et applications Web. L'une des fonctionnalités importantes est la liste noire IP, qui aide les administrateurs à restreindre l'accès à partir d'adresses IP spécifiques.

Ce qui suit expliquera comment implémenter la liste noire IP dans Nginx.

Première étape : désactiver l'accès aux adresses IP

Dans la configuration de Nginx, l'administrateur peut définir un ensemble d'adresses IP pour désactiver l'accès. Ceci peut être réalisé en utilisant la directive "deny" et une liste d'adresses IP. Par exemple, la configuration suivante interdira l'accès aux deux adresses IP 192.168.1.2 et 192.168.1.3 :

location / {
  deny 192.168.1.2;
  deny 192.168.1.3;
  # ... other configuration directives
}

Plusieurs directives de refus peuvent être utilisées dans le bloc d'emplacement pour empêcher l'accès à plusieurs adresses IP.

Étape 2 : Autoriser l'accès à partir d'adresses IP spécifiques

En plus de désactiver les adresses IP, les administrateurs peuvent également configurer Nginx pour autoriser l'accès à partir d'adresses IP spécifiques. Ceci peut être réalisé en utilisant la directive « autoriser » et une liste d'adresses IP. Par exemple, la configuration suivante permettra l'accès aux deux adresses IP 192.168.1.4 et 192.168.1.5 :

location / {
  deny all;
  allow 192.168.1.4;
  allow 192.168.1.5;
  # ... other configuration directives
}

Comme la directive deny, plusieurs directives d'autorisation peuvent être utilisées dans le bloc d'emplacement pour autoriser l'accès à plusieurs adresses IP.

Étape 3 : Utiliser des variables pour gérer la liste d'adresses IP

Dans les applications pratiques, les administrateurs peuvent avoir besoin de gérer dynamiquement la liste d'adresses IP. Pour rendre la configuration plus flexible, des variables peuvent être utilisées pour gérer les listes d'adresses IP. L'exemple suivant montre comment utiliser des variables pour définir une liste d'adresses IP :

map $remote_addr $deny_ip {
  192.168.1.2 1;
  192.168.1.3 1;
  default 0;
}

Dans l'exemple ci-dessus, la directive "map" mappe l'adresse IP distante à la variable $deny_ip. Si l'adresse IP est dans la liste 192.168.1.2 ou 192.168.1.3, la variable $deny_ip sera définie sur 1. Sinon, la variable $deny_ip sera définie sur 0.

Ensuite, vous pouvez utiliser la variable $deny_ip dans la configuration Nginx pour déterminer si l'accès est interdit. L'exemple suivant montre comment utiliser la variable $deny_ip pour bloquer l'accès à une adresse IP interdite :

location / {
  if ($deny_ip) {
    return 403;
  }
  # ... other configuration directives
}

Si la variable $deny_ip est 1, Nginx renverra un code de réponse 403 Forbidden.

Résumé

Nginx est un logiciel de serveur Web puissant qui peut fournir de riches fonctionnalités de sécurité tout en garantissant les performances du serveur. En utilisant la fonction de liste noire IP de Nginx, les administrateurs peuvent interdire l'accès à des adresses IP spécifiques pour garantir la sécurité du serveur Web. Dans le même temps, l’utilisation de variables peut rendre la configuration plus flexible et plus facile à gérer. En suivant les étapes ci-dessus, les administrateurs peuvent facilement implémenter la fonctionnalité de liste noire IP dans Nginx.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn