欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文了解nginx HTTP安全響應問題

 更新時間:2023年11月08日 09:45:31   作者:藍晶之心  
一些網(wǎng)站系統(tǒng)會經(jīng)常遭到各類XSS攻擊、點劫持等,從而造成重要信息的泄露以及服務器安全問題,本文就來介紹一下,感興趣的可以了解一下

一、背景

隨著開發(fā)技術(shù)的發(fā)展及完善,一些網(wǎng)站系統(tǒng)會經(jīng)常遭到各類XSS攻擊、點劫持(ClickJacking、frame惡意引用等),從而造成重要信息的泄露以及服務器安全問題

二、http基本安全配置

2.1 host頭攻擊漏洞

該問題檢測點在于 檢測應用是否在請求目標站點時返回的URL是直接將Host頭拼接在URI前

該漏洞的防御主要是限制IP地址,

配置示例

通過指定一個SERVER_NAME名單,只有這符合條件的允許通過,不符合條件的返回403狀態(tài)碼

server {
        listen 7200;
        server_name 127.0.0.1 192.168.10.188;
        if ($http_Host !~* ^192.168.10.188|127.0.0.1$)
        {
            return 403;
        }                
    }

2.2 http method 請求方式攻擊漏洞

一般api接口配置,會要求使用某些指定的請求方式,比如post、get

配置如下示例

即僅僅讓GET、POST類型請求通過,其余的請求方式返回403狀態(tài)碼

if ($request_method !~* GET|POST) {
            return 403;
  }

2.3 點劫持漏洞(X-Frame-Options) 

X-Frame-Options HTTP 響應頭是微軟提出來的一個HTTP響應頭,主要用來給瀏覽器指示允許一個頁面可否在 <frame>, <iframe> 或者 <object> 中展現(xiàn)的標記。網(wǎng)站可以使用此功能,來確保自己網(wǎng)站的內(nèi)容沒有被嵌到別人的網(wǎng)站中去,也從而避免了點擊劫持 (ClickJacking) 的攻擊

點劫持概念:點擊劫持(ClickJacking)是一種視覺上的欺騙手段。攻擊者利用透明的、不可見的iframe,覆蓋在一個網(wǎng)頁上,此時用戶在不知情的情況下點擊了這個透明的iframe頁面。通過調(diào)整iframe頁面的css樣式,可以使用戶恰好點擊在iframe頁面的一些功能性按鈕上。

X-Frame-Options配置值釋義

  • DENY:不能被嵌入到任何iframe或者frame中。
  • SAMEORIGIN:頁面只能被本站頁面嵌入到iframe或者frame中。
  • ALLOW-FROM url:只能被嵌入到指定域名的框架中。

配置示例

add_header X-Frame-Options SAMEORIGIN;
#add_header X-Frame-Options:ALLOW-FROM https://#baidu.com;
#add_header X-Frame-Options DENY;

2.4 X-Download-Options響應頭缺失

web瀏覽器在響應頭中缺少 X-Download-Options,這將導致瀏覽器提供的安全特性失效,更容易遭受 Web 前端黑客攻擊的影響。

配置示例

add_header X-Download-Options "noopen";

2.5 Content-Security-Policy響應頭缺失

HTTP 響應頭Content-Security-Policy允許站點管理者控制用戶代理能夠為指定的頁面加載哪些資源。除了少數(shù)例外情況,設置的政策主要涉及指定服務器的源和腳本結(jié)束點。
Content-Security-Policy響應頭的缺失使得目標URL更易遭受跨站腳本攻擊。

配置示例

add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";

指令值示例 

指令 指令值示例 說明
default-src'self' cnd.a.com定義針對所有類型(js、image、css、web font,ajax 請求,iframe,多媒體等)資源的默認加載策略,某類型資源如果沒有單獨定義策略,就使用默認的
script-src'self' js.a.com定義針對 JavaScript 的加載策略
style-src'self' css.a.com定義針對樣式的加載策略
img-src'self' img.a.com定義針對圖片的加載策略
connect-src'self'針對 Ajax、WebSocket 等請求的加載策略。不允許的情況下,瀏覽器會模擬一個狀態(tài)為 400 的響應
font-srcfont.a.com針對 WebFont 的加載策略
object-src'self'針對 <object>、<embed> 或 <applet> 等標簽引入的 flash 等插件的加載策略
media-srcmedia.a.com針對 <audio> 或 <video> 等標簽引入的 HTML 多媒體的加載策略
frame-src'self'針對 frame 的加載策略
sandboxallow-forms對請求的資源啟用 sandbox(類似于 iframe 的 sandbox 屬性)
report-uri/report-uri告訴瀏覽器如果請求的資源不被策略允許時,往哪個地址提交日志信息。 特別的:如果想讓瀏覽器只匯報日志,不阻止任何內(nèi)容,可以改用 Content-Security-Policy-Report-Only 頭。

指令值內(nèi)容組成

指令 指令值示例 說明
img-src允許任何內(nèi)容
'none'img-src 'none'不允許任何內(nèi)容略
'self'img-src 'self'允許來自相同來源的內(nèi)容(相同的協(xié)議、域名和端口)
data:img-src data:允許 data: 協(xié)議(如 base64 編碼的圖片)
www.a.comimg-src img.a.com允許加載指定域名的資源
.a.comimg-src .a.com允許加載 a.com 任何子域的資源
https://img.com img-src https://img.com允許加載 img.com 的 https 資源(協(xié)議需匹配)
https:img-src https:允許加載 https 資源
'unsafe-inline'script-src 'unsafe-inline'允許加載 inline 資源(例如常見的 style 屬性,onclick,inline js 和 inline css 等等)
'unsafe-eval'cript-src 'unsafe-eval'允許加載動態(tài) js 代碼,例如 eval()

2.6 Strict-Transport-Security響應頭缺失

Web 服務器對于 HTTP 請求的響應頭中缺少 Strict-Transport-Security,這將導致瀏覽器提供的安全特性失效。 當 Web 服務器的 HTTP 頭中包含 Strict-Transport-Security 頭時,瀏覽器將持續(xù)使用 HTTPS 來訪問 Web 站點,可以用來對抗協(xié)議降級攻擊和 Cookie 劫持攻擊。

語法

1. strict-transport-security: max-age=<expire-time>
2. strict-transport-security: max-age=<expire-time>; includeSubDomains
3. strict-transport-security: max-age=<expire-time>; includeSubDomains; preload

釋義

  • max-age=<expire-time>: 設置在瀏覽器收到這個請求后的 秒的時間內(nèi)凡是訪問這個域名下的請求都使用 HTTPS 請求。
  • includeSubDomains :可選,如果這個可選的參數(shù)被指定,那么說明此規(guī)則也適用于該網(wǎng)站的所有子域名。
  • preload: 可選,加入預加載列表

配置示例

add_header Strict-Transport-Security 'max-age=15552000';

2.7 X-Permitted-Cross-Domain-Policies響應頭缺失

系統(tǒng)響應頭缺少X-Permitted-Cross-Domain-Policies,將會導致瀏覽器的安全特性失效

配置值釋義

  • none:不允許使用loadPolicyFile方法加載任何策略文件,包括此主策略文件。
  • master-only:只允許使用主策略文件[默認值]。
  • by-content-type:只允許使用loadPolicyFile方法加載HTTP/HTTPS協(xié)議下Content-Type 為text/x-cross-domain-policy的文件作為跨域策略文件。
  • by-ftp-filename:只允許使用loadPolicyFile方法加載FTP協(xié)議下文件名為 crossdomain.xml的文件作為跨域策略文件。
  • all:可使用loadPolicyFile方法加載目標域上的任何文件作為跨域策略文件,甚至是一 個JPG也可被加載為策略文件。

配置示例

add_header X-Permitted-Cross-Domain-Policies 'none';

2.8 Referrer-Policy響應頭缺失

用來監(jiān)管哪些訪問來源信息——會在 Referer 中發(fā)送——應該被包含在生成的請求當中,增加隱私保護。

當我們點擊一個連接時,會產(chǎn)生一個http請求去獲取新頁面的內(nèi)容,在該請求的header中會有一個referrer用以說明該請求是從哪個頁面跳轉(zhuǎn)過來的。如果缺少該字段會導致瀏覽器的安全特性消失,使我們的系統(tǒng)更容易受到攻擊。

語法

1. Referrer-Policy: no-referrer
2. Referrer-Policy: no-referrer-when-downgrade
3. Referrer-Policy: origin
4. Referrer-Policy: origin-when-cross-origin
5. Referrer-Policy: same-origin
6. Referrer-Policy: strict-origin
7. Referrer-Policy: strict-origin-when-cross-origin
8. Referrer-Policy: unsafe-url

釋義

  • no-referrer:整個 Referer 首部會被移除。訪問來源信息不隨著請求一起發(fā)送。 
  • no-referrer-when-downgrade :(默認值) 在沒有指定任何策略的情況下用戶代理的默認行為。在同等安全級別的情況下(HTTPS->HTTPS),引用頁面的地址會被發(fā)送,但是在降級的情況下 (HTTPS->HTTP)不會被發(fā)送。
  • origin:在任何情況下,僅發(fā)送文件的源作為引用地址。例如 https://example.com/page.html 會將 https://example.com/ 作為引用地址。
  • origin-when-cross-origin:對于同源的請求,會發(fā)送完整的URL作為引用地址,但是對于非同源請求僅發(fā)送文件的源。
  • same-origin:對于同源的請求會發(fā)送引用地址,但是對于非同源請求則不發(fā)送引用地址信息。
  • strict-origin:在同等安全級別的情況下(HTTPS->HTTPS),發(fā)送文件的源作為引用地址,但是在降級的情況下(HTTPS->HTTP)不會發(fā)送 。
  • strict-origin-when-cross-origin:對于同源的請求,會發(fā)送完整的URL作為引用地址;對于非同源,在同等安全級別的情況下(HTTPS->HTTPS),發(fā)送文件的源作為引用地址;在降級的情況下(HTTPS->HTTP)不發(fā)送此首部。
  • unsafe-url:無論是同源請求還是非同源請求,都發(fā)送完整的 URL(移除參數(shù)信息之后)作為引用地址。 這項設置會將受 TLS 安全協(xié)議保

配置示例

add_header Referrer-Policy "no-referrer";

2.9 X-XSS-Protection響應頭缺失

HTTP X-XSS-Protection 響應頭是 Internet Explorer,Chrome 和 Safari 的一個特性,當檢測到跨站腳本攻擊 (XSS)時,瀏覽器將停止加載頁面。

X-XSS-Protection響應頭的缺失使得目標URL更易遭受跨站腳本攻擊。

語法

1.X-XSS-Protection: 0
2.X-XSS-Protection: 1
3.X-XSS-Protection: 1; mode=block
4.X-XSS-Protection: 1; report=<reporting-uri>

釋義

  • 0:禁止 XSS 過濾。
  • 1:啟用 XSS 過濾(通常瀏覽器是默認的)。 如果檢測到跨站腳本攻擊,瀏覽器將清除頁面(刪除不安全的部分)。
  • 1; mode=block:啟用 XSS 過濾。 如果檢測到攻擊,瀏覽器將不會清除頁面,而是阻止頁面加載。
  • 1; report=<reporting-uri> (Chromium only):啟用 XSS 過濾。如果檢測到跨站腳本攻擊,瀏覽器將清除頁面并使用 CSP report-uri 指令的功能發(fā)送違規(guī)報告。

配置示例

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

2.10 X-Content-Type-Options響應頭缺失

Web 服務器對于 HTTP 請求的響應頭缺少 X-Content-Type-Options,這意味著此網(wǎng)站更易遭受跨站腳本攻擊(XSS)。

X-Content-Type-Options 響應頭相當于一個提示標志,被服務器用來提示客戶端一定要遵循在 Content-Type 首部中對 MIME 類型 的設定,而不能對其進行修改,這就禁用了客戶端的 MIME 類型嗅探行為。

X-Content-Type-Options響應頭的缺失使得目標URL更易遭受跨站腳本攻擊。

配置示例

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

nosniff 只應用于以下兩種情況的請求將被阻止:

  • 請求類型是 style 但是 MIME 類型不是 text/css。
  • 請求類型是 script 但是 MIME 類型不是 JavaScript MIME 類型。

2.11 會話cookie中缺少HttpOnly屬性

會話cookie中缺少HttpOnly屬性會導致攻擊者可以通過程序(JS腳本、Applet等)獲取到用戶的cookie信息,造成用戶cookie信息泄露,增加攻擊者的跨站腳本攻擊威脅。

釋義

  • secure屬性當設置為true時,表示創(chuàng)建的 Cookie 會被以安全的形式向服務器傳輸,也就是只能在 HTTPS 連接中被瀏覽器傳遞到服務器端進行會話驗證,如果是 HTTP 連接則不會傳遞該信息,所以不會被竊取到Cookie 的具體內(nèi)容。
  •  HttpOnly屬性如果在Cookie中設置了"HttpOnly"屬性,那么通過程序(JS腳本、Applet等)將無法讀取到Cookie信息,這樣能有效的防止XSS攻擊。

配置示例

add_header Set-Cookie "Path=/; HttpOnly; Secure";

注: 另一種配置是在ssl.conf或default.conf中添加下面的語法:

proxy_cookie_path / "/; HTTPOnly; Secure";

到此這篇關(guān)于一文了解nginx HTTP安全響應問題的文章就介紹到這了,更多相關(guān)nginx HTTP安全響應內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx主動健康檢查功能實現(xiàn)

    nginx主動健康檢查功能實現(xiàn)

    nginx_upstream_check_module是一個Nginx的第三方模塊,它可以實現(xiàn) Nginx的主動健康檢查功能,本文將介紹一個基于 Nginx 的第三方模塊 nginx_upstream_check_module,它可以實現(xiàn) Nginx 的主動健康檢查功能,可以幫助我們更加有效地管理后端服務器,需要的朋友可以參考下
    2023-05-05
  • Nginx location 和 proxy_pass路徑配置問題小結(jié)

    Nginx location 和 proxy_pass路徑配置問題小結(jié)

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,進行測試,完全還原了整個測試過程,本文給大家介紹Nginx location 基本配置及相關(guān)配置文件,感興趣的朋友跟隨小編一起看看吧
    2021-09-09
  • nginx upstream六種方式分配小結(jié)

    nginx upstream六種方式分配小結(jié)

    本文主要介紹了nginx upstream六種方式分配小結(jié),包括輪詢、加權(quán)輪詢、IP哈希、公平輪詢、URL哈希和備份服務器,具有一定的參考價格,感興趣的可以了解一下
    2025-03-03
  • Nginx四層負載均衡的配置指南

    Nginx四層負載均衡的配置指南

    當一臺服務器的單位時間內(nèi)的訪問量越大時,服務器壓力就越大,大到超過自身承受能力時,服務器就會崩潰.為了避免服務器崩潰,讓用戶有更好的體驗,我們通過負載均衡的方式來分擔服務器壓力,這篇文章主要給大家介紹了關(guān)于Nginx四層負載均衡配置的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • 詳解nginx平滑升級的過程

    詳解nginx平滑升級的過程

    這篇文章主要介紹了詳解nginx平滑升級的過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Nginx的location路徑與proxy_pass匹配規(guī)則說明

    Nginx的location路徑與proxy_pass匹配規(guī)則說明

    這篇文章主要介紹了Nginx的location路徑與proxy_pass匹配規(guī)則說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • windows下Nginx多域名簡單配置教程

    windows下Nginx多域名簡單配置教程

    這篇文章主要為大家詳細介紹了windows下Nginx多域名簡單配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 詳解Nginx反向代理實現(xiàn)Kibana登錄認證功能

    詳解Nginx反向代理實現(xiàn)Kibana登錄認證功能

    這篇文章主要介紹了詳解Nginx反向代理實現(xiàn)Kibana登錄認證功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Nginx中的root和alias指令示例詳解

    Nginx中的root和alias指令示例詳解

    Nginx是一種高性能的Web服務器軟件,其中root和alias是用于配置資源位置的兩個指令,root指令用于設置資源的根目錄,而alias指令則為特定location設置路徑別名,root適用于整體目錄結(jié)構(gòu),alias適合細粒度路徑控制,本文詳解這兩個指令的用途及區(qū)別
    2024-10-10
  • nginx?ingress代理websocket流量的配置方法

    nginx?ingress代理websocket流量的配置方法

    ingress?nginx默認支持websocket協(xié)議,使用長連接協(xié)議時需要注意連接超時的設置,文中有提到讀取和發(fā)送超時的注解參數(shù),通過本文閱讀可以快速掌握,對nginx?ingress代理websocket相關(guān)知識感興趣的朋友一起看看吧
    2022-03-03

最新評論