keycloak安全保護(hù)
keycloak安全保護(hù)
安全配置Security?Defenses
通過(guò)對(duì)Security?Defenses的配置?,可以對(duì)http頭添加相應(yīng)的安全配置?,如csp,?X-Frame-Options,?X-Content-Type-Option等
1?X-Frame-Options
參考:https://www.rfc-editor.org/rfc/rfc7034
HTTP?響應(yīng)頭是用來(lái)給瀏覽器指示允許一個(gè)頁(yè)面可否在?,??或者??中展現(xiàn)的標(biāo)記。網(wǎng)站可以使用此功能,來(lái)確保自己網(wǎng)站的內(nèi)容沒(méi)有被嵌套到別人的網(wǎng)站中去,也從而避免了點(diǎn)擊劫持?(clickjacking)?的攻擊。?
注意:由于微信掃碼采用iframe的方式,所以這塊我們不能配置,不然微信不能使用,或者使用ALLOW-FROM。
現(xiàn)代瀏覽器遵循?X-Frame-Options?協(xié)議頭,它表明一個(gè)資源是否允許加載到?frame?或者?iframe?中。?如果響應(yīng)包含值為?SAMEORIGIN?的協(xié)議頭,瀏覽器會(huì)在?frame?中只加載同源請(qǐng)求的的資源;如果協(xié)議頭設(shè)置為???,瀏覽器會(huì)在加載?frame?時(shí)屏蔽所有資源,無(wú)論請(qǐng)求來(lái)自于哪個(gè)站點(diǎn);如果希望開(kāi)放給某個(gè)域名,可以使用ALLOW-FROM?uri來(lái)實(shí)現(xiàn)它,DENY表示拒絕所有請(qǐng)求。

如果在kc中配置了它,并且在其它網(wǎng)站想通過(guò)iframe嵌入KC的頁(yè)面,那么,如果使用SAMEORIGIN
它會(huì)出現(xiàn)如下圖提示;如果是同源網(wǎng)站,是可以通過(guò)iframe訪問(wèn)它的

2?Content?Security?Policy
參考:https://www.w3.org/TR/CSP/
"網(wǎng)頁(yè)安全政策"(Content?Security?Policy,縮寫(xiě)?CSP)CSP?的實(shí)質(zhì)就是白名單制度,開(kāi)發(fā)者明確告訴客戶端,哪些外部資源可以加載和執(zhí)行,等同于提供白名單。它的實(shí)現(xiàn)和執(zhí)行全部由瀏覽器完成,開(kāi)發(fā)者只需提供配置。
#?不允許被嵌入,包括<frame>,?<iframe>,?<object>,?<embed>?和?<applet>
Content-Security-Policy:?frame-ancestors?'none'
#?只允許被同源的頁(yè)面嵌入
Content-Security-Policy:?frame-ancestors?'self'
#?只允許被白名單內(nèi)的頁(yè)面嵌入
Content-Security-Policy:?frame-ancestors?www.example.com
?
#?不允許被嵌入,包括<frame>,?<iframe>,?<embed>?和?<object>
X-Frame-Options:?deny
#?只允許被同源的頁(yè)面嵌入
X-Frame-Options:?sameorigin
#?(已廢棄)只允許被白名單內(nèi)的頁(yè)面嵌入
X-Frame-Options:?allow-from?www.example.com
3?Content-Security-Policy-Report-Only
參考:https://www.w3.org/TR/CSP/
4?X-Content-Type-Options
參考:?https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Content-Type-Options
響應(yīng)首部相當(dāng)于一個(gè)提示標(biāo)志,被服務(wù)器用來(lái)提示客戶端一定要遵循在?Content-Type?首部中對(duì)?MIME?類型?的設(shè)定。
5?X-Robots-Tag
參考:https://http.dev/x-robots-tag
6?X-XSS-Protection
參考:https://owasp.org/www-project-secure-headers/#xxxsp
7?HTTP?Strict?Transport?Security?(HSTS)
參考:https://owasp.org/www-project-secure-headers/#hsts