A biztonsági fejlécek konfigurálása az Nginxben

A biztonsági fejlécek konfigurálása az NGINX-ben elengedhetetlen a webalkalmazások biztonságának fokozásához. A biztonsági fejlécek különféle támadások ellen védenek, mint például a cross-site scripting (XSS), a clickjacking és más kódbefecskendezési támadások ellen. Utasítást adnak a böngészőnek, hogyan kezelje webhelye tartalmát, ami további biztonsági réteget biztosít.

Ez az útmutató végigvezeti Önt az NGINX biztonsági fejléceinek konfigurálásának lépésein, segítve a webalkalmazások védelmét és az általános biztonság javítását.

A HTTP Strict Transport Security (HSTS) megvalósítása az NGINX-ben

A HSTS megértése

A HTTP Strict Transport Security (HSTS) egy kulcsfontosságú webhelybiztonsági protokoll. Kikényszeríti, hogy a tartományokhoz való kapcsolatok kizárólag HTTPS-en keresztül történjenek. Ez csökkenti az olyan kockázatokat, mint a „középben” támadások, és biztosítja az online továbbított adatok integritását és titkosságát. Amikor a felhasználó HTTP-n keresztül próbál elérni egy webhelyet, a HSTS automatikusan HTTPS-re frissíti a kapcsolatot.

A HSTS konfigurálása az NGINX-ben

A HSTS NGINX-ben történő beállításához frissítenie kell a szerverblokkot az NGINX konfigurációs fájljában. Ez a fájl általában az /etc/nginx/nginx.conf címen, vagy a helyspecifikus konfigurációkon belül az /etc/nginx/sites-available/ címen található. A frissítés egy fejléc hozzáadásával utasítja a böngészőt, hogy mindig HTTPS-t használjon a megadott tartományhoz.

Adja hozzá a következő sort a domain szerverblokkjához:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

Ez a sor két összetevőt tartalmaz:

  • max-age=31536000: Utasítsa a böngészőt, hogy a következő 12 hónapban ne felejtse el használni a HTTPS protokollt a webhelyén.
  • includeSubDomains: Az átfogó biztonság érdekében a HSTS-házirendet alkalmazza webhelye összes aldomainjére.

Minta NGINX konfiguráció HSTS-sel

Az Ön NGINX konfigurációja a HSTS fejléccel így nézhet ki:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

    location / {
        proxy_pass http://my_portal;
    }
}

A fejléc hozzáadása után töltse be újra az NGINX-et a változtatások végrehajtásához a sudo systemctl reload nginx vagy a sudo nginx -s reload segítségével.

További NGINX konfigurációs példák

Különböző forgatókönyvek esetén a HSTS-t használó NGINX-konfiguráció eltérő lehet. Íme további példák:

Multi-Domain Server

server {
    listen 80;
    server_name example1.com example2.com;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

    location / {
        # Configuration details
    }
}

Ez a konfiguráció a HSTS-t több, ugyanazon a kiszolgálón tárolt tartományra alkalmazza. Minden felsorolt ​​domain kényszeríti a HTTPS-kapcsolatokat.

Szerver SSL megszüntetéssel

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/certificate;
    ssl_certificate_key /path/to/private/key;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

    location / {
        # Configuration details
    }
}

Ez a beállítás az SSL-lezárást kezelő szerverekre vonatkozik. A HSTS-t egy biztonságos porton (443) konfigurálja meghatározott SSL-tanúsítványokkal, megerősítve a biztonságos kapcsolatokat.

A Content-Security-Policy (CSP) konfigurálása az NGINX-ben

CSP megvalósítása NGINX-ben

A Content-Security-Policy (CSP) integrálása az NGINX-be stratégiai lépés a webalkalmazások biztonságának fokozása érdekében. Ez magában foglalja egy adott fejléc hozzáadását az NGINX konfigurációs fájl szerverblokkjához. Ez a fájl általában az /etc/nginx/nginx.conf vagy az /etc/nginx/sites-available/ könyvtárban található, és gondos szerkesztést igényel a CSP hatékony alkalmazása érdekében.

Az alapvető CSP beállításhoz adja hozzá a következő sort a kiszolgálóblokkhoz:

add_header Content-Security-Policy "default-src 'self';" always;

Ez az irányelv korlátozza a tartalom betöltését a webhely domainjére („saját”), jelentősen csökkentve a rosszindulatú külső tartalom-végrehajtás kockázatát.

Példa NGINX konfigurációra CSP-vel

Az Ön NGINX konfigurációja az alap CSP direktívával így nézhet ki:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Content-Security-Policy "default-src 'self';" always;

    location / {
        proxy_pass http://my_portal;
    }
}

Töltse be újra az NGINX-et a sudo systemctl reload nginx vagy sudo nginx -s reload segítségével az irányelv hozzáadása után.

A CSP testreszabása speciális igényekhez

A CSP személyre szabható a webhely speciális biztonsági igényeinek kielégítésére. Íme a kibővített konfigurációk a különböző forgatókönyvekhez:

Bármilyen forrásból származó képek engedélyezése

add_header Content-Security-Policy "default-src 'self'; img-src *;" always;

Ez a konfiguráció lehetővé teszi a képek bármilyen forrásból történő betöltését, szigorú ellenőrzést tartva más típusú tartalmak felett.

Specifikus szkriptek és stílusok konfigurációja

add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://trustedscript.com; style-src 'self' 'unsafe-inline';";

Ez a beállítás lehetővé teszi a szkriptek használatát a domainjéből és egy megbízható külső forrásból a belső stílusok mellett, egyensúlyban tartva a funkcionalitást a biztonsággal.

CSP irányelvek és opciók feltárása

Irányelvek a CSP-ben

A CSP-irányelvek olyan szabályok, amelyek meghatározott tartalomtípusokhoz határozzák meg a szabályzatot. A közös irányelvek a következők:

  • default-src: A legtöbb tartalomtípusra alkalmazott alapértelmezett házirend.
  • script-src: A JavaScript-erőforrások forrásait vezérli.
  • style-src: Meghatározza a CSS-erőforrások engedélyezett forrásait.
  • img-src: A képforrások forrásait vezérli.
  • connect-src: Beállítja a házirendeket olyan hálózati kapcsolatokhoz, mint az XMLHttpRequest, WebSocket és EventSource.

Forrás kifejezések a CSP-ben

A forráskifejezések meghatározzák az egyes direktívák megengedett forrásait:

  • 'nincs': Blokkolja az összes forrást.
  • 'self': Engedélyezi az azonos eredetű erőforrásokat.
  • „nem biztonságos inline”: Lehetővé teszi a soron belüli erőforrásokat, például stílusokat vagy JavaScript URL-eket.
  • 'unsafe-eval': Engedélyezi a JavaScript használatát eval() függvények és hasonló módszerek.
  • https:: Engedélyezi az erőforrásokat bármely HTTPS URL-ről.

Az X-XSS-Protection konfigurálása az NGINX-ben

Az X-XSS-Protection bemutatása

Az X-XSS-Protection vagy a Cross-Site Scripting fejléc elengedhetetlen a webalkalmazások XSS (Cross-Site Scripting) támadásokkal szembeni védelméhez. A főbb webböngészők, például a Chrome, az Internet Explorer és a Safari által támogatott fejléc fokozza a webes biztonságot azáltal, hogy megakadályozza az oldalak betöltését tükröződő XSS-támadások észlelésekor.

Az X-XSS-Protection engedélyezése az NGINX-ben

Az X-XSS-Protection fejléc integrálása az NGINX szerver konfigurációjába megerősíti a böngésző natív XSS védelmét. A biztonsági funkció engedélyezéséhez nyissa meg az NGINX konfigurációs fájlt, amely általában az /etc/nginx/nginx.conf vagy az /etc/nginx/sites-available/ könyvtárban található.

Az NGINX konfigurációs fájl szerverblokkjába illessze be ezt az utasítást:

add_header X-XSS-Protection "1; mode=block";

Ez az irányelv két részből áll:

  • 1: Aktiválja a böngésző XSS-szűrőjét.
  • mode=block: Arra utasítja a böngészőt, hogy blokkolja az oldalt, ha XSS-támadást észlel, ahelyett, hogy megpróbálná megtisztítani.

Példa NGINX konfigurációra X-XSS-védelemmel

Egy példa az X-XSS-Protection-t tartalmazó NGINX konfigurációra a következőképpen jelenhet meg:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header X-XSS-Protection "1; mode=block";

    location / {
        proxy_pass http://my_portal;
    }
}

A fejléc hozzáadása után töltse be újra az NGINX-et a sudo systemctl reload nginx vagy a sudo nginx -s reload segítségével.

További NGINX konfigurációs forgatókönyvek

SSL-t használó szerverhez

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/certificate;
    ssl_certificate_key /path/to/private/key;
    add_header X-XSS-Protection "1; mode=block";

    # Further configuration
}

Ez a beállítás az SSL-t használó szerverekre vonatkozik, biztosítva, hogy az X-XSS-Protection aktív legyen a titkosított kapcsolatokon.

Több domain kezelése

server {
    listen 80;
    server_name example1.com example2.com;
    add_header X-XSS-Protection "1; mode=block";

    # Further configuration
}

Ez a konfiguráció X-XSS védelmet alkalmaz több, egyetlen szerveren tárolt tartományon.

Az X-Frame-Options konfigurálása az NGINX-ben

Az X-Frame-Options szerepe

Az X-Frame-Options egy alapvető biztonsági fejléc, amelyet arra terveztek, hogy megvédje a webhelyeket a clickjacking támadásoktól. Megakadályozza, hogy a weboldalak keretekben vagy iframe-ekben jelenjenek meg, amelyeket gyakran használnak ezekben a támadásokban. Az összes főbb webböngésző által támogatott X-Frame-Options széleskörű védelmet nyújt, növelve a webes jelenlét biztonságát a különböző platformokon.

Az X-Frame-Options megvalósítása az NGINX-ben

Az X-Frame-Options fejléc beépítése az NGINX szerver konfigurációjába kulcsfontosságú a webhely biztonságának fokozása szempontjából. Ez a feladat magában foglalja az NGINX konfigurációs fájl szerkesztését, amely általában az /etc/nginx/nginx.conf vagy az /etc/nginx/sites-available/ könyvtárban található.

A biztonsági funkció engedélyezéséhez adja hozzá a következő direktívát a szerverblokkhoz az NGINX konfigurációs fájljában:

add_header X-Frame-Options "DENY";

Ez a „DENY”-re beállított direktíva arra utasítja a böngészőt, hogy blokkoljon minden olyan kísérletet, amely az oldalt keretben vagy iframe-ben kívánja megjeleníteni, így erőteljes védelmet kínál a kattintástörés ellen.

Példa NGINX konfigurációra X-Frame-Options segítségével

Egy példa az NGINX-beállításra az X-Frame-Options fejléccel a következő:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header X-Frame-Options "DENY";

    location / {
        proxy_pass http://my_portal;
    }
}

Miután hozzáadta ezt a fejlécet, fontos az NGINX újratöltése a módosítások aktiválásához. Ez megtehető a sudo systemctl reload nginx vagy a sudo nginx -s reload paranccsal.

Az NGINX konfiguráció bővítése az X-Frame-Options számára

SSL-kompatibilis szerverekhez

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/certificate;
    ssl_certificate_key /path/to/private/key;
    add_header X-Frame-Options "DENY";

    # Additional configuration
}

Ez a konfiguráció az SSL-t használó szerverekre vonatkozik, biztosítva, hogy az X-Frame-Options biztonságos kapcsolatokon érvényesüljön.

Több domain kezelése

server {
    listen 80;
    server_name example1.com example2.com;
    add_header X-Frame-Options "DENY";

    # Additional configuration
}

Ez a beállítás az X-Frame-Options fejlécet alkalmazza ugyanazon a kiszolgálón több tartományra, megerősítve ezzel az egyes tartományok biztonságát.

Az X-Content-Type-Options megvalósítása az NGINX-ben

Az X-Content-Type-Options szerepe

Az X-Content-Type-Options egy létfontosságú biztonsági fejléc a webes biztonságban, amely megakadályozza, hogy a böngészők MIME-típusú szippantást okozzanak. Ez a fejléc megerősíti, hogy a böngészők tiszteletben tartják a HTTP-fejlécekben deklarált tartalomtípust, kiküszöbölve azokat a biztonsági réseket, amelyek akkor merülhetnek fel, ha a böngészők félreértelmezik a fájltípusokat, például a képfájlokat futtatható HTML-ként kezelik, és ez XSS-támadásokhoz vezethet.

Az X-Content-Type-Options beállítása az NGINX-ben

A webszerver biztonságának növelése érdekében az X-Content-Type-Options fejléccel azonnal módosítania kell az NGINX konfigurációs fájlt. Ez a fájl általában az /etc/nginx/nginx.conf címen vagy az /etc/nginx/sites-available/ webhelyspecifikus konfigurációkban található.

Szerelje be ezt a fejlécet a következő sor hozzáadásával a server NGINX konfigurációjának blokkja:

add_header X-Content-Type-Options "nosniff";

A „nosniff” beállítás arra utasítja a böngészőt, hogy szigorúan kövesse a szerver által megadott tartalomtípust, megakadályozva a tartalom alternatív értelmezését.

Példa NGINX konfigurációra az X-Content-Type-Options segítségével

Az X-Content-Type-Options funkcióval rendelkező NGINX konfiguráció a következőképpen épülhet fel:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header X-Content-Type-Options "nosniff";

    location / {
        proxy_pass http://my_portal;
    }
}

A konfiguráció frissítése után feltétlenül töltse be újra az NGINX-et, hogy a változtatások életbe lépjenek a sudo systemctl reload nginx vagy a sudo nginx -s reload paranccsal.

Kibővített NGINX konfigurációs példák

SSL/TLS konfiguráció

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/certificate.pem;
    ssl_certificate_key /path/to/key.pem;
    add_header X-Content-Type-Options "nosniff";

    # Additional SSL configurations and locations
}

Ez a beállítás az SSL/TLS-t használó szerverekre vonatkozik, amelyek X-Content-Type-Options-t alkalmaznak a biztonságos kapcsolatokon a biztonság fokozása érdekében.

Multi-Domain Server Configuration

server {
    listen 80;
    server_name example1.com example2.com;
    add_header X-Content-Type-Options "nosniff";

    # Additional configurations for multiple domains
}

Ez a konfiguráció az X-Content-Type-Options fejlécet alkalmazza több, ugyanazon a kiszolgálón tárolt tartományra, így biztosítva az egységes biztonsági beállításokat az összes tartományban.

A hivatkozói szabályzat konfigurálása az NGINX-ben

A hivatkozói politika funkciója

A Referrer-Policy egy alapvető HTTP-fejléc a felhasználók adatvédelmének és biztonságának növeléséhez az interneten. Azt szabályozza, hogy mennyi hivatkozási információ szerepeljen a Hivatkozó fejlécben, amikor a felhasználók az Ön webhelyéről másokhoz navigálnak, így megvédi az érzékeny információkat a webes kérésekben való megjelenéstől.

A hivatkozói irányelv beállítása az NGINX-ben

A Referrer-Policy fejléc megvalósításához az NGINX-kiszolgálón módosítsa az NGINX konfigurációs fájlt, amely általában az /etc/nginx/nginx.conf vagy az /etc/nginx/sites-available/ könyvtárban található. Adja hozzá a következő direktívát a szerverblokkhoz:

add_header Referrer-Policy "no-referrer";

Ez a „no-referrer”-re beállított direktíva biztosítja, hogy a webhelyen való navigáció során ne kerüljön elküldésre hivatkozó információ, így maximalizálja a magánélet védelmét.

Példa NGINX konfigurációra hivatkozói irányelvvel

Az Ön NGINX konfigurációja a Referrer-Policy fejléccel így nézhet ki:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Referrer-Policy "no-referrer";

    location / {
        proxy_pass http://my_portal;
    }
}

A fejléc hozzáadása után töltse be újra az NGINX-et olyan parancsokkal, mint a sudo systemctl reload nginx vagy a sudo nginx -s reload.

Hivatkozó-politikai beállítások és definíciók

  • no-referrer: Nincs hivatkozó információ elküldve.
  • no-referrer-when-downgrade (alapértelmezett): Hivatkozó információkat küld az azonos eredetű célhelyekhez vagy a biztonságos (HTTPS) cél URL-ekhez egy biztonságos oldalról.
  • origin: Csak az eredetet (séma, gazdagép és port) küldi el.
  • origin-when-cross-origin: Teljes URL-t küld az azonos eredetű kérelmek esetén, de csak az eredetet más esetekben.
  • azonos eredetű: Teljes hivatkozást küld az azonos eredetű kérésekhez, de nem fejlécet a több eredetű kérésekhez.
  • szigorú eredet: elküldi a HTTPS-kérések eredetét, de nem küldi el a HTTP-kérések fejlécét.
  • szigorú eredet-keresztezési eredet esetén: Teljes hivatkozást küld az azonos eredetű kéréseknek, eredetet a HTTPS-célhelyekre a HTTPS-oldalakról, fejlécet nem küld a HTTP-célhelyeknek.
  • unsafe-url: A teljes URL-t elküldi, függetlenül az eredettől vagy a biztonságtól (nem ajánlott).

Kibővített NGINX konfigurációs példák

SSL/TLS konfiguráció

server {
    listen 443 ssl;
    server_name secure.example.com;
    ssl_certificate /path/to/certificate.pem;
    ssl_certificate_key /path/to/key.pem;
    add_header Referrer-Policy "no-referrer";

    # Additional SSL configurations
}

Ez a konfiguráció a Referrer-Policy fejlécet egy biztonságos, SSL/TLS-kompatibilis környezetben alkalmazza, javítva a titkosított kapcsolatok magánéletét.

Multi-Domain Server Configuration

server {
    listen 80;
    server_name example1.com example2.com;
    add_header Referrer-Policy "no-referrer";

    # Additional configurations for each domain
}

Ez a beállítás biztosítja, hogy a Referrer-Policy fejléc több, ugyanazon a kiszolgálón tárolt tartományra is vonatkozzon, konzisztens adatvédelmi beállítások megőrzésével.

Engedélyezési szabályzat megvalósítása az NGINX-ben

Engedélyezési szabályzat értelmezése

A Permissions-Policy fejléc lehetővé teszi a webadminisztrátorok számára, hogy pontosan szabályozzák a böngészőfunkciókat és az API-kat webhelyeiken. Ennek a fejlécnek a konfigurálása jelentősen megerősíti a webhely biztonságát és adatvédelmét, lehetővé téve az olyan funkciók korlátozását, mint a földrajzi hely, a kamera és a mikrofon a webhely speciális igényei alapján.

Engedélyezési szabályzat konfigurálása az NGINX-ben

A Permissions-Policy fejléc beépítéséhez az NGINX-kiszolgálón módosítsa az NGINX konfigurációs fájlt, amely általában az /etc/nginx/nginx.conf címen vagy az /etc/nginx/sites-available/ könyvtárban található.

Adja hozzá a következő direktívát a szerverblokkhoz:

add_header Permissions-Policy "geolocation=(); midi=(); notifications=(); push=(); sync-xhr=(); accelerometer=(); gyroscope=(); magnetometer=(); payment=(); usb=(); vr=(); camera=(); microphone=(); speaker=(); vibrate=(); ambient-light-sensor=(); autoplay=(); encrypted-media=(); execute-clipboard=(); document-domain=(); fullscreen=(); imagecapture=(); lazyload=(); legacy-image-formats=(); oversized-images=(); unoptimized-lossy-images=(); unoptimized-lossless-images=(); unsized-media=(); vertical-scroll=(); web-share=(); xr-spatial-tracking=();";

Ez a direktíva különféle böngészőfunkciókat és API-kat sorol fel, mindegyiket () értékre állítva, ami gyakorlatilag letiltja őket. Ez a konfiguráció átfogó megközelítést kínál azon szolgáltatások korlátozására, amelyek veszélyeztethetik a felhasználók adatait vagy biztonságát.

Minta NGINX-konfiguráció engedélyekkel-házirenddel

Íme egy példa arra, hogyan nézhet ki az NGINX konfigurációja a Permissions-Policy fejléccel:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "geolocation=(); midi=(); notifications=(); push=(); sync-xhr=(); accelerometer=(); gyroscope=(); magnetometer=(); payment=(); usb=(); vr=(); camera=(); microphone=(); speaker=(); vibrate=(); ambient-light-sensor=(); autoplay=(); encrypted-media=(); execute-clipboard=(); document-domain=(); fullscreen=(); imagecapture=(); lazyload=(); legacy-image-formats=(); oversized-images=(); unoptimized-lossy-images=(); unoptimized-lossless-images=(); unsized-media=(); vertical-scroll=(); web-share=(); xr-spatial-tracking=();";

    location / {
        proxy_pass http://my_portal;
    }
}

Ez a direktíva átfogóan felsorolja a különféle böngészőfunkciókat és API-kat, és () értékre állítja őket, hogy hatékonyan letiltsák őket.

Minta NGINX-konfiguráció engedélyekkel-házirenddel

Az Ön NGINX konfigurációja, beleértve a Permissions-Policy-t, így jelenhet meg:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "geolocation=(); midi=(); notifications=(); push=(); sync-xhr=(); accelerometer=(); gyroscope=(); magnetometer=(); payment=(); usb=(); vr=(); camera=(); microphone=(); speaker=(); vibrate=(); ambient-light-sensor=(); autoplay=(); encrypted-media=(); execute-clipboard=(); document-domain=(); fullscreen=(); imagecapture=(); lazyload=(); legacy-image-formats=(); oversized-images=(); unoptimized-lossy-images=(); unoptimized-lossless-images=(); unsized-media=(); vertical-scroll=(); web-share=(); xr-spatial-tracking=();";

    location / {
        proxy_pass http://my_portal;
    }
}

Töltse be újra az NGINX-et a sudo systemctl-lel. Reload nginx vagy sudo nginx -s reload a módosítások elvégzése után.

Engedélyek – házirend opciók magyarázata

A Permissions-Policy fejléc lehetővé teszi a különböző szolgáltatások használatának testreszabását:

  • földrajzi helymeghatározás: A földrajzi helyadatokhoz való hozzáférést szabályozza.
  • midi: Kezeli a MIDI-eszközökhöz való hozzáférést.
  • értesítéseket: Az értesítések megjelenítését szabályozza.
  • nyomja: Befolyásolja a push értesítési funkciót.
  • sync-xhr: A szinkron XMLHTTPRequesthez kapcsolódik.
  • gyorsulásmérő: Az eszköz gyorsulásmérőjéhez való hozzáférést diktálja.
  • giroszkóp: A giroszkóp hozzáférését szabályozza.
  • magnetométer: Kezeli az eszköz magnetométeréhez való hozzáférést.
  • fizetés: A fizetési kérelem jellemzőire vonatkozik.
  • usb: Az USB-eszközökhöz való hozzáférést szabályozza.
  • vr: A virtuális valóság funkcióira vonatkozik.
  • kamera: Kezeli a kamera hozzáférését.
  • mikrofon: A mikrofon hozzáférést diktálja.
  • hangszóró: Szabályozza a hangszóróeszközökhöz való hozzáférést.
  • rezeg: A vibrációs API-t érinti.
  • környezeti fény-érzékelő: A környezeti fényérzékelőre vonatkozik.
  • automatikus lejátszás: A média automatikus lejátszását vezérli.
  • titkosított média: Kezeli a titkosított médiahozzáférést.
  • végrehajtás-vágólap: A vágólap olvasási/írási hozzáférését szabályozza.
  • dokumentum-domain: A document.domain szolgáltatásra vonatkozik.
  • teljes képernyő: A teljes képernyős hozzáférést diktálja.
  • képrögzítés: A képrögzítés funkcióját szabályozza.
  • lazyload: A képek lusta betöltését befolyásolja.
  • örökölt képformátumok: Régi képformátumokhoz kapcsolódik.
  • túlméretezett képek: A túlméretezett képek betöltését szabályozza.
  • optimalizálatlan-veszteséges-képek: Az optimalizálatlan veszteséges képeket kezeli.
  • optimalizálatlan-veszteségmentes-képek: Nem optimalizált veszteségmentes képekre vonatkozik.
  • méretezetlen adathordozó: Vezérli a médiát kifejezett méret nélkül.
  • függőleges görgetés: A függőleges görgetést befolyásolja.
  • web-megosztás: A webes megosztási funkciókhoz kapcsolódik.
  • xr-spatial-tracking: Az XR térbeli követést szabályozza.

Speciális engedélyek beállításai – NGINX

Engedélyezési szabályzat konfigurálása meghatározott tartományokkal és helyettesítő karakterekkel

A funkciók () használatával történő letiltásának alapbeállításán túl az NGINX Engedélyezési Szabályzata testre szabható bizonyos funkciók engedélyezésére adott tartományokból vagy helyettesítő karakterek használatával. Ez a fejlett konfiguráció árnyaltabban szabályozza, hogy webhelye mihez és honnan férhet hozzá.

Példa: Szolgáltatások engedélyezése meghatározott tartományokból

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "geolocation=(https://trusteddomain.com), microphone=(https://alloweddomain.com)";

    location / {
        proxy_pass http://my_portal;
    }
}

Ez a konfiguráció csak a https://trusteddomain.com webhelyről és a mikrofonhoz való hozzáférést csak a https://alloweddomain.com webhelyről teszi lehetővé, ezzel fokozva a biztonságot azáltal, hogy ezeket az érzékeny funkciókat megbízható forrásokra korlátozza.

Példa: Helyettesítő karakterek használata széles körű engedélyekhez

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "camera=*; fullscreen=*";

    location / {
        proxy_pass http://my_portal;
    }
}

Ebben a beállításban a helyettesítő karakter * lehetővé teszi a kamera elérését és a teljes képernyős módot bármely tartományból. Ez a megközelítés szélesebb körű engedélyeket kínál, amelyek olyan webhelyek számára megfelelőek, amelyek széles körű hozzáférést igényelnek különböző forrásokból.

Példa: Korlátozások és engedélyek kombinálása

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "accelerometer=(); gyroscope=(self https://example2.com); payment=*";

    location / {
        proxy_pass http://my_portal;
    }
}

Ebben a konfigurációban a gyorsulásmérő hozzáférés le van tiltva, a giroszkóp hozzáférés ugyanabból a tartományból és a https://example2.com oldalról engedélyezett, és a fizetési kérelmek minden tartományból engedélyezettek.

Biztonsági fejlécek ellenőrzése a Curl Command segítségével az NGINX-ben

A Curl használata a biztonsági fejlécek ellenőrzéséhez

A curl parancs értékes eszköz az NGINX-kiszolgáló biztonsági fejléceinek konfigurációjának ellenőrzéséhez. Lehetővé teszi webhelye fejléceinek ellenőrzését és annak ellenőrzését, hogy a biztonsági fejlécek megfelelően vannak beállítva. Ez az ellenőrzési lépés kulcsfontosságú annak biztosításához, hogy a webszerver biztonsági intézkedései aktívak legyenek, és megfelelően működjenek.

A Curl parancs végrehajtása a fejléc ellenőrzéséhez

A webhely fejléceinek ellenőrzéséhez hajtsa végre a következő parancsot a terminálon:

curl -I http://example.com

Cserélje ki az example.com webhelyet a domain nevével. Ez a parancs lekéri a fejléceket a kiszolgálótól, betekintést nyújtva az aktív biztonsági konfigurációkba.

Várható kimenet és értelmezés

A curl parancs futtatásakor a következőhöz hasonló kimenetet kell kapnia:

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Mar 2023 00:00:00 GMT
Content-Type: text/html
Connection: keep-alive
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy: default-src 'self';
X-XSS-Protection: 1; mode=block
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: no-referrer
Permissions-Policy: geolocation=(); midi=(); notifications=(); push=(); sync-xhr=(); accelerometer=(); gyroscope=(); magnetometer=(); payment=(); usb=(); vr=(); camera=(); microphone=(); speaker=(); vibrate=(); ambient-light-sensor=(); autoplay=(); encrypted-media=(); execute-clipboard=(); document-domain=(); fullscreen=(); imagecapture=(); lazyload=(); legacy-image-formats=(); oversized-images=(); unoptimized-lossy-images=(); unoptimized-lossless-images=(); unsized-media=(); vertical-scroll=(); web-share=(); xr-spatial-tracking=();"

Ez a kimenet megerősíti a különböző biztonsági fejlécek meglétét és helyes beállítását a szerveren, mint például a Strict-Transport-Security, Content-Security-Policy, X-XSS-Protection és mások. A kimenetben felsorolt ​​minden fejléc meghatározott szerepet játszik a webszerver védelmében és a különféle webes sebezhetőségekkel szembeni védelmében.

Következtetés

Az NGINX biztonsági fejléceinek konfigurálásával jelentősen növelheti webalkalmazásainak biztonságát. Rendszeresen tekintse át és frissítse biztonsági fejléceit, hogy alkalmazkodjanak a fejlődő biztonsági fenyegetésekhez. Ezeknek a fejléceknek a megvalósítása segít a támadások széles köre elleni védelemben, és biztonságosabb böngészési élményt biztosít a felhasználók számára. Legyen éber, és tartsa naprakészen NGINX konfigurációját, hogy hatékonyan védje webes eszközeit.

Joshua James

Szólj hozzá!