Maison Opération et maintenance Nginx Restrictions d'accès et paramètres de sécurité Nginx

Restrictions d'accès et paramètres de sécurité Nginx

Jun 10, 2023 pm 06:33 PM
nginx 安全设置 访问限制

Nginx est un serveur Web et un proxy inverse hautes performances présentant les caractéristiques de légèreté, de haute concurrence, de configuration flexible, etc., et est largement utilisé dans les environnements de production. Cependant, comme son processus de construction est relativement simple, il reste confronté à certains problèmes de sécurité, des restrictions d'accès et des paramètres de sécurité doivent donc être définis pour Nginx.

1. Restrictions d'accès

  1. Restrictions IP

Nginx peut restreindre l'accès à l'adresse IP en configurant les directives d'autorisation et de refus. Par exemple, pour autoriser uniquement des adresses IP spécifiques à accéder à Nginx, vous pouvez ajouter le code suivant au fichier nginx.conf :

location / {
    deny all;
    allow 192.168.1.100;
    allow 10.0.0.0/8;
    allow 172.16.0.0/12;
    allow 192.168.0.0/16;
}
Copier après la connexion

L'extrait de code ci-dessus signifie refuser toutes les demandes, puis autoriser les adresses IP 192.168.1.100, 10.0. .0.0/8 en séquence, 172.16.0.0/12, 192.168.0.0/16 requêtes. Vous pouvez également définir des règles globales d'autorisation et de refus via la directive http dans le fichier de configuration.

  1. Restrictions User-Agent

User-Agent est une chaîne d'identification envoyée par un client HTTP tel qu'un navigateur, qui peut être utilisée pour déterminer s'il s'agit du visiteur lui-même ou d'un programme automatisé. Nginx peut limiter le User-Agent en configurant la directive if et la variable $http_user_agent, par exemple :

if ($http_user_agent ~* (wget|curl))
{
    return 403;
}
Copier après la connexion

La signification de ce code est que si le User-Agent contient une chaîne wget ou curl, un code d'erreur 403 sera renvoyé .

  1. Referer Limitation

Referer est un champ dans l'en-tête de la requête HTTP, indiquant l'adresse source de la requête en cours. Nginx peut limiter le Referer en configurant la directive if et la variable $http_referer, par exemple :

if ($http_referer ~* (baidu.com|google.com))
{
    return 403;
}
Copier après la connexion

La signification de ce code est que si le Referer contient la chaîne baidu.com ou google.com, il renverra un code d'erreur 403 .

2. Paramètres de sécurité

  1. Protection HTTPS

HTTPS peut mieux protéger la sécurité des applications Web par rapport au protocole HTTP, car l'algorithme de cryptage SSL/TLS est utilisé lors de la transmission des données. HTTPS peut être activé en ajoutant le code suivant au fichier de configuration Nginx :

server {
    listen 443 ssl;
    ssl_certificate /path/to/cert.crt;
    ssl_certificate_key /path/to/cert.key;
    ...
}
Copier après la connexion

ssl_certificate et ssl_certificate_key utiliseront le certificat SSL et la clé privée pour implémenter la fonction de cryptage de le protocole HTTPS. ssl_certificatessl_certificate_key会使用SSL证书和私钥来实现HTTPS协议的加密功能。

  1. 限制访问文件目录

Nginx默认情况下会将/etc/nginx/html下的所有文件和子目录暴露在网站根目录下,因此需要限制访问文件目录。可以在nginx.conf配置文件中添加如下代码来限制目录的访问:

location / {
    root /path/to/root;
    index index.html;
    autoindex off;
    location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 1d;
        add_header Cache-Control "public";
    }
}
Copier après la connexion

上述代码的意思是将网站的根目录指向/path/to/root,关闭autoindex功能,限制了允许访问的文件类型,同时设置缓存策略。

  1. 安全日志

为了及时发现攻击行为,建议开启Nginx的日志记录功能。可以在nginx.conf配置文件中添加如下代码来记录访问日志:

http {
    access_log /var/log/nginx/access.log;
    ...
}
Copier après la connexion

其中,access_log

Restreindre l'accès aux répertoires de fichiers

Nginx exposera par défaut tous les fichiers et sous-répertoires sous /etc/nginx/html au répertoire racine du site Web, l'accès aux répertoires de fichiers doit donc être restreint. Vous pouvez ajouter le code suivant au fichier de configuration nginx.conf pour restreindre l'accès au répertoire : 🎜rrreee🎜Le code ci-dessus signifie pointer le répertoire racine du site Web vers /path/to/root, désactiver la fonction d'indexation automatique et limiter la types de fichiers auxquels l'accès est autorisé. Définissez également la stratégie de cache. 🎜🎜🎜Journal de sécurité🎜🎜🎜Afin de détecter les attaques à temps, il est recommandé d'activer la fonction de journalisation de Nginx. Vous pouvez ajouter le code suivant au fichier de configuration nginx.conf pour enregistrer les journaux d'accès : 🎜rrreee🎜 Parmi eux, access_log est le chemin de stockage des journaux d'accès Nginx. Les journaux peuvent être stockés dans des fichiers locaux ou analysés à l'aide d'outils d'analyse de journaux tels que ELK. 🎜🎜Résumé🎜🎜Les restrictions d'accès et les paramètres de sécurité de Nginx sont cruciaux pour la sécurité des applications Web. L'accès peut être restreint via des restrictions IP, des restrictions d'agent utilisateur, des restrictions de référent, etc. Vous pouvez également activer HTTPS et restreindre l'accès au répertoire de fichiers. , journaux de sécurité, etc. pour améliorer la sécurité des applications Web. Cependant, il convient de noter que ces mesures ne peuvent qu'améliorer la sécurité des applications Web, mais ne peuvent pas garantir complètement leur sécurité. Par conséquent, des mises à jour régulières des versions des logiciels et des correctifs en temps opportun des vulnérabilités ainsi que d'autres mesures sont nécessaires pour garantir la sécurité des applications Web. 🎜

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment démarrer Nginx dans Linux Comment démarrer Nginx dans Linux Apr 14, 2025 pm 12:51 PM

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.

Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Comment vérifier si Nginx est démarré? Comment vérifier si Nginx est démarré? Apr 14, 2025 pm 12:48 PM

Dans Linux, utilisez la commande suivante pour vérifier si Nginx est démarré: SystemCTL Status Nginx Juges Basé sur la sortie de la commande: si "Active: Active (Running)" s'affiche, Nginx est démarré. Si "Active: Inactive (Dead)" est affiché, Nginx est arrêté.

Comment résoudre l'erreur Nginx403 Comment résoudre l'erreur Nginx403 Apr 14, 2025 pm 12:54 PM

Le serveur n'a pas l'autorisation d'accéder à la ressource demandée, ce qui donne une erreur NGINX 403. Les solutions incluent: vérifier les autorisations de fichiers. Vérifiez la configuration .htaccess. Vérifiez la configuration de Nginx. Configurez les autorisations Selinux. Vérifiez les règles du pare-feu. Dépanner d'autres causes telles que les problèmes de navigateur, les défaillances du serveur ou d'autres erreurs possibles.

Comment résoudre le problème du domaine croisé nginx Comment résoudre le problème du domaine croisé nginx Apr 14, 2025 am 10:15 AM

Il existe deux façons de résoudre le problème du domaine transversal NGINX: modifiez les en-têtes de réponse transversale: ajoutez des directives pour autoriser les demandes de domaine croisé, spécifier des méthodes et des en-têtes autorisés et définir le temps du cache. Utilisez le module CORS: Activez les modules et configurez les règles CORS pour permettre des demandes, des méthodes, des en-têtes et du temps de cache.

Comment démarrer le serveur Nginx Comment démarrer le serveur Nginx Apr 14, 2025 pm 12:27 PM

Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

Comment résoudre nginx403 Comment résoudre nginx403 Apr 14, 2025 am 10:33 AM

Comment corriger l'erreur interdite Nginx 403? Vérifier les autorisations de fichier ou de répertoire; 2. Vérifier le fichier .htaccess; 3. Vérifiez le fichier de configuration NGINX; 4. Redémarrer Nginx. D'autres causes possibles incluent les règles de pare-feu, les paramètres de Selinux ou les problèmes d'application.

See all articles