按照等保要求,跨域的不安全性,需要修復(fù)。

這個(gè)需要根據(jù)客戶端傳遞的請(qǐng)求頭中的Origin值,進(jìn)行安全的跨站策略配置,目的是對(duì)非法的origin直接返回403錯(cuò)誤頁面。
漏洞復(fù)現(xiàn)
復(fù)現(xiàn)方式為在 Header 中指定 Origin 請(qǐng)求頭,看是否可以請(qǐng)求成功。
能夠請(qǐng)求成功,說明未對(duì)請(qǐng)求頭進(jìn)行控制,有漏洞。
curl-H'Origin//test.com'http://192.168.15.32:80
修復(fù)辦法
在http中定義一個(gè)通過map指令,定義跨域規(guī)則并返回是否合法
http {
...
//再白名單里邊返回0,不在返回1
map $http_origin $allow_cors {
default 1;
"~^https?://.*?.tripwolf.com.*$" 1;
"~^(https?://(dmp.finerice.cn)?)$" 1;
"~*" 0;
}
server {
# 指定允許其他域名訪問
add_header Access-Control-Allow-Origin $http_origin;
# 允許的請(qǐng)求類型
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
# 許的請(qǐng)求頭字段
add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
location / {
# 進(jìn)行請(qǐng)求攔截
if ($allow_cors = 0){
return 403;
}
root /mnt/data;
}
}
}
驗(yàn)證方法
通過POSTMAN進(jìn)行請(qǐng)求模擬,配置不同的Origin,查看返回結(jié)果。

如果不需要跨域,則直接清理掉add_header Access-Control-Allow-Origin等相關(guān)配置,就不這么復(fù)雜了。
-
模擬
+關(guān)注
關(guān)注
7文章
1447瀏覽量
85392 -
客戶端
+關(guān)注
關(guān)注
1文章
306瀏覽量
17566 -
nginx
+關(guān)注
關(guān)注
0文章
187瀏覽量
13124
原文標(biāo)題:Nginx配置origin限制跨域請(qǐng)求
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
利用LWIP實(shí)現(xiàn)的Web server,如何修改響應(yīng)報(bào)文中HTTP header里面的Access-Control-Allow-Origin的值?
nginx重啟命令linux步驟是什么?
nginx重啟命令linux步驟是什么?
【NanoPi NEO試用體驗(yàn)】之安裝配置Nginx環(huán)境WEB網(wǎng)站詳解
請(qǐng)問如何解決Vue加入withCredentials后無法進(jìn)行跨域請(qǐng)求?
主要學(xué)習(xí)下nginx的安裝配置
看看nginx的連接頻率limit_conn_module和請(qǐng)求頻率limit_req_module限制模塊
vue-cli開發(fā)環(huán)境實(shí)現(xiàn)跨域請(qǐng)求
配置Nginx訪問日志
Nginx輕松搞定跨域問題
nginx負(fù)載均衡配置介紹
基于Nginx配置origin限制跨域請(qǐng)求
評(píng)論