HTTPS арқылы қорғалған, қосалқы домендері (сұр) және тәуелділіктері (ақ) бар Alexa-ның ең жақсы сайттарының бірі (орталық шеңбер), олардың арасында осалдары бар (сызықша көлеңкелеу)
Қазіргі уақытта HTTPS қауіпсіз қосылым белгішесі кез келген маңызды сайттың стандартты және тіпті қажетті атрибуты болды. Егер
Бірақ мекенжай жолағында «құлыптың» болуы әрқашан қорғауға кепілдік бермейтіні белгілі болды.
Зерттеу нәтижелері
Зерттеуді Венеция университетінің Ca' Foscari (Италия) мен Вена техникалық университетінің сарапшылары жүргізді. Олар 40 жылдың 20-22 мамырында Сан-Францискода өтетін 2019-шы IEEE қауіпсіздік және құпиялылық симпозиумында егжей-тегжейлі баяндама жасайды.
Ең жақсы 10 000 Alexa тізімі HTTPS сайттары мен 90 816 қатысты хосттар тексерілді. 5574 хостта осал криптографиялық конфигурациялар анықталды, яғни жалпы санының шамамен 5,5%:
- 4818 MITM-ге осал
- 733 толық TLS шифрын шешуге осал
- 912 ішінара TLS шифрын шешуге осал
898 сайт бұзуға толығымен ашық, яғни олар бөгде сценарийлерді енгізуге мүмкіндік береді және 977 сайт шабуылдаушы әрекеттесе алатын нашар қорғалған беттерден мазмұнды жүктейді.
Зерттеушілер 898 «толығымен бұзылған» ресурстардың арасында интернет-дүкендер, қаржылық қызметтер және басқа да ірі сайттар бар екенін атап көрсетеді. 660 сайттың 898-ы осал хосттардан сыртқы сценарийлерді жүктейді: бұл қауіптің негізгі көзі. Авторлардың айтуынша, заманауи веб-қосымшалардың күрделілігі шабуылдың бетін айтарлықтай арттырады.
Басқа да мәселелер анықталды: авторизациялау нысандарының 10%-ында құпия сөздердің ағып кету қаупі төнетін ақпаратты қауіпсіз тасымалдау мәселелері бар, 412 сайт cookie файлдарын ұстауға және сеанстарды ұрлауға мүмкіндік береді, 543 сайт cookie файлының тұтастығына шабуылдарға ұшырайды (субдомендер арқылы) .
Мәселе мынада, соңғы жылдары SSL/TLS хаттамалары мен бағдарламалық қамтамасыз ету
Ұсынылған параметрлер
Ұсынылған HTTPS параметрлерінің ресми мақұлданған және келісілген тізімі жоқ. Сонымен,
Қазіргі режим
Қолдау көрсетілетін ең ескі клиенттер: Windows 27, Edge, Opera 30, Safari 11, Android 7 және Java 17 жүйелеріндегі Firefox 9, Chrome 5.0, IE 8
server {
listen 80 default_server;
listen [::]:80 default_server;
# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# modern configuration. tweak to your needs.
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;
# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;
resolver <IP DNS resolver>;
....
}
Орташа қолдау
Қолдау көрсетілетін ең ескі клиенттер: Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7
server {
listen 80 default_server;
listen [::]:80 default_server;
# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;
# intermediate configuration. tweak to your needs.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;
# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;
resolver <IP DNS resolver>;
....
}
Ескі қолдау
Қолдау көрсетілетін ең ескі клиенттер: Windows XP IE6, Java 6
server {
listen 80 default_server;
listen [::]:80 default_server;
# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;
# old configuration. tweak to your needs.
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP';
ssl_prefer_server_ciphers on;
# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;
# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;
resolver <IP DNS resolver>;
....
}
Сізге әрқашан толық шифрлар жиынтығын және OpenSSL соңғы нұсқасын пайдалану ұсынылады. Сервер параметрлеріндегі шифрлар жинағы клиент параметрлеріне байланысты олар қолданылатын басымдықты анықтайды.
Зерттеулер көрсеткендей, тек HTTPS сертификатын орнату жеткіліксіз. «Біз 2005 жылғыдай cookie файлдарымен жұмыс істемейміз және «әдепті TLS» үйреншікті жағдайға айналғанымен, бұл қарапайым нәрселер өте танымал сайттардың таңқаларлық көп санын қорғау үшін жеткіліксіз болып шықты»,
Ақпарат көзі: www.habr.com