Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.01.2017(UTC) Сообщений: 30 Откуда: moscow Сказал(а) «Спасибо»: 2 раз
|
Здравствуйте! Установил на сервере тестовый сертификат под root-ом. Добился нормальной работы nginx + openssl engine И тут я понял, что допустил большую ошибку устанавливая сертификаты для пользователя root, т.к. nginx, apache и php(а я планирую использовать phpcades) работают из под пользователя www-data В общем удалил сертификат и контейнер для root сделал новый для пользователя www-data. Прописал его в nginx, но последний отказывается запускаться Код:nginx: [emerg] ENGINE_load_private_key("csp.nodomain.me") failed (SSL: error:8006D06E:lib(128):CAPI_OPEN_STORE:error opening store error:26096080:engine routines:ENGINE_load_private_key:failed loading private key)
О себе
Хост: https://csp.nodomain.me/ОС:Код:www-data@csp:~# uname -a
Linux csp 2.6.32-042stab120.11 #1 SMP Wed Nov 16 12:05:45 MSK 2016 x86_64 GNU/Linux
Установленные пакетыКод:
www-data@csp:~# dpkg -l | grep csp
ii cprocsp-cpopenssl-gost-64 4.0.0-4 amd64 OpenSSL capi_gost engine. Build 9842.
ii cprocsp-curl-64 4.0.0-4 amd64 CryptoPro Curl shared library and binaris. Build 9842.
ii cprocsp-pki-cades 2.0.0-1 amd64 CryptoPro PKI
ii lsb-cprocsp-base 4.0.0-4 all CryptoPro CSP library. Build 9842.
ii lsb-cprocsp-capilite-64 4.0.0-4 amd64 CryptoAPI lite. Build 9842.
ii lsb-cprocsp-devel 5.0.0-5 all CryptoPro CSP static libraries and headers. Build 10579.
ii lsb-cprocsp-kc1-64 4.0.0-4 amd64 CryptoPro CSP library. Build 9842.
ii lsb-cprocsp-kc2-64 4.0.0-4 amd64 CryptoPro CSP KC2. Build 9842.
ii lsb-cprocsp-rdr-64 4.0.0-4 amd64 CryptoPro CSP readers. Build 9842.
OpenSSL:Код:
www-data@csp:~# openssl version
OpenSSL 1.0.1t 3 May 2016
www-data@csp:~# openssl engine
(rsax) RSAX engine support
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gost_capi) CryptoPro ENGINE GOST CAPI ($Revision: 147820 $)
www-data@csp:~# openssl ciphers | tr ":" "\n" | grep GOST
GOST2001-GOST89-GOST89
nginx собран из репо https://github.com/deemru/nginxКод:
www-data@csp:~# nginx -V
nginx version: nginx/1.10.3
built by gcc 4.9.2 (Debian 4.9.2-10)
built with OpenSSL 1.0.1t 3 May 2016
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_v2_module --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' --with-ld-opt=-Wl,-z,relro
Конфиг nginxКод:
ssl on;
ssl_certificate "/home/certs/csp.nodomain.me.cer.pem";
ssl_certificate_key engine:gost_capi:csp.nodomain.me;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1;
ssl_ciphers HIGH:MEDIUM:+GOST2001-GOST89;
ssl_prefer_server_ciphers on;
/root/csp.nodomain.me.cer.pem - получил путем экспорта Код:certmgr -export -store uMy -dest /home/certs/csp.nodomain.me.cer
openssl x509 -inform DER -outform PEM -in /root/csp.nodomain.me.cer -out /root/csp.nodomain.me.cer.pem
Получил тествый сертификат, установил его. Код:
www-data@csp:~$ certmgr -list
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : CN=csp.nodomain.me
Serial : 0x12001A7F1C2F8E2F3A94AC70190000001A7F1C
SHA1 Hash : 0xcc5b3d80742e974252d3958f5631703cf4474131
SubjKeyID : 4a4f835942097e1cf08c6e653922db4f87b01849
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 14/03/2017 13:27:55 UTC
Not valid after : 14/06/2017 13:37:55 UTC
PrivateKey Link : Yes
Container : HDIMAGE\\www-data.000\EFAE
Provider Name : Crypto-Pro GOST R 34.10-2001 KC2 CSP
Provider Info : ProvType: 75, KeySpec: 1, Flags: 0x0
CA cert URL : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt
OCSP URL : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl
Extended Key Usage : 1.3.6.1.5.5.7.3.1
=============================================================================
[ErrorCode: 0x00000000]
Подскажите, пожалуйста, куда копать? Спасибо!
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: stufford В общем удалил сертификат и контейнер для root сделал новый для пользователя www-data. Прописал его в nginx, но последний отказывается запускаться Код:nginx: [emerg] ENGINE_load_private_key("csp.nodomain.me") failed (SSL: error:8006D06E:lib(128):CAPI_OPEN_STORE:error opening store error:26096080:engine routines:ENGINE_load_private_key:failed loading private key)
В своём первом сообщении вы написали: "Подпись файл проходит успешно", от пользователя www-data тоже проверили? Не совсем понятно как nginx связан с apache и php, никто не мешает nginx работать от root и быть прокси для них. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.01.2017(UTC) Сообщений: 30 Откуда: moscow Сказал(а) «Спасибо»: 2 раз
|
Автор: pd В своём первом сообщении вы написали: "Подпись файл проходит успешно", от пользователя www-data тоже проверили?
Нет, проверял только под рутом. Автор: pd Не совсем понятно как nginx связан с apache и php, никто не мешает nginx работать от root и быть прокси для них.
Это понятно, но решил все делать правильно. В любом случае нужно было забирать сертификаты из под рута, т.к. апач под рутом работать не будет.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.01.2017(UTC) Сообщений: 30 Откуда: moscow Сказал(а) «Спасибо»: 2 раз
|
Попробовал подписать файл под пользователем www-data - получилось!Код:
www-data@csp:/home/certs$ openssl cms -sign -engine gost_capi -keyform ENGINE -inkey csp.nodomain.me -in "TEST.txt" -out "TEST.signed.txt" -outform PEM -CAfile csp.nodomain.me.cer.pem -nodetach -signer csp.nodomain.me.cer.pem
engine "gost_capi" set.
unable to write 'random state'
www-data@csp:/home/certs$ ls -lah
total 24K
drwxr-xr-x 2 www-data www-data 4.0K Mar 14 17:38 .
drwxr-xr-x 5 root root 4.0K Mar 14 16:40 ..
-rw-r--r-- 1 www-data www-data 1.9K Mar 14 17:38 TEST.signed.txt
-rw-r--r-- 1 www-data www-data 7 Mar 14 17:37 TEST.txt
-rw-r--r-- 1 www-data www-data 780 Mar 14 16:41 csp.nodomain.me.cer
-rw-r--r-- 1 www-data www-data 1.1K Mar 14 16:41 csp.nodomain.me.cer.pem
www-data@csp:/home/certs$ cat TEST.signed.txt
-----BEGIN CMS-----
MIIFSAYJKoZIhvcNAQcCoIIFOTCCBTUCAQExDDAKBgYqhQMCAgkFADAXBgkqhkiG
9w0BBwGgCgQIMTIzMzIxDQqgggMMMIIDCDCCAregAwIBAgITEgAafxwvji86lKxw
GQAAABp/HDAIBgYqhQMCAgMwfzEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBjcnlw
dG9wcm8ucnUxCzAJBgNVBAYTAlJVMQ8wDQYDVQQHEwZNb3Njb3cxFzAVBgNVBAoT
DkNSWVBUTy1QUk8gTExDMSEwHwYDVQQDExhDUllQVE8tUFJPIFRlc3QgQ2VudGVy
IDIwHhcNMTcwMzE0MTMyNzU1WhcNMTcwNjE0MTMzNzU1WjAaMRgwFgYDVQQDDA9j
c3Aubm9kb21haW4ubWUwYzAcBgYqhQMCAhMwEgYHKoUDAgIkAAYHKoUDAgIeAQND
AARA44iWkjG619cpfRcdYHAJy1Udzrb6PVD75jCo0EhPoCZE/tshZPAiZYVJFqG+
5n6NEP8cxdnxZ6xLskdXdxrXbKOCAW0wggFpMBMGA1UdJQQMMAoGCCsGAQUFBwMB
MAsGA1UdDwQEAwIEMDAdBgNVHQ4EFgQUSk+DWUIJfhzwjG5lOSLbT4ewGEkwHwYD
VR0jBBgwFoAUFTF8sI0a3mbXFZxJUpcXJLkBeoMwWQYDVR0fBFIwUDBOoEygSoZI
aHR0cDovL3Rlc3RjYS5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9DUllQVE8tUFJP
JTIwVGVzdCUyMENlbnRlciUyMDIuY3JsMIGpBggrBgEFBQcBAQSBnDCBmTBhBggr
BgEFBQcwAoZVaHR0cDovL3Rlc3RjYS5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90
ZXN0LWNhLTIwMTRfQ1JZUFRPLVBSTyUyMFRlc3QlMjBDZW50ZXIlMjAyLmNydDA0
BggrBgEFBQcwAYYoaHR0cDovL3Rlc3RjYS5jcnlwdG9wcm8ucnUvb2NzcC9vY3Nw
LnNyZjAIBgYqhQMCAgMDQQBvmMM2OMPUOu1fOzNJD0lEixcyXnf8C5vI6c63Pef1
Gz7aqwEqhbWU8kcTdZfyATicm3bAQlMNARWystUODHJtMYIB9zCCAfMCAQEwgZYw
fzEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBjcnlwdG9wcm8ucnUxCzAJBgNVBAYT
AlJVMQ8wDQYDVQQHEwZNb3Njb3cxFzAVBgNVBAoTDkNSWVBUTy1QUk8gTExDMSEw
HwYDVQQDExhDUllQVE8tUFJPIFRlc3QgQ2VudGVyIDICExIAGn8cL44vOpSscBkA
AAAafxwwCgYGKoUDAgIJBQCggfowGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
BgkqhkiG9w0BCQUxDxcNMTcwMzE0MTQzODEzWjAvBgkqhkiG9w0BCQQxIgQgahig
bArHYziswtm9z6wF+GqMHS1Xazn7Go8VRFPlaiMwgY4GCSqGSIb3DQEJDzGBgDB+
MAsGCWCGSAFlAwQBKjAIBgYqhQMCAgkwCAYGKoUDAgIVMAsGCWCGSAFlAwQBFjAL
BglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3
DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMAoGBiqFAwICEwUABEBCMozE
atGObKg6warfBium9Ejsodr3V8Ctyh2mtUH3si8QNaNUWMPDOhaZXbcWqRj/qJut
jaE9CgWsw9KfiJ9B
-----END CMS-----
www-data@csp:/home/certs$
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: stufford Попробовал подписать файл под пользователем www-data - получилось! Этот пункт FAQ выполняется? "Пользователь рабочих потоков nginx не должен отличаться от пользователя запускающего nginx (см. user)" Отредактировано пользователем 14 марта 2017 г. 17:51:12(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.01.2017(UTC) Сообщений: 30 Откуда: moscow Сказал(а) «Спасибо»: 2 раз
|
Автор: pd Этот пункт FAQ выполняется? "Пользователь рабочих потоков nginx не должен отличаться от пользователя запускающего nginx (см. user)" Сейчас уже не вижу, т.к. nginx не стартует ) но до этого master запускался под rootworker - под www-dataв конфиге nginx Отредактировано пользователем 14 марта 2017 г. 17:55:02(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: stufford но до этого master запускался под root worker - под www-data FAQ по настройке существует не просто так. В вашем случае пользователь root не имеет доступа к закрытым ключам www-data, именно поэтому пользователи должны совпадать. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.01.2017(UTC) Сообщений: 30 Откуда: moscow Сказал(а) «Спасибо»: 2 раз
|
Автор: pd В вашем случае пользователь root не имеет доступа к закрытым ключам www-data, именно поэтому пользователи должны совпадать.
Так.. :) Ткните носом, пожалуйста, как запустить мастер nginx от www-data?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: stufford Автор: pd В вашем случае пользователь root не имеет доступа к закрытым ключам www-data, именно поэтому пользователи должны совпадать.
Так.. :) Ткните носом, пожалуйста, как запустить мастер nginx от www-data? Запустите nginx не как сервис, а просто как приложение от пользователя www-data. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.01.2017(UTC) Сообщений: 30 Откуда: moscow Сказал(а) «Спасибо»: 2 раз
|
Автор: pd Запустите nginx не как сервис, а просто как приложение от пользователя www-data. Не хочет без рута..You cannot open privileged ports (<=1024) as non-root Код:www-data@csp:/home/certs$ /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:2
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
Отредактировано пользователем 14 марта 2017 г. 18:40:57(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close