[ISO 27001] Cookie 相關議題

ISO 27001 這一系列的文章,是在記錄被弱點掃描報告列出的問題修正。

受影響的條款

12.5.1 Installation of soft ware on operational systems。 

  • Cookies with missing, inconsistent or contradictory properties

  • Cookies without HttpOnly flag set

  • Cookies without Secure flag set

修正方式

弱點掃描掃到這條也真是有點哭笑不得,因為這個 API 目的是要移除 Cookie 用的,所以就沒有特別指定 Secure & HttpOnly & SameSite 屬性,補上這三個屬性,底下語法為 NetCore 的範例。

[HttpGet]
public void Logout()
{
    // 雖然移除還要這樣寫很怪,但因為不設定這些屬性會被弱點掃描列為改善建議
    var options = new CookieOptions();
    options.HttpOnly = true;
    options.SameSite = SameSiteMode.Strict;
    
    // 本地端 localhost 不受此限制,但如果環境非 https 的話,此屬性會導致永遠無法登入
    if (Request.Scheme.ToLower() == "https")
        options.Secure = true; 

    HttpContext.Response.Cookies.Delete("Sample", options);
    HttpContext.Response.Redirect("/");
}


參考網站

零基礎資安系列(一)-認識 CSRF(Cross Site Request Forgery)

零基礎資安系列(二)-認識 XSS(Cross-Site Scripting)

零基礎資安系列(三)-網站安全三本柱(Secure & SameSite & HttpOnly)

留言