Security

我不確定我的伺服器上的基本身份驗證是否受到保護

  • August 4, 2021

這可能是一個非常愚蠢的問題,但我必須確保我對此感到滿意。

我使用基本身份驗證設置了一個 HTTPS 伺服器,但是當我連接到身份驗證頁面時,瀏覽器告訴我連接不安全,並在我登錄後告訴我連接是安全的。我想知道這是否安全,如果沒有,我怎樣才能使它安全?

配置(NGINX):

server {
   listen 80;
   server_name sub.example.com;

   return 301 https://$server_name$request_uri;
}

server {
   listen 443 ssl http2;
   server_name sub.example.com;

   ssl_ceerificate (certpath);
   ssl_certificate_key (certkeypath);
   ssl_trusted_certificate (anotherpath);
   ssl_dhparam (dhparam);

   ssl_protocols TLSv1.2 TLSv1.3;                                                                                                                                          
   ssl_prefer_server_ciphers on;                                                                                                                                           
   ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA25$
   ssl_ecdh_curve secp384r1;                                                                                                                                               
   ssl_session_timeout 10m;                                                                                                                                                
   ssl_session_cache shared:SSL:10m;                                                                                                                                       
   ssl_session_tickets off;                                                                                                                                                
   ssl_stapling on;                                                                                                                                                        
   ssl_stapling_verify on;                                                                                                                                                 

   add_header X-Content-Type-Options "nosniff" always;                                                                                                                     
   add_header X-Frame-Options "SAMEORIGIN" always;                                                                                                                         
   add_header X-XSS-Protection "1; mode=block"                                                                                                                                                            

   location / {                                                                                                                                                    
       auth_basic 'Nothing to see here';                                                                                                                                                                                                

       proxy_pass http://localhost:4000/;                                                                                                                     
   }
}

截屏

您的配置看起來不錯;這是瀏覽器行為不端。

您的站點已正確重定向到 https,並且基本身份驗證請求已通過 https 發送給您。但是瀏覽器在彈出對話框之前並沒有更新地址欄。有趣的是,我能夠在 Chrome 和 Firefox 上看到這種行為。也許這是因為瀏覽器在頁面載入完成之前(從它的角度來看)要求提供憑據?這是瀏覽器開發人員的問題。

引用自:https://serverfault.com/questions/1073527