Restrictions d'accès et paramètres de sécurité 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
- 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; }
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.
- 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; }
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é .
- 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; }
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é
- 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; ... }
où 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_certificate
和ssl_certificate_key
会使用SSL证书和私钥来实现HTTPS协议的加密功能。
- 限制访问文件目录
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"; } }
上述代码的意思是将网站的根目录指向/path/to/root,关闭autoindex功能,限制了允许访问的文件类型,同时设置缓存策略。
- 安全日志
为了及时发现攻击行为,建议开启Nginx的日志记录功能。可以在nginx.conf配置文件中添加如下代码来记录访问日志:
http { access_log /var/log/nginx/access.log; ... }
其中,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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

É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? 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.

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é.

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.

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.

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 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.
