我不确定我的服务器上的基本身份验证是否安全

我不确定我的服务器上的基本身份验证是否安全

这可能是一个非常愚蠢的问题,但我必须确保我对此没有异议。

我设置了一个具有基本身份验证的 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/;                                                                                                                     
    }
}

截屏

答案1

您的配置看起来很好;是浏览器行为不当。

您的网站已正确重定向到 https,并且基本身份验证请求已通过 https 发送给您。但浏览器在弹出对话框之前没有更新地址栏。有趣的是,我在 Chrome 和 Firefox 上都看到了这种行为。也许这是因为浏览器在页面加载完成之前(从它的角度来看)要求输入凭据?这是浏览器开发人员的问题。

相关内容