nginx basicauth

Gestart doorKeffe5 reacties631 weergaven

6 berichten · pagina 1 van 1

Keffe

Lid · Topicstarter

Berichten
951
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hi guys,

Ik probeer met een hypernode server (van byte als je er bekend mee bent) een user agent toegang te verschaffen door middel van een if statement.
Echter krijg ik met het volgende script:

set $auth_basic "Login required";
if ($http_user_agent ~* "Adyen") {
set $auth_basic off;
}

satisfy any;

allow ...;
deny all;

auth_basic $auth_basic;
auth_basic_user_file /data/web/nginx/htpasswd;

# allow http dcv validation to bypass basic auth
location ~ "^/\.well-known/.*$" {
auth_basic off;
allow all;
}

Niet het gewenste resultaat omdat ik dan 403 Forbidden krijg.

Weet iemand hier de beste oplossing voor?
0
Berichten
204
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Een UserAgent is in mijn ogen geen optimale beveiliging; zeker niet als de content welke je probeert de verbergen nog niet voor de buitenwereld bestemd is.

Wat je kan proberen is deze regel:

if ($http_user_agent !~* (Hier-stop-jouw-speciale-useragent (let op: volledig))) {
return 403;
}

Wat dit doet is een 403 header returnen naar eenieder die niet de specifiek gedefinieerde UserAgent heeft.
Gr
0
Berichten
40
Reputatie
0
Punten
0,40
Lid sinds
Laatst gezien
pepijniscool schreef:
Een UserAgent is in mijn ogen geen optimale beveiliging; zeker niet als de content welke je probeert de verbergen nog niet voor de buitenwereld bestemd is.

Wat je kan proberen is deze regel:

if ($http_user_agent !~* (Hier-stop-jouw-speciale-useragent (let op: volledig))) {
return 403;
}

Wat dit doet is een 403 header returnen naar eenieder die niet de specifiek gedefinieerde UserAgent heeft.
Gr
Bwaah, uiteindelijk is het een beetje hetzelfde als de HTTP auth header. Je moet enkel zien dat je de useragent niet naar andere websites toestuurt, en best enkel over SSL gebruikt. Maar dat laatste is bij HTTP auth ook niet altijd het geval.
0
Berichten
204
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik verkies htpasswd te gebruiken samen met SSL

sudo apt-get install apache2-utils

sudo htpasswd -c /etc/nginx/.htpasswd gebruikersnaam


/etc/nginx/.htpasswd
  
  location / {
        try_files $uri $uri/ =404;
        auth_basic "Login required";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }


Het werkt beiden, maar ik zie geen pluspunten om UAauthentication aan te houden.
0
Keffe

Lid · Topicstarter

Berichten
951
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
pepijniscool schreef:
Een UserAgent is in mijn ogen geen optimale beveiliging; zeker niet als de content welke je probeert de verbergen nog niet voor de buitenwereld bestemd is.

Wat je kan proberen is deze regel:

if ($http_user_agent !~* (Hier-stop-jouw-speciale-useragent (let op: volledig))) {
return 403;
}

Wat dit doet is een 403 header returnen naar eenieder die niet de specifiek gedefinieerde UserAgent heeft.
Gr
Bedankt voor de reactie.
Echter zoek ik iets om juist iemand met een useragent door te laten gaan in mijn basic auth. Wanneer ik het script gebruik van jullie om een 200 te returnen zou hij alsnog door mijn basic auth tegengehouden worden.
Daarom zoek k een manier om door middel van een user agent toegang te verschaffen door mijn basic auth heen.
0
Berichten
204
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb inderdaad jouw beginpost niet goed gelezen, mijn excuus daarvoor.

 location / {
    try_files $uri $uri/ =404;
    if ($http_user_agent ~* (Hier-stop-jouw-speciale-useragent (let op: volledig))) {
    auth_basic "Login required";
    auth_basic_user_file /etc/nginx/.htpasswd;
     } else {
     return 403;
    }
  }

je zou iets dat hier op lijkt kunnen proberen.

if useragent = 'jouw useragent'Â => auth_basic

!OR = return 403
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren