Назад | Перейти на главную страницу

Измените конфигурацию ssl apache на конфигурацию nginx

Я хочу попросить вас помочь изменить мою конфигурацию apache ssl на стиль nginx. На самом деле я пробовал погуглить, но

SSLEngine on
SSLCertificateKeyFile /etc/apache2/ssl/key/netlime_tk.key
SSLCertificateFile /etc/apache2/ssl/crt/www_netlime_tk.crt
SSLCertificateChainFile /etc/apache2/ssl/crt/www_netlime_tk.cer
SSLCACertificateFile /etc/apache2/ssl/crt/www_netlime_tk.cer
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3

На самом деле я сделал это, но в ssl_protools отсутствуют исключения версий, а также каждый раз, когда я выполнял «подключенную» цепочку с сертификатами, веб-сайты тестирования ssl сообщали, что это неправильно, поэтому я действительно не хочу объединять сертификаты вместе.

ssl_protocols TLSv1 TLSv1.1;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3;
ssl_certificate /etc/nginx/ssl/crt/www_netlime_tk.crt;
ssl_certificate_key /etc/nginx/ssl/key/netlime_tk.key;
#ssl_certificate_chain /etc/nginx/ssl/crt/www_netlime_tk.cer;
#ssl_ca_certificate /etc/nginx/ssl/crt/www_netlime_tk.cer;

Спасибо: - * Если вы можете дать какое-то техническое объяснение, ведьма научит меня чему-то, пожалуйста, сделайте это.

редактировать

Спасибо всем за помощь и время, когда окончательная конфигурация "Grade A" на ssllabs

# SSL Configuration
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate /etc/nginx/ssl/crt/www_netlime_tk.crt.bundle;
ssl_certificate_key /etc/nginx/ssl/key/netlime_tk.key;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384.....very long string'
ssl_prefer_server_ciphers on;
ssl_dhparam /root/dhparams.pem;

Решение было:

  1. Чтобы создать объединение файлов * .crt и * .cer с помощью команды cat (спасибо пользователю Gmck)
  2. Укажите только те протоколы, которые разрешены в моем случае TLS v1 v1.1 и v1.2 (спасибо пользователю Froggiz)
  3. Добавьте более конкретные шифры (спасибо сайту ssllabs)
  4. добавить dhparams для более безопасного соединения (спасибо сайту ssllabs)

Окончательная конфигурация SSL

# SSL Configuration
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate /etc/nginx/ssl/crt/www_netlime_tk.crt.bundle;
ssl_certificate_key /etc/nginx/ssl/key/netlime_tk.key;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDH.....very long string (google for full string)';
ssl_prefer_server_ciphers on;
ssl_dhparam /root/dhparams.pem;
    server_name  yourhostname;    #rename your hostname
    ssl_certificate /usr/local/nginx/cert/server.crt;
    ssl_certificate_key /usr/local/nginx/cert/server.key;
    ssl_buffer_size 4K;
    ssl_session_timeout 10m; ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
    add_header Strict-Transport-Security "max-age=31536000";

    location ~ ^(?<script_name>.+?\.php)(?<path_info>/.*)?$ {
            try_files $script_name = 404;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_param PATH_INFO $path_info;
            fastcgi_param SCRIPT_FILENAME document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_param HTTPS on;         #for https
    }