Hvordan bruke AppArmor til å blokkere tilgang til mapper i NGINX

Apache eller NGINX: Hvilken webserver passer for deg? Apache og NGINX har begge sine fordeler og ulemper. Jack Wallen forklarer dem i denne kjappe videoen.

Dette kommer gjennom en eksperimentering. Jeg ønsket å finne forskjellige måter å blokkere / fjerne blokkering av kataloger for NGINX-webserveren. En måte jeg fant var via AppArmor. Hvis du ikke er sikker på hva AppArmor er, er det ganske enkelt en Linux-kjernesikkerhetsmodul som gjør det mulig å begrense programmets muligheter ved å bruke programmer per profil. Med det i bakhodet er det mulig å opprette en AppArmor-profil som kan begrense tilgangen til kataloger, samtidig som du gir tilgang til andre. Jeg skal demonstrere hvordan dette gjøres på Ubuntu Server 18.04-plattformen med ikke-standard NGINX dokumentrøtter.

Hva du trenger

Jeg vil anta at du har Ubuntu Server 18.04 i gang. Jeg vil også anta at NGINX er installert og fungerer. Selv om Ubuntu Server-plattformen skal ha AppArmor installert, vil den ikke inneholde ett nødvendig verktøy. For å fikse det, åpner du et terminalvindu på serveren din og gir ut følgende kommando:

 sudo apt install apparmor-utils 

Med det installert er du klar til å gå.

Konfigurer NGINX

Siden vi skal servere filer fra ikke-tradisjonelle dokumentrotkataloger, la oss ta vare på å lage disse. La oss først lage to nye kataloger med kommandoene:

 sudo mkdir / data / www / safe sudo mkdir / data / www / usikker 

I en sikker katalog plasserer du en index.html-fil med innholdet:

DETTE ER trygt

Inni den usikre katalogen, plasser en index.html-fil med følgende innhold:

DETTE ER UNSAFE

Nå må vi endre filen nginx.conf. Åpne denne filen med kommandoen sudo nano /etc/nginx/nginx.conf . Kommenter linjen i den filen (ved å legge til en # i begynnelsen):

 inkluderer / etc / nginx / sites-enabled / *; 

Inkluder /etc/nginx/conf.d/*.conf; legg til følgende:

 server {hør 8080; beliggenhet / {root / data / www; }} 

Lagre og lukk den filen. Last NGINX på nytt med kommandoen:

 sudo nginx -s last inn på nytt 

Hvis du peker nettleseren din til enten http: // SERVER_IP: 8080 / safe / eller http: // SERVER_IP: 8080 / safe /, bør du kunne se innholdet i begge index.html-filene. La oss blokkere muligheten til å se filen i den utrygge katalogen.

Opprett en AppArmor-profil

Vi må lage en ny AppArmor-profil for NGINX. For å gjøre dette, endre til AppArmor-katalogen med kommandoen cd /etc/apparmor.d . I den katalogen, utfør kommandoen sudo aa-autodep nginx . Når den kommandoen er fullført, plasserer du profilen i klagemodus med kommandoen sudo aa-klage nginx .

Neste utgave kommandoen sudo aa-logprof. Svar A for hvert spørsmål til du blir bedt om å lagre (ved å trykke på S) endringene. Når endringene er lagret, kan vi nå redigere NGINX-profilen. Gi kommandoen sudo nano /etc/apparmor.d/usr.sbin.nginx . Rediger profilen din slik at den ser slik ut:

 # Sist endret: Thu 21 juni 14:54:30 2018 #include / usr / sbin / nginx {#include #include capability dac_override, capability dac_read_search, capability net_bind_service, setgid-funksjonalitet, stillingsfunksjon, / data / www / safe / * r, benekter / data / www / usikker / * r, / etc / group r, /etc/nginx/conf.d/ r, /etc/nginx/mime.types r, /etc/nginx/nginx.conf r, / etc / nsswitch.conf r, / etc / passwd r, /etc/ssl/openssl.cnf r, /run/nginx.pid rw, / usr / sbin / nginx mr, /var/log/nginx/access.log w, /var/log/nginx/error.log w, } 

Lagre og lukk den filen. Nå kan vi plassere profilen i håndhevingsmodus med kommandoen:

 sudo aa-tvang nginx 

La oss laste inn AppArmor på nytt og starte NGINX på nytt med kommandoene:

 sudo /etc/init.d/apparmor last inn sudo service nginx omstart 

Hvis du peker nettleseren din mot http: // SERVER_IP: 8080 / safe, bør du fremdeles se innholdet i indeksen.html. Hvis du peker nettleseren din mot http: // SERVER_IP: 8080 / usikker, vil du få en 403 forbudt feil ( figur A ).

Figur A

Vi har ikke lenger tilgang til det utrygge området.


Glad blokkering

Og det er alt som er for å blokkere kataloger for NGINX-tilgang med AppArmor. Er det metoden du vil bruke? Det er for deg å bestemme. Det er imidlertid hyggelig å vite at det er mange forskjellige virkemidler for nettopp dette. I det minste vet du at du har muligheten til å låse ned noen kataloger for NGINX-tilgang. Glad blokkering!

Cybersecurity Insider Nyhetsbrev

Styrke organisasjonens IT-sikkerhetsforsvar ved å holde deg oppdatert om de siste nettbaserte sikkerhetsnyhetene, løsningene og beste praksis. Leveres tirsdager og torsdager

Registrer deg i dag

© Copyright 2021 | pepebotifarra.com