Kuinka käyttää AppArmoria estämään pääsy NGINX-kansioihin

Tämä tapahtuu kokeilun kautta. Halusin löytää erilaisia tapoja estää / estää hakemistoja NGINX-verkkopalvelimelle. Yksi tapa löysin oli AppArmorin kautta. Jos et ole varma, mikä AppArmor on, yksinkertaisesti se on Linux-ytimen suojausmoduuli, joka sallii ohjelmien ominaisuuksien rajoittamisen ohjelmakohtaisilla profiileilla. Tätä silmällä pitäen on mahdollista luoda AppArmor-profiili, joka voi rajoittaa hakemistojen käyttöä, samalla kun pääsy muille. Aion osoittaa, kuinka tämä tehdään Ubuntu Server 18.04 -alustalla, jolla on epästandardit NGINX-asiakirjan juuret.
Mitä tarvitset
Oletan, että Ubuntu Server 18.04 on käynnissä. Oletetaan myös, että NGINX on asennettu ja toimii. Vaikka Ubuntu Server -ympäristössä pitäisi olla AppArmor asennettuna, se ei sisällä yhtä välttämätöntä työkalua. Korjaa tämä avaamalla pääteikkuna palvelimellasi ja antamalla seuraava komento:
sudo apt install apparmor-utils
Kun se on asennettu, olet valmis menemään.
Määritä NGINX
Koska aiomme tarjota tiedostoja ei-perinteisistä asiakirjan juurikansioista, huolehdimme niiden luomisesta. Ensin luodaan kaksi uutta hakemistoa komennoilla:
sudo mkdir / data / www / turvallinen sudo mkdir / data / www / vaarallinen
Sijoita turvalliseen hakemistoon index.html-tiedosto, jonka sisältö on:
TÄMÄ ON TURVALLINEN
Sijoita vaarallisen hakemiston hakemistoon index.html-tiedosto, jolla on seuraava sisältö:
Tämä on turhaa
Nyt meidän on muutettava nginx.conf-tiedostoa. Avaa tämä tiedosto komennolla sudo nano /etc/nginx/nginx.conf . Kommentoi kyseisessä tiedostossa rivi (lisäämällä alkuun #):
sisällytä / etc / nginx / sivustot-käytössä / *;
Sisällytä rivin alle /etc/nginx/conf.d/*.conf; lisää seuraava:
palvelin {kuuntele 8080; sijainti / {juuri / data / www; }}
Tallenna ja sulje tiedosto. Lataa NGINX uudelleen komennolla:
sudo nginx -s ladataan
Jos osoitat selaimeesi joko http: // SERVER_IP: 8080 / turvallinen / tai http: // SERVER_IP: 8080 / turvallinen /, sinun pitäisi voida nähdä molempien index.html-tiedostojen sisältö. Estäämme mahdollisuuden nähdä tiedosto vaarallisessa hakemistossa.
Luo AppArmor-profiili
Meidän on luotava uusi AppArmor-profiili NGINX: lle. Voit tehdä tämän muuttamalla AppArmor-hakemistoon komennolla cd /etc/apparmor.d . Anna kyseisessä hakemistossa komento sudo aa-autodep nginx . Kun komento on valmis, aseta profiili valitustilaan komennolla sudo aa-valittaa nginx .
Seuraavaksi annetaan komento sudo aa-logprof. Vastaa A jokaisesta kysymyksestä, kunnes sinua kehotetaan tallentamaan muutokset (napsauttamalla S). Kun muutokset on tallennettu, voimme nyt muokata NGINX-profiilia. Anna komento sudo nano /etc/apparmor.d/usr.sbin.nginx . Muokkaa profiilisi näyttämään tältä:
# Viimeksi muokattu: to 21. kesäkuuta 14:54:30 2018 #include / usr / sbin / nginx {#include #include ominaisuus dac_override, ominaisuus dac_read_search, kyky net_bind_service, valmius asetettu, kyky setuid, / data / www / turvallinen / * r, estä / data / www / vaarallinen / * r, / etc / ryhmä 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, }
Tallenna ja sulje tiedosto. Nyt voimme sijoittaa profiilin täytäntöönpanotilaan komennolla:
sudo aa-force nginx
Lataa uudelleen AppArmor ja käynnistä NGINX uudelleen komennoilla:
sudo /etc/init.d/apparmor redo sudo service nginx restart
Nyt, jos osoitat selaimeesi osoitteeseen http: // SERVER_IP: 8080 / safe, sinun pitäisi silti nähdä index.html-sisältö. Jos osoitat selaimeesi osoitteeseen http: // SERVER_IP: 8080 / vaarallinen, saat 403-kielletyn virheen ( kuva A ).
Kuvio A

Emme voi enää päästä vaaralliselle alueelle.
Hyvää estämistä
Ja kaikki tämä on estää hakemistoja NGINX-pääsylle AppArmorin avulla. Onko se menetelmä, jota haluat käyttää? Se on sinun päättää. On hienoa tietää, että tähän tarkoitukseen on olemassa monia erilaisia keinoja. Ainakin tiedät, että sinulla on kyky lukita tietyt hakemistot NGINX-käyttöä varten. Hyvää estämistä!
Kyberturvallisuuden sisäpiirilehti
Vahvista organisaatiosi tietoturvamekanismeja pitämällä ajan tasalla viimeisimmät tietoturvatiedotteet, ratkaisut ja parhaat käytännöt. Toimitetaan tiistaisin ja torstaisin
Rekisteröidy tänään