
Alexa'нын эң мыкты сайттарынын бири (борбордук тегерек), HTTPS менен корголгон, субдомендери (боз) жана көз карандылыктары (ак), алардын арасында аялуулары да бар (сызыктар)
Бүгүнкү күндө HTTPS коопсуз туташуу сөлөкөтү кандайдыр бир олуттуу сайттын стандарттуу, ал тургай зарыл атрибуту болуп калды. Эгерде жок болсо, дээрлик бардык акыркы браузерлер эскертүү көрсөтөт жана ага жашыруун маалыматты өткөрүп берүүнү сунуш кылбайт.
Бирок дарек тилкесинде "кулпунун" болушу дайыма эле коргоого кепилдик бере бербейт экен. рейтингден, Alexa алардын көбү SSL / TLS протоколдорунун, адатта, субдомендер же көз карандылыктар аркылуу критикалык алсыздыктарга дуушар болгонун көрсөттү. Изилдөөнүн авторлорунун айтымында, заманбап веб-тиркемелердин татаалдыгы чабуулдун бетин бир топ жогорулатат.
Изилдөөнүн натыйжалары
Изилдөө Венеция университетинин Ка'Фоскари (Италия) жана Вена техникалык университетинин эксперттери тарабынан жүргүзүлгөн. Алар 40-жылдын 20-22-майында Сан-Францискодо өтө турган Коопсуздук жана Купуялык боюнча 2019th IEEE симпозиумунда кеңири баяндама беришет.
Эң мыкты 10 000 Alexa тизмеси HTTPS сайттары жана 90 816 тиешелүү хосттор сыналган. 5574 хостто аялуу криптографиялык конфигурациялар аныкталган, башкача айтканда, жалпысынан болжол менен 5,5%:
- 4818 MITM үчүн аялуу
- 733 толук TLS чечмелөөсүнө алсыз
- 912 жарым-жартылай TLS чечмелөөсүнө алсыз
898 сайт хакерлерге толугу менен ачык, башкача айтканда, алар тышкаркы скрипттерди киргизүүгө мүмкүндүк берет, ал эми 977 сайт чабуулчу өз ара аракеттене ала турган начар корголгон баракчалардан мазмунду жүктөйт.
Изилдөөчүлөр 898 "толугу менен бузулган" ресурстардын арасында онлайн дүкөндөр, каржы кызматтары жана башка ири сайттар бар экенин баса белгилешет. 660 сайттын 898ы аялуу хосттордон тышкы скрипттерди жүктөйт: бул коркунучтун негизги булагы. Авторлордун айтымында, заманбап веб-тиркемелердин татаалдыгы чабуулдун бетин бир топ жогорулатат.
Башка көйгөйлөр да табылды: авторизациялык формалардын 10% сырсөздөрдүн сыртка чыгып кетүү коркунучун туудурган маалыматты коопсуз өткөрүүдө көйгөйлөр бар, 412 сайт кукилерди кармоого жана сеанстарды уурдоого мүмкүндүк берет, ал эми 543 сайт кукилердин бүтүндүгүнө кол салууга дуушар болушат (субдомендер аркылуу) .
Көйгөй акыркы жылдары SSL/TLS протоколдорунда жана программалык камсыздоодо : POODLE (CVE-2014-3566), BEAST (CVE-2011-3389), CRIME (CVE-2012-4929), BREACH (CVE-2013-3587) жана Heartbleed (CVE-2014-0160). Алардан коргоо үчүн, эски аялуу версияларды колдонбоо үчүн серверде жана кардар тараптан бир катар орнотуулар талап кылынат. Бирок бул анча маанилүү эмес процедура, анткени мындай орнотуулар түшүнүү кыйын болгон шифрлердин жана протоколдордун кеңири топтомунан тандоону камтыйт. Кайсы шифр топтому жана протоколдор “жетиштүү коопсуз” деп эсептелери дайыма эле түшүнүксүз.
Сунушталган жөндөөлөр
Сунушталган HTTPS жөндөөлөрүнүн расмий түрдө бекитилген жана макулдашылган тизмеси жок. Ошентип, талап кылынган коргоо деңгээлине жараша бир нече конфигурация опцияларын сунуштайт. Мисалы, бул жерде nginx 1.14.0 сервери үчүн сунушталган орнотуулар:
Заманбап режим
Колдоого алынган эң эски кардарлар: Firefox 27, Chrome 30, IE 11 күйүк Windows 7, Edge, Opera 17, Safari 9, Android 5.0 жана Java 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-жылдагыдай кукилерди иштетпесек жана" татыктуу TLS" кадимки көрүнүшкө айланганы менен, бул негизги нерселер таң калыштуу көп сандагы абдан популярдуу сайттарды коргоо үчүн жетишсиз экени белгилүү болду" чыгарманын авторлору. Сервер менен кардар ортосундагы каналды ишенимдүү коргоо үчүн, сиз өзүңүздүн субдомендериңизден жана сайттын мазмуну берилген үчүнчү тараптын хостторунан инфраструктураны кылдаттык менен көзөмөлдөшүңүз керек. Балким, бул маалыматтык коопсуздук боюнча адистешкен кээ бир үчүнчү тараптын компанияларга аудитти заказ кылуу мааниси бар.
Source: www.habr.com
