Ga naar inhoud
keffe

nginx basicauth

Aanbevolen berichten

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?

Deel dit bericht


Link naar bericht
Delen op andere sites

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

 

Deel dit bericht


Link naar bericht
Delen op andere sites
Op 18-12-2018 om 07:48, pepijniscool zei:

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.

Deel dit bericht


Link naar bericht
Delen op andere sites

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.

aangepast door pepijniscool

Deel dit bericht


Link naar bericht
Delen op andere sites
Op 18-12-2018 om 07:48, pepijniscool zei:

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.

Deel dit bericht


Link naar bericht
Delen op andere sites

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

 

Deel dit bericht


Link naar bericht
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Maak een account aan in onze gemeenschap. Het is makkelijk!

Registreer een nieuw account

Aanmelden

Ben je al lid? Meld je hier aan.

Nu aanmelden

×