寶塔控制面板中nginx配置如何防止Host頭攻擊
訪問(wèn)網(wǎng)站時(shí)如果訪問(wèn)路徑中缺少/,大多數(shù)中間件都會(huì)自動(dòng)將路徑補(bǔ)全,返回302或301跳轉(zhuǎn)如下圖,Location位置的域名會(huì)使用Host頭的值。
這種情況實(shí)際上風(fēng)險(xiǎn)較低,難以構(gòu)成Host頭攻擊。但是由于大多漏洞掃描器會(huì)將這種情況檢測(cè)為Host頭攻擊,為了通過(guò)上級(jí)檢查或各種審核,大多數(shù)甲方單位會(huì)要求修復(fù)漏洞,徹底解決問(wèn)題。
該跳轉(zhuǎn)路徑不是web項(xiàng)目定義的,是中間件自動(dòng)跳轉(zhuǎn)的,所以不能用編寫(xiě)靜態(tài)變量的方法修復(fù),web項(xiàng)目中的全局過(guò)濾器也無(wú)法攔截。需要在nginx服務(wù)器層面配置才能修復(fù)
方法一:直接在寶塔的網(wǎng)站的配置里面添加,codeworker.cn改為你當(dāng)前的域名
#防止Host頭攻擊start
if ($Host != 'codeworker.cn')
{
return 403;
}
#防止Host頭攻擊end
方法二:在nginx.conf添加,因?yàn)橐龅缺y(cè)評(píng)所以服務(wù)器采用的是https,下面的是443端口(https使用的)可以改成80端口(http使用的),可自行根據(jù)自己需要配置
#防止Host頭攻擊start()
server {
listen 443 default;
server_name _;
#SSL-START SSL相關(guān)配置
ssl_certificate /www/server/panel/vhost/cert/codeworker.cn/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/codeworker.cn/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
error_page 497 https://$host$request_uri;
#SSL-END
location / {
return 403;
}
}
#防止Host頭攻擊end
此文章參考來(lái)源https://www.freebuf.com/articles/web/178315.html
推薦文章
2024-11-28
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
穩(wěn)定
產(chǎn)品高可用性高并發(fā)貼心
項(xiàng)目群及時(shí)溝通專業(yè)
產(chǎn)品經(jīng)理1v1支持快速
MVP模式小步快跑承諾
我們選擇聲譽(yù)堅(jiān)持
10年專注高端品質(zhì)開(kāi)發(fā)聯(lián)系我們
友情鏈接: