Hozzon létre egy apparmor profilt a nginx számára ubuntuban

A kiszolgálók elhelyezése megbízható európai adatközpontokba. Nyissa meg a felhőalapú VPS / VDS szervert gyors SSD-ken 1 percen belül!

Legjobb tárhely:
- védi az adatokat a nem kívánt hozzáféréstől egy védett európai adatközpontban
- elfogadja a fizetést legalább a bitcoinban.
- elosztja terjesztését

- védelem a DDos támadásoktól
- mentes mentés
- Uptime 99.9999%
- Adatközpont - TIER III
- szolgáltató - TIER I

Támogatjuk az oroszban 24/7/365 Jogi személyekkel és természetes személyekkel dolgozunk. Most szüksége van 24 magra és 72 GB RAM-ra. Kérlek!

Kedvező tarifáink bizonyítják, hogy még nem tudta az olcsó tárhelyet!

Perc: válassza ki a konfigurációt, a fizetést és a CMS-t a VPS készen áll.
Pénzvisszafizetés - 30 nap!

Bankkártyák, e-deviza, Qiwi, Webmoney, PayPal, Novoplat stb.

Kérdezzen a 24/7/365 támogatáshoz

Válaszokat talál az adatbázisunkban, és ismerkedjen meg az ajánlásokkal

A kiszolgáló felügyeletével folyamatosan figyelnie kell az új biztonsági rések előfordulását.

Sajnos a legfrissebb biztonsági alkalmazások és az operációs rendszer sem nyújt 100% -os védelmet, és a kiszolgáló nulladik napi támadásoknak is kitett.

Megjegyzés: 0 nap, vagy nulla napos támadások - ezek ismeretlen sérülékenységek és rosszindulatú programok, amelyekből nincsenek védelmi mechanizmusok.

Az AppArmor egy alapvető Linux modul, amelyet olyan beléptetőrendszerként használnak, amely védi a kiszolgálót az ilyen támadásoktól. Ez a modul alapértelmezés szerint elérhető Ubuntu rendszereken az Ubuntu 8.04 kiadása óta.

Ha az AppArmor bármely alkalmazáshoz engedélyezve van, akkor az operációs rendszer csak a biztonsági profilban megadott fájlokat és mappákat férheti hozzá. Így egy jól megtervezett biztonsági profil megakadályozhatja a támadást vagy minimálisra csökkenti kárát.

Ez az útmutató segít Önnek létrehozni egy egyszerű AppArmor profilt az Nginx webszerver számára.

A példák bemutatásához a Nginx statikus fájlokat fog szolgáltatni a / data / www / safe és / data / www / nem biztonságos könyvtárakból. Az AppArmor konfigurálja a Nginx szolgáltatást kizárólag / data / www / safe.

Így amikor az AppArmor letiltásra kerül, egy külső felhasználó hozzáférhet a két könyvtárból származó fájlokhoz. Az AppArmor modul engedélyezve csak az / data / www / safe könyvtár tartalma áll rendelkezésre.

követelmények

1: A Nginx telepítése

A Nginxet a standard apt-get csomagkezelő segítségével telepítheti.

sudo apt-get frissítés
sudo apt-get install nginx

Alapértelmezés szerint a Nginx kiszolgáló figyel a 80-as portra. Ennek ellenőrzéséhez nyissa meg a böngészőben a tartományt vagy az IP-kiszolgálót, és adja meg a portot:

Megjelenik a Nginx welcome oldal:

Üdvözöljük a nginx!
Ha látod ezt az oldalt, a nginx webszerver sikeresen telepítve és működik. ...

2: A Nginx konfigurálása a statikus fájlok karbantartásához

Hozzon létre az alábbi statikus fájlkönyvtárakat:

sudo mkdir -p / adat / www / biztonságos
sudo mkdir -p / data / www / nem biztonságos

Adja hozzá a fájlt a biztonságos könyvtárhoz:

sudo nano /data/www/safe/index.html

Tegye be a következő kódot:


Hello! A fájl elérése engedélyezett.

Ezután adja hozzá az index.html nevű fájlt a / data / www / unsafe könyvtárhoz, és tegye be a következő kódot:


Hello! A fájl elérése NEM megengedett.

A Nginx konfigurációs fájl az /etc/nginx/nginx.conf fájlban található. Szerkessze ezt a fájlt, konfigurálja a 8080 pot meghallgatását és támogatja az / data / www könyvtárat.

felhasználói www-adatok;
worker_processes 4;
pid /run/nginx.pid;
események worker_connections 768;
>
http sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
típus_hash_max_size 2048;
/etc/nginx/mime.types;
default_type alkalmazás / oktett-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip be;
gzip_disable "msie6";
tartalmazzák a /etc/nginx/conf.d/*.conf fájlt;
szerver hallgatni 8080;
hely / gyökér / adat / www;
>
>
>

Mentse és zárja be a fájlt. Indítsa újra a Nginxet a beállítások frissítéséhez:

sudo nginx -s reload

A biztonságos könyvtárban lévő oldal így néz ki:

Hello! A fájl elérése engedélyezett.

3: Az AppArmor profilok ellenőrzése

Az Ubuntu 14.04 előtelepíti az AppArmor profilokat. A legtöbbet a következő paranccsal telepítheti:

sudo apt-get install apparmor-profilok

A lista meglehetősen sok profilt tartalmaz. Néhány közülük aktív lesz (végrehajtási mód) és néhány panaszos módban (ez azt jelenti, hogy az AppArmor nyilvántartásba veszi az ilyen alkalmazás tevékenységét anélkül, hogy korlátozná a hozzáférést).

A naplófájlok a / var / log / nginx könyvtárban kerülnek tárolásra.

Az AppArmor korlátozza a hozzáférést csak olyan alkalmazásokhoz, amelyek profilja érvényesítési módban van.

Azt is észre fogod venni, hogy a lista nem tartalmaz profilot a Nginx számára. Saját magad kell létrehoznod.

4: AppArmor profil létrehozása Nginx számára

Telepítse az apparmor-utils programot, amely az AppArmor kezelését segíti.

sudo apt-get install apparmor-utils

Az aa-autodep parancs üres profilt hoz létre az /etc/apparmor.d könyvtárban.

cd /etc/apparmor.d/
sudo aa-autodep nginx

Ezután használja a következő parancsot a panasz mód engedélyezéséhez.

sudo aa-complain nginx

sudo service nginx újraindítás

Nyissa meg a böngészőben:

Ezután a Nginx naplóban feljegyzések lesznek a webhely látogatásáról.

Ez a parancs beolvassa a naplófájlokat és frissíti a Nginx profilt. Az AppArmor többször engedélyezi vagy elutasítja a funkciót. Ha a kiszolgáló jelenleg nem támadható sebzésre, akkor egyszerűen kattintson az A minden programkérelemre (mivel az összes javasolt funkció fontos a Nginx művelethez). A módosítások mentéséhez nyomjuk meg a S gombot.

Tehát, hogy engedélyezze az AppArort alkalmazást az új alkalmazáshoz:

  • Hozzon létre egy üres alkalmazásprofilt.
  • Nyissa meg az alkalmazást, és kövesse néhány gyakori lépést a naplók létrehozásához a naplókban.
  • Futtassa az AppArmor segédprogramot, amely ellenőrzi a naplókat, és jóváhagyja (vagy elutasítja) az alkalmazás felsorolt ​​műveleteit.

5: AppArmor profil szerkesztése Nginx számára

A Nginx profilja automatikusan létrejött, majd további szerkesztést igényel. Nyissa meg a /etc/apparmor.d/usr.sbin.nginx fájlt:

sudo nano /etc/apparmor.d/usr.sbin.nginx

Változások, amelyeket meg kell tennie:

  • Sor hozzáadása (feltétlenül éles jelöléssel):
  • Adja hozzá a képességet setgid és a képesség setuid.
  • A sorban / adatokban / www / safe / állítsa be a teljes könyvtárat (a * szimbólummal).
  • Sor hozzáadása (szükségszerűen vesszővel a végén):

deny / data / www / nem biztonságos / * r,

  • Ha engedélyezni szeretné a Nginx-ot, hogy írjon a hiba naplóba, állítsa w-t a /var/log/nginx/error.log sorra.

Az apache2 közös vonal lehetővé teszi a Nginx számára, hogy különböző portokat hallgasson. A képességvonalak lehetővé teszik az új folyamatok elindítását. A tiltó szabály blokkolja a / data / www / unsafe / könyvtárhoz való hozzáférést.

Ennek eredményeképpen a profil így fog kinézni:

#include
/ usr / sbin / nginx #include
#include
#include
képesség dac_override,
képesség dac_read_search,
képesség net_bind_service,
képesség setgid,
képesség setuid,
/ data / www / safe / * r,
deny / data / www / nem biztonságos / * 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,
>

A profil kissé másnak tűnhet, mivel naplófájlon alapul. Ön függetlenül megvizsgálhatja a paramétereket és frissítheti az egyes profilbeállításokat, vagy egyszerűen átmásolhatja ezt a fájlt, illesztve a szerver környezetébe. Az AppArmor beállítások véletlenül blokkolhatják a biztonságos címtárakhoz való hozzáférést, ezért készüljenek fel a hibaelhárításra.

Az AppArmor profil engedélyezéséhez a Nginx használatához:

sudo aa-enforce nginx

Ajánlott az összes profil és a Nginx újraindítása a beállítások frissítéséhez.

sudo /etc/init.d/apparmor reload
sudo service nginx újraindítás

Ha a konfiguráció bármely szakaszában hiba történik, ellenőrizze a konfigurációs fájlt és / var / log / syslog-ot.

Ellenőrizze az AppArmor állapotát:

A Nginx-folyamatot végre kell hajtani.

Nyissa meg újra a böngészőt, és keresse fel:

A biztonságos könyvtár egyik oldalának meg kell jelennie a képernyőn. Akkor keresse fel:

A szervernek 403 tiltott hibát kell visszaadnia.

Problémák elhárítása

Ha a Nginx-kiszolgáló nem indul el a profil engedélyezése után, akkor valószínűleg nincs elég joga. Ügyeljen arra, hogy:

Módosítsa a profilt a hiba javításához.

Ha például nem adja hozzá az absztrakciók / apache2-közös vonalat a profilfájlhoz, akkor hiba történik:

[emerg] 3611 # 0: socket () 0.0.0.0:8080 sikertelen (13: Engedély megtagadva)

Az AppArmor profil beállítása figyelmet igényel.

következtetés

Az AppArmor profilok nagyon fontosak a termelési rendszerekben, mert blokkolják a hozzáférést a sebezhető kiszolgálópontokhoz.

Kapcsolódó cikkek