Я не уверен, что базовая аутентификация на моем сервере защищена.

Это может быть действительно глупый вопрос, но я должен был убедиться, что меня это устраивает .

Я настраиваю сервер 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/;                                                                                                                     
    }
}

Снимок экрана

2
задан 4 August 2021 в 14:08
1 ответ

Ваша конфигурация в порядке; это браузер плохо себя ведет.

Ваш сайт корректно перенаправлялся на https, и базовый запрос авторизации был отправлен вам через https. Но браузер не обновлял адресную строку перед появлением диалогового окна. Интересно, что я смог увидеть такое поведение как в Chrome, так и в Firefox. Возможно, это связано с тем, что браузер запросил учетные данные до того, как (с его точки зрения) загрузка страницы была завершена? Это вопрос к разработчикам браузера.

3
ответ дан 4 August 2021 в 16:38

Теги

Похожие вопросы