Безопасный файл cookie Owin Cookie http и https - PullRequest
0 голосов
/ 25 апреля 2018

На нашем сайте был проведен тест на проникновение, и нам сказали, что на сайте нет безопасных файлов cookie. Это как на Http, так и на Https.

Я пробовал множество примеров, но куки-файлы не отмечены галочкой. Я не знаю, где я иду не так.

Вот что я пробовал в веб-конфигурации:

Solution 1 
<httpCookies requireSSL="true"/>

Solution 2
<httpCookies httpOnlyCookies="true" requireSSL="true" />

Solution 3
<httpCookies requireSSL="true" lockItem="true"   />

Solution 4
    <authentication mode="Forms">
    <forms loginUrl="Layout_Simple.cshtml" cookieless="UseCookies"  requireSSL="true"   path="/Account/Login" />
    </authentication>

После попытки каждого из этих файлов cookie все еще не были безопасны enter image description here

Затем я попробовал код в файле Global.asax.cs. При работе веб-сайта, подобного этому, файлы cookie все еще не были безопасными

 protected void Application_EndRequest(object sender, EventArgs e)
    {
       if (Response.Cookies.Count > 0)
       {
          foreach (string s in Response.Cookies.AllKeys)
         {
           if (s == FormsAuthentication.FormsCookieName || s.ToLower() == "_requestverificationtoken" || s.ToLower() == ".aspnet.applicationcookie") || s.ToLower() == "asp.net_sessionid"
           {
              Response.Cookies[s].Secure = true;                            Response.Cookies[FormsAuthentication.FormsCookieName].Secure = true;
             Response.Cookies["ASP.NET_SessionId"].Secure = true;
                    }
                }
            }
        }

Я также попытался добавить приведенную ниже строку в файл Startup.Auth.cs, но из-за этого веб-сайт больше не входил.

 app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
         AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
         LoginPath = new Microsoft.Owin.PathString("/Account/Login"),
         CookieSecure = Microsoft.Owin.Security.Cookies.CookieSecureOption.Always
...