天天看點

java cookie secure_加密會話(SSL)Cookie 中缺少 Secure 屬性

加密會話(SSL)Cookie 中缺少 Secure 屬性

java cookie secure_加密會話(SSL)Cookie 中缺少 Secure 屬性

AppScan 發現加密會話(SSL)使用的是沒有“secure”屬性的 cookie。

因為不想修改後端代碼,是以希望能從nginx上将其修複。

java cookie secure_加密會話(SSL)Cookie 中缺少 Secure 屬性

沒修複之前

沒修複之前,這個cookie是沒有secure參數的,如上圖,上面的那些secure則是我在添加了一個 add_header Set-Cookie “Secure”; 獲得的,雖然網上大部分的教程都是這樣的,但是不符合此次修複的要求,是以沒有什麼用途

java cookie secure_加密會話(SSL)Cookie 中缺少 Secure 屬性

搜尋過程中,發現一篇文章能加上這個參數:

在 nginx 的 location 中配置

# 隻支援 proxy 模式下設定,SameSite 不需要可删除,如果想更安全可以把 SameSite 設定為 Strict

proxy_cookie_path / "/; httponly; secure; SameSite=Lax";

參考示例

server {

listen 443 ssl http2;

server_name www.cat73.org;

server {

listen 443 ssl http2;

server_name www.cat73.org;

ssl_certificate /etc/letsencrypt/live/cat73.org/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/cat73.org/privkey.pem;

ssl_trusted_certificate /etc/letsencrypt/live/cat73.org/chain.pem;

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

add_header X-Frame-Options SAMEORIGIN;

add_header Strict-Transport-Security "max-age=15768000";

location / {

root /var/www/html;

}

location /api {

proxy_pass http://localhost:8080;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

######### 在這裡設定 #########

proxy_cookie_path / "/; httponly; secure; SameSite=Lax";

}

}

之後再檢視cookie上的參數是否存在,成功

java cookie secure_加密會話(SSL)Cookie 中缺少 Secure 屬性

修複後效果圖