Comprendre F5 · NGINX

NGINX : restrictions IP, Basic Auth et auth_request

Choisir une restriction réseau ou une authentification HTTP et vérifier l’accès aux URI sans confondre identité et adresse IP.

Thomas SAUTIER · Publié le · Révisions de certification

  • Référence de F5CAN3 consultée le · Objectifs abordés : F5CAN3 1.2.
  • Référence de F5CANR consultée le · Objectifs abordés : F5CANR 3.2.

Ce guide concerne NGINX Open Source. Vérifiez la version, les modules compilés ou chargés et les particularités de votre paquet.

Définir ce qui autorise la requête

Une règle allow/deny traite une adresse ; elle ne connaît pas l’utilisateur métier. Basic Auth vérifie un secret associé à un nom ; auth_request délègue une décision à un service d’authentification par sous-requête. Ces mécanismes n’établissent pas la même preuve et peuvent répondre à des exigences différentes.

Formulez d’abord la règle attendue : réseau administratif, utilisateur authentifié ou permission sur une ressource. Une restriction IP peut être appropriée pour un laboratoire local et insuffisante pour une application accessible via un proxy partagé. Définissez la provenance de l’adresse réellement évaluée.

Repère visuelrestrictions IP, Basic Auth et auth_request
restrictions IP, Basic Auth et auth_request La location choisit une politique qui peut combiner adresse et identité. Le mode de combinaison détermine la décision d’accès. 01 Requête URI et provenance 02 Politique location protégée 03 IP restriction réseau 04 Identité Basic ou délégation 05 Décision tous ou un contrôle 06 Application accès autorisé
La location choisit une politique qui peut combiner adresse et identité. Le mode de combinaison détermine la décision d’accès.

Sources : NGINX / F5, Module ngx_http_access_module ; NGINX / F5, Module ngx_http_auth_basic_module ; NGINX / F5, Module ngx_http_auth_request_module.

Localiser la politique et ses dépendances

Les restrictions s’appliquent dans les contextes autorisés par leur module. L’ordre des règles IP compte. La combinaison de plusieurs contrôles peut aussi être influencée par satisfy : demande-t-on le succès de tous les contrôles ou d’au moins l’un d’eux ? Une lecture partielle peut inverser la politique recherchée.

Le fragment Basic Auth appartient à un server de laboratoire. Le fichier de mots de passe doit être créé et protégé séparément, hors du répertoire public. Utilisez HTTPS pour transporter les credentials ; l’encodage de Basic Auth n’est pas un chiffrement.

Protection pédagogique : HTTPS et fichier de credentials requisConfiguration NGINX · contexte server
location /admin/ {
    auth_basic "Administration du laboratoire";
    auth_basic_user_file /etc/nginx/revision.htpasswd;
    proxy_pass http://127.0.0.1:9000;
}

Sources : NGINX / F5, Module ngx_http_auth_basic_module ; NGINX / F5, Module ngx_http_core_module ; NGINX / F5, Configuring HTTPS servers.

Interpréter la décision auth_request

Le module auth_request utilise le statut de la sous-requête pour autoriser ou refuser l’accès selon ses règles. Vérifiez sa présence dans votre build. Le service d’authentification, ses routes internes et les en-têtes échangés constituent une dépendance à sécuriser et à surveiller.

Une panne du service d’authentification ne doit pas être confondue avec un refus normal d’un utilisateur. Les journaux doivent permettre de distinguer accès non autorisé, backend d’authentification indisponible et erreur de configuration. N’ajoutez pas les secrets à ces traces pour faciliter le diagnostic.

Sources : NGINX / F5, Module ngx_http_auth_request_module ; NGINX / F5, Module ngx_http_log_module.

Exercice : vérifier les refus autant que les succès

Écrivez quatre cas : utilisateur sans credential, credential incorrect, utilisateur autorisé et dépendance d’authentification indisponible. Pour chacun, précisez le comportement souhaité et la trace qui l’établit. Ajoutez une URI voisine pour vérifier que la politique protège exactement le périmètre prévu.

Un test réussi sur la page d’administration ne prouve pas que toutes ses ressources sont protégées. Examinez les sous-routes, les méthodes et la sélection des locations. Conservez une politique d’accès explicite, puis confrontez la configuration aux cas de recette.

Sources : NGINX / F5, Module ngx_http_access_module ; NGINX / F5, Module ngx_http_auth_request_module ; NGINX / F5, Module ngx_http_core_module.

Sources et portée

Références consultées le . Les exemples utilisent des noms et adresses de documentation à remplacer. Les commandes de lecture affichent l’existant ; les captures et requêtes de diagnostic sont à limiter au périmètre autorisé.

Retrouver le parcours de lecture F5 NGINX

Continuer la série F5

Explorer tous les guides du parcours F5 NGINX

Découvrir l’expertise F5 de Samhan

Échange

Besoin d’éclaircir votre architecture F5 ?

Échangeons sur vos flux, vos contraintes de disponibilité et votre services applicatifs.