HTTPS ืœื ืชืžื™ื“ ืžืื•ื‘ื˜ื— ื›ืคื™ ืฉื”ื•ื ื ืจืื”. ืคื’ื™ืขื•ื™ื•ืช ืฉื ืžืฆืื• ื‘-5,5% ืžืืชืจื™ HTTPS

HTTPS ืœื ืชืžื™ื“ ืžืื•ื‘ื˜ื— ื›ืคื™ ืฉื”ื•ื ื ืจืื”. ืคื’ื™ืขื•ื™ื•ืช ืฉื ืžืฆืื• ื‘-5,5% ืžืืชืจื™ HTTPS
ืื—ื“ ืžื”ืืชืจื™ื ื”ืžื•ื‘ื™ืœื™ื ืฉืœ ืืœืงืกื” (ืžืขื’ืœ ืžืจื›ื–ื™), ืžืื•ื‘ื˜ื— ื‘ืืžืฆืขื•ืช HTTPS, ืขื ืชืช-ื“ื•ืžื™ื™ื ื™ื (ืืคื•ืจ) ื•ืชืœื•ืช (ืœื‘ืŸ), ื‘ื™ื ื™ื”ื ื™ืฉ ืคื’ื™ืขื™ื (ื”ืฆืœืœื” ืžืงื•ื•ืงื•)

ื‘ื™ืžื™ื ื•, ืกืžืœ ื”ื—ื™ื‘ื•ืจ ื”ืžืื•ื‘ื˜ื— ืฉืœ HTTPS ื”ืคืš ืœืกื˜ื ื“ืจื˜ ื•ืืคื™ืœื• ืœืชื›ื•ื ื” ื”ื›ืจื—ื™ืช ืฉืœ ื›ืœ ืืชืจ ืจืฆื™ื ื™. ืื ืชืขื•ื“ื” ื—ืกืจ, ื›ืžืขื˜ ื›ืœ ื”ื“ืคื“ืคื ื™ื ื”ืื—ืจื•ื ื™ื ืžืฆื™ื’ื™ื ืื–ื”ืจื” ืฉ ื”ื—ื™ื‘ื•ืจ ืœืืชืจ "ืœื ืžืื•ื‘ื˜ื—" ื•ืœื ืžืžืœื™ืฆื™ื ืœื”ืขื‘ื™ืจ ืืœื™ื• ืžื™ื“ืข ืกื•ื“ื™.

ืื‘ืœ ืžืกืชื‘ืจ ืฉื ื•ื›ื—ื•ืช "ื ืขื™ืœื”" ื‘ืฉื•ืจืช ื”ื›ืชื•ื‘ืช ืœื ืชืžื™ื“ ืžื‘ื˜ื™ื—ื” ื”ื’ื ื”. ื‘ื“ื™ืงืช 10 ืืชืจื™ื ืžื•ื‘ื™ืœื™ื ืžื”ื“ื™ืจื•ื’, Alexa ื”ืจืืชื” ืฉืจื‘ื™ื ืžื”ื ื ืชื•ื ื™ื ืœืคื’ื™ืขื•ื™ื•ืช ืงืจื™ื˜ื™ื•ืช ื‘ืคืจื•ื˜ื•ืงื•ืœื™ SSL / TLS, ื‘ื“ืจืš ื›ืœืœ ื‘ืืžืฆืขื•ืช ืชืช-ื“ื•ืžื™ื™ื ื™ื ืื• ืชืœื•ืช. ืœื“ื‘ืจื™ ืžื—ื‘ืจื™ ื”ืžื—ืงืจ, ื”ืžื•ืจื›ื‘ื•ืช ืฉืœ ื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜ ืžื•ื“ืจื ื™ื™ื ืžื’ื“ื™ืœื” ืžืื•ื“ ืืช ืžืฉื˜ื— ื”ื”ืชืงืคื”.

ืชื•ืฆืื•ืช ื”ืžื—ืงืจ

ื”ืžื—ืงืจ ื ืขืจืš ืขืœ ื™ื“ื™ ืžื•ืžื—ื™ื ืžืื•ื ื™ื‘ืจืกื™ื˜ืช ื•ื ืฆื™ื” Ca' Foscari (ืื™ื˜ืœื™ื”) ื•ื”ืื•ื ื™ื‘ืจืกื™ื˜ื” ื”ื˜ื›ื ื™ืช ืฉืœ ื•ื™ื ื”. ื”ื ื™ืฆื™ื’ื• ื“ื•ื— ืžืคื•ืจื˜ ื‘ืกื™ืžืคื•ื–ื™ื•ืŸ ื”-40 ืฉืœ IEEE ื‘ื ื•ืฉื ืื‘ื˜ื—ื” ื•ืคืจื˜ื™ื•ืช, ืฉื™ืชืงื™ื™ื ื‘-20-22 ื‘ืžืื™ 2019 ื‘ืกืŸ ืคืจื ืกื™ืกืงื•.

10 ืืชืจื™ HTTPS ื”ืžื•ื‘ื™ืœื™ื ื‘ืจืฉื™ืžืช Alexa ื•-000 ืžืืจื—ื™ื ืงืฉื•ืจื™ื ื ื‘ื“ืงื•. ืชืฆื•ืจื•ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ื•ืช ืคื’ื™ืขื•ืช ื–ื•ื”ื• ื‘-90 ืžืืจื—ื™ื, ื›ืœื•ืžืจ, ื›-816% ืžื”ื›ืœืœ:

  • 4818 ืคื’ื™ืข ืœ-MITM
  • 733 ืคื’ื™ืขื™ื ืœืคืขื ื•ื— TLS ืžืœื
  • 912 ืคื’ื™ืขื™ื ืœืคืขื ื•ื— TLS ื—ืœืงื™

898 ืืชืจื™ื ืคืชื•ื—ื™ื ืœื—ืœื•ื˜ื™ืŸ ืœืคืจื™ืฆื”, ื›ืœื•ืžืจ, ื”ื ืžืืคืฉืจื™ื ื”ื–ืจืงืช ืกืงืจื™ืคื˜ื™ื ื–ืจื™ื, ื•-977 ืืชืจื™ื ื˜ื•ืขื ื™ื ืชื•ื›ืŸ ืžื“ืคื™ื ืžื•ื’ื ื™ื ื‘ืฆื•ืจื” ื’ืจื•ืขื” ืฉืชื•ืงืฃ ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืื™ืชื ืื™ื ื˜ืจืืงืฆื™ื”.

ื”ื—ื•ืงืจื™ื ืžื“ื’ื™ืฉื™ื ื›ื™ ื‘ื™ืŸ 898 ื”ืžืฉืื‘ื™ื "ืฉื ืคื’ืขื• ืœื—ืœื•ื˜ื™ืŸ" ื ืžืฆืื™ื ื—ื ื•ื™ื•ืช ืžืงื•ื•ื ื•ืช, ืฉื™ืจื•ืชื™ื ืคื™ื ื ืกื™ื™ื ื•ืืชืจื™ื ื’ื“ื•ืœื™ื ืื—ืจื™ื. 660 ืžืชื•ืš 898 ืืชืจื™ื ืžื•ืจื™ื“ื™ื ืกืงืจื™ืคื˜ื™ื ื—ื™ืฆื•ื ื™ื™ื ืžืžืืจื—ื™ื ืคื’ื™ืขื™ื: ื–ื” ื”ืžืงื•ืจ ื”ืขื™ืงืจื™ ืœืกื›ื ื”. ืœื“ื‘ืจื™ ื”ืžื—ื‘ืจื™ื, ื”ืžื•ืจื›ื‘ื•ืช ืฉืœ ื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜ ืžื•ื“ืจื ื™ื™ื ืžื’ื“ื™ืœื” ืžืื•ื“ ืืช ืžืฉื˜ื— ื”ื”ืชืงืคื”.

ืขื•ื“ ื ืžืฆืื• ื‘ืขื™ื•ืช ื ื•ืกืคื•ืช: ืœ-10% ืžื˜ืคืกื™ ื”ื”ืจืฉืื” ื™ืฉ ื‘ืขื™ื•ืช ื‘ื”ืขื‘ืจืช ืžื™ื“ืข ืžืื•ื‘ื˜ื—, ื”ืžืื™ื™ื ืœื”ื“ืœื™ืฃ ืกื™ืกืžืื•ืช, 412 ืืชืจื™ื ืžืืคืฉืจื™ื ื™ื™ืจื•ื˜ ืฉืœ ืขื•ื’ื™ื•ืช ื•ื—ื˜ื™ืคืช ื”ืคืขืœื”, ื•-543 ืืชืจื™ื ื ืชื•ื ื™ื ืœื”ืชืงืคื•ืช ืขืœ ืฉืœืžื•ืช ื”ืขื•ื’ื™ื•ืช (ื‘ืืžืฆืขื•ืช ืชืช-ื“ื•ืžื™ื™ื ื™ื) .

ื”ื‘ืขื™ื” ื”ื™ื ืฉื‘ืฉื ื™ื ื”ืื—ืจื•ื ื•ืช ื‘ืคืจื•ื˜ื•ืงื•ืœื™ื ื•ื‘ืชื•ื›ื ื•ืช SSL/TLS ื–ื™ื”ื” ืžืกืคืจ ื ืงื•ื“ื•ืช ืชื•ืจืคื”: ืคื•ื“ืœ (CVE-2014-3566), BEAST (CVE-2011-3389), CRIME (CVE-2012-4929), BREACH (CVE-2013-3587) ื•-Heartbleed (CVE-2014-0160). ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ื”ื, ื ื“ืจืฉื•ืช ืžืกืคืจ ื”ื’ื“ืจื•ืช ื‘ืฆื“ ื”ืฉืจืช ื•ื”ืœืงื•ื— ื›ื“ื™ ืœื”ื™ืžื ืข ืžืฉื™ืžื•ืฉ ื‘ื’ืจืกืื•ืช ืคื’ื™ืขื•ืช ื™ืฉื ื•ืช. ืื‘ืœ ื–ื”ื• ื”ืœื™ืš ื“ื™ ืœื ื˜ืจื™ื•ื•ื™ืืœื™, ืžื›ื™ื•ื•ืŸ ืฉื”ื’ื“ืจื•ืช ื›ืืœื” ื›ืจื•ื›ื•ืช ื‘ื‘ื—ื™ืจื” ืžืชื•ืš ืžืขืจืš ื ืจื—ื‘ ืฉืœ ืฆืคื ื™ื ื•ืคืจื•ื˜ื•ืงื•ืœื™ื, ืฉืงืฉื” ืœืžื“ื™ ืœื”ื‘ื™ืŸ. ืœื ืชืžื™ื“ ื‘ืจื•ืจ ืื™ืœื• ื—ื‘ื™ืœื•ืช ืฆื•ืคืŸ ื•ืคืจื•ื˜ื•ืงื•ืœื™ื ื ื—ืฉื‘ื™ื ืœ"ื‘ื˜ื•ื—ื™ื ืžืกืคื™ืง".

ื”ื’ื“ืจื•ืช ืžื•ืžืœืฆื•ืช

ืื™ืŸ ืืฃ ืื—ื“ ืฉืื•ืฉืจ ืจืฉืžื™ืช ื•ืžื•ืกื›ื ืขืœ ืจืฉื™ืžืช ื”ื’ื“ืจื•ืช HTTPS ืžื•ืžืœืฆื•ืช. ื›ืš, ืžื—ื•ืœืœ ืชืฆื•ืจืช SSL ืฉืœ Mozilla ืžืฆื™ืข ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช ืชืฆื•ืจื”, ื‘ื”ืชืื ืœืจืžืช ื”ื”ื’ื ื” ื”ื ื“ืจืฉืช. ืœื“ื•ื’ืžื”, ืœื”ืœืŸ ื”ื”ื’ื“ืจื•ืช ื”ืžื•ืžืœืฆื•ืช ืขื‘ื•ืจ ืฉืจืช 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 ื”ื’ื•ืŸ' ื”ืคืš ืœื“ื‘ืจ ืฉื‘ืฉื’ืจื”, ืžืกืชื‘ืจ ืฉื”ื“ื‘ืจื™ื ื”ื‘ืกื™ืกื™ื™ื ื”ืืœื” ืœื ืžืกืคื™ืงื™ื ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืžืกืคืจ ืžืคืชื™ืข ืฉืœ ืืชืจื™ื ืคื•ืคื•ืœืจื™ื™ื ืžืื•ื“." ื”ื ืื•ืžืจื™ื ืžื—ื‘ืจื™ ื”ืขื‘ื•ื“ื”. ื›ื“ื™ ืœื”ื’ืŸ ื‘ืฆื•ืจื” ืžื”ื™ืžื ื” ืขืœ ื”ืขืจื•ืฅ ื‘ื™ืŸ ื”ืฉืจืช ืœืœืงื•ื—, ืขืœื™ืš ืœื ื˜ืจ ื‘ืงืคื™ื“ื” ืืช ื”ืชืฉืชื™ืช ืžืชืช-ื”ื“ื•ืžื™ื™ืŸ ืฉืœืš ื•ืžืžืืจื—ื™ ืฆื“ ืฉืœื™ืฉื™ ืฉืžื”ื ืžืกื•ืคืง ืชื•ื›ืŸ ืœืืชืจ. ืื•ืœื™ ื”ื’ื™ื•ื ื™ ืœื”ื–ืžื™ืŸ ื‘ื™ืงื•ืจืช ืžืื™ื–ื• ื—ื‘ืจืช ืฆื“ ืฉืœื™ืฉื™ ืฉืžืชืžื—ื” ื‘ืื‘ื˜ื—ืช ืžื™ื“ืข.

HTTPS ืœื ืชืžื™ื“ ืžืื•ื‘ื˜ื— ื›ืคื™ ืฉื”ื•ื ื ืจืื”. ืคื’ื™ืขื•ื™ื•ืช ืฉื ืžืฆืื• ื‘-5,5% ืžืืชืจื™ HTTPS

ืžืงื•ืจ: www.habr.com