Maison > Article > Opération et maintenance > Comment utiliser le serveur Linux pour améliorer le filtrage et l’inspection de l’interface Web ?
Comment utiliser le serveur Linux pour améliorer le filtrage et l'inspection des interfaces web ?
En tant que porte d'entrée principale des applications Internet, la sécurité des interfaces Web a toujours attiré beaucoup d'attention. Afin de protéger l'interface Web, nous prenons généralement diverses mesures pour filtrer et inspecter les données de demande et de réponse de l'interface. Dans cet article, nous présenterons comment utiliser un serveur Linux pour améliorer le filtrage et l'inspection des interfaces Web, et fournirons des exemples de code.
1. Utilisez Nginx pour le contrôle d'accès
Nginx est un serveur proxy inverse HTTP hautes performances, qui peut être utilisé comme serveur frontal pour le contrôle d'accès. En configurant Nginx, nous pouvons restreindre l'accès à des adresses IP ou à des plages d'adresses IP spécifiques pour garantir que seules les demandes légitimes peuvent être transmises.
L'exemple de fichier de configuration est le suivant :
server { listen 80; server_name example.com; location /api { deny 192.168.0.0/24; allow all; } location / { root /var/www/html; index index.html; } }
Dans la configuration ci-dessus, les requêtes sous le chemin /api seront restreintes et seul l'accès autre que la plage d'adresses IP 192.168.0.0/24 sera autorisé. Les autres requêtes seront redirigées vers le fichier index.html du répertoire /var/www/html.
2. Utilisez Nginx pour le filtrage des demandes
En plus du contrôle d'accès, nous pouvons également utiliser Nginx pour le filtrage des demandes. En configurant le module de réécriture et le proxy inverse de Nginx, nous pouvons filtrer certaines requêtes malveillantes ou paramètres illégaux.
L'exemple de fichier de configuration est le suivant :
server { listen 80; server_name example.com; location /api { if ($args ~ (?:[^=s&]+)(?:&[^=s&]+)*$) { return 403; } proxy_pass http://backend; } location / { root /var/www/html; index index.html; } }
Dans la configuration ci-dessus, si les paramètres de la requête contiennent des caractères illégaux ou si le format du paramètre est incorrect, une erreur 403 sera renvoyée. Les demandes légitimes seront transmises au serveur backend.
3. Utilisez ModSecurity pour le pare-feu de la couche d'application
Une autre façon de renforcer le filtrage et l'inspection des interfaces Web consiste à utiliser ModSecurity, qui est un pare-feu de couche d'application Web open source. En configurant ModSecurity, nous pouvons effectuer une inspection et un filtrage approfondis des données de demande et de réponse.
L'exemple de fichier de configuration est le suivant :
SecRuleEngine On SecRequestBodyLimit 13107200 SecRequestBodyInMemoryLimit 13107200 SecRequestBodyNoFilesLimit 13107200 SecRequestBodyAccess On SecRule REQUEST_METHOD "POST" "id:1,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=XML" SecRule REQUEST_HEADERS:Content-Type "application/(?:json|xml)" "id:2,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=JSON" SecRule REQUEST_HEADERS:Content-Type "application/x-www-form-urlencoded" "id:3,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=UTF8" SecResponseBodyAccess Off SecDefaultAction "phase:2,log,auditlog,pass" <LocationMatch "^/api/"> SecRuleRemoveById 920140 </LocationMatch>
Dans la configuration ci-dessus, nous avons activé le moteur ModSecurity et défini les limites de taille du corps des requêtes et des réponses. Ensuite, nous traitons la demande en fonction du type de contenu de la demande et fermons l'accès au corps de la réponse. Enfin, nous avons supprimé une règle spécifique pour permettre à la demande de passer.
En résumé, en configurant Nginx et ModSecurity du serveur Linux, nous pouvons renforcer le filtrage et l'inspection de l'interface web. Ces méthodes peuvent protéger efficacement nos applications Web contre les requêtes et attaques malveillantes. J'espère que cet article pourra aider tout le monde à mieux améliorer la sécurité des interfaces Web.
(Fin de cet article)
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!