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.