Re: Проблема с SSl
Hello! On Mon, Oct 22, 2018 at 06:24:09PM +0300, Иван Мишин wrote: > если проблема в утилите openssl то почему servicen nignx reload исцеляет > систему? Потому что OpenSSL - это библиотека, которую использует nginx. А баги - часто проявляются не сразу, а только после определённого времени работы процесса. Наиболее простой пример ошибки, которая начинает проявляться только после некоторого времени работы процесса - отсутствующая инициализация выделенной памяти в 0, когда таковая инициализация нужна. Сразу после запуска процесса проблемы не будет - так как свежеполученные от системы страницы всё равно проинициализированы в 0. Однако со временем часть аллокаций начинает получать память не из системы, а из ранее освобождённых аллокаций в том же процессе - и там уже будут не обязательно нули, и могут начать вылезать ошибки. > На том же сервере работает еще и apache (очевидно с тем же openssl) и он > такой проблемы не имеет Баги имеют свойство проявляться по разному в зависимости от того, что именно и как используется. Даже если у вас рядом стоит Apache с той же нагрузкой, теми же GOST-шифрами и тоже с загрузкой ключей через engine (что сомнительно, потому что Apache, AFAIK, так просто не умеет) - это говорит лишь о том, что проблема почему-то не проявляется в Apache, но проявляется в nginx. О природе проблемы это говорит приблизительно ничего. -- Maxim Dounin http://mdounin.ru/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблема с SSl
если проблема в утилите openssl то почему servicen nignx reload исцеляет систему? На том же сервере работает еще и apache (очевидно с тем же openssl) и он такой проблемы не имеет пн, 22 окт. 2018 г. в 14:18, Maxim Dounin : > Hello! > > On Fri, Oct 19, 2018 at 05:55:28PM +0300, Иван Мишин wrote: > > > Есть такой конфиг: > > > > server { > > > listen 443 ssl; > > > server_name test.ru; > > > > > > ssl_certificate /etc/nginx/include/test/lich-2012-srv.pem; > > > ssl_certificate_key > > > 'engine:gostengy:s38g83e8ae2e2183b3624f880eb1ca12ggcdfebf'; > > > ssl_verify_client off; > > > ssl_protocols TLSv1 TLSv1.1 TLSv1.2; > > > ssl_ciphers GOST2012-GOST8912:GOST2001-GOST89:HIGH; > > > ssl_prefer_server_ciphers on; > > > location / { > > > proxy_set_header X-Real-IP $remote_addr; > > > proxy_set_header X-Forwarded-For > > > $proxy_add_x_forwarded_for; > > > proxy_hide_header Host; > > > proxy_set_header X-NginX-Proxy true; > > > proxy_set_header Host test.loc; > > > proxy_pass http://test.loc; > > > proxy_redirect off; > > > client_max_body_size 300M; > > > sendfile on; > > > send_timeout 300s; > > > } > > > } > > > > > > Со временем сервер либо перестает работать совсем, либо работает через > раз. > > при этом в логах вот такая ошибка: > > > > > [crit] 28474#28474: *401018 SSL_do_handshake() failed (SSL: > > > error:8001B035:lib(128):gng_keyhandle_getset:GNG_ERR_EXPORT_IMPORT > > > error:1419D093:SSL routines:tls_process_cke_gost:decryption failed) > while > > > SSL handshaking, client: x.x.x.x, server: 0.0.0.0:443 > > > > Просьба помочь с решением проблемы. > > Судя по диагностики, ваши проблемы - где-то в GOST engine. Если > по условиям задачи её можно выкинуть - очевидным решением будет > выкинуть. Если выкинуть нельзя - попробуйте поиграться с версиями > OpenSSL'я и GOST engine, а равно попробуйте грузить ключ из файла, > а не через engine. Если ничего из этого не поможет - стоит > стучаться непосредственно к ребятам, занимающимся оной GOST > engine. > > -- > Maxim Dounin > http://mdounin.ru/ > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблема с SSl
Hello! On Fri, Oct 19, 2018 at 05:55:28PM +0300, Иван Мишин wrote: > Есть такой конфиг: > > server { > > listen 443 ssl; > > server_name test.ru; > > > > ssl_certificate /etc/nginx/include/test/lich-2012-srv.pem; > > ssl_certificate_key > > 'engine:gostengy:s38g83e8ae2e2183b3624f880eb1ca12ggcdfebf'; > > ssl_verify_client off; > > ssl_protocols TLSv1 TLSv1.1 TLSv1.2; > > ssl_ciphers GOST2012-GOST8912:GOST2001-GOST89:HIGH; > > ssl_prefer_server_ciphers on; > > location / { > > proxy_set_header X-Real-IP $remote_addr; > > proxy_set_header X-Forwarded-For > > $proxy_add_x_forwarded_for; > > proxy_hide_header Host; > > proxy_set_header X-NginX-Proxy true; > > proxy_set_header Host test.loc; > > proxy_pass http://test.loc; > > proxy_redirect off; > > client_max_body_size 300M; > > sendfile on; > > send_timeout 300s; > > } > > } > > > Со временем сервер либо перестает работать совсем, либо работает через раз. > при этом в логах вот такая ошибка: > > > [crit] 28474#28474: *401018 SSL_do_handshake() failed (SSL: > > error:8001B035:lib(128):gng_keyhandle_getset:GNG_ERR_EXPORT_IMPORT > > error:1419D093:SSL routines:tls_process_cke_gost:decryption failed) while > > SSL handshaking, client: x.x.x.x, server: 0.0.0.0:443 > > Просьба помочь с решением проблемы. Судя по диагностики, ваши проблемы - где-то в GOST engine. Если по условиям задачи её можно выкинуть - очевидным решением будет выкинуть. Если выкинуть нельзя - попробуйте поиграться с версиями OpenSSL'я и GOST engine, а равно попробуйте грузить ключ из файла, а не через engine. Если ничего из этого не поможет - стоит стучаться непосредственно к ребятам, занимающимся оной GOST engine. -- Maxim Dounin http://mdounin.ru/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru