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.