Paypal OpenSSL 1.0.1 обновление

688
Niko Zarzani

Я пытаюсь обновить библиотеки openssl на сервере OpenSuse 11.4, чтобы они могли соответствовать новым стандартам безопасности Paypal ( https://www.paypal-knowledge.com/infocenter/index?page=content&widgetview=true&id=FAQ1914&viewlocale=en_US ) ,

Ранее у меня была установлена ​​эта версия openssl:

openssl version OpenSSL 1.0.0c 2 Dec 2010 

Я проверил наличие обновлений:

zypper update openssl Loading repository data... Warning: Repository 'Updates for openSUSE 11.4 11.4-0' appears to outdated. Consider using a different mirror or server. Reading installed packages... No update candidate for 'openssl-1.0.0c-18.42.1.x86_64'. The highest available version is already installed. Resolving package dependencies... 

Поскольку zypper не смог найти новую версию openssl, я добавил репо Evergreen:

sudo zypper ar --refresh -r http://download.opensuse.org/evergreen/11.4/openSUSE:Evergreen:11.4.repo Adding repository 'Evergreen update repository for openSUSE 11.4 (standard)' [done] Repository 'Evergreen update repository for openSUSE 11.4 (standard)' successfully added Enabled: Yes Autorefresh: Yes URI: http://download.opensuse.org/repositories/openSUSE:/Evergreen:/11.4/standard/ 

Затем я сделал обновление хранилищ:

zypper refresh Repository 'Updates for openSUSE 11.4 11.4-0' is up to date. Retrieving repository 'Evergreen update repository for openSUSE 11.4 (standard)' metadata [\]  New repository or package signing key received: Key ID: 241B84B36A0F1588 Key Name: openSUSE:Evergreen OBS Project <openSUSE:Evergreen@build.opensuse.org> Key Fingerprint: D25EAF514D59C654B9BCE005241B84B36A0F1588 Key Created: Fri 15 May 2015 03:33:05 PM CEST Key Expires: Sun 23 Jul 2017 03:33:05 PM CEST Repository: Evergreen update repository for openSUSE 11.4 (standard)  Do you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r): a Retrieving repository 'Evergreen update repository for openSUSE 11.4 (standard)' metadata [done] Building repository 'Evergreen update repository for openSUSE 11.4 (standard)' cache [done] Repository 'openSUSE-11.4-Non-Oss' is up to date. Repository 'openSUSE-11.4-Oss' is up to date. All repositories have been refreshed. 

и, наконец, обновление openssl:

zypper update openssl Loading repository data... Warning: Repository 'Updates for openSUSE 11.4 11.4-0' appears to outdated. Consider using a different mirror or server. Warning: Repository 'Evergreen update repository for openSUSE 11.4 (standard)' appears to outdated. Consider using a different mirror or server. Reading installed packages... Resolving package dependencies...  The following package is going to be upgraded: openssl   1 package to upgrade. Overall download size: 541.0 KiB. After the operation, additional 77.0 KiB will be used. Continue? [y/n/?] (y): y Retrieving package openssl-1.0.1p-74.1.x86_64 (1/1), 541.0 KiB (1.3 MiB unpacked) Retrieving: openssl-1.0.1p-74.1.x86_64.rpm [done (844.4 KiB/s)] Installing: openssl-1.0.1p-74.1 [done] 

Я перезапустил apache:

/etc/init.d/apache2 restart Syntax OK Shutting down httpd2 (waiting for all children to terminate) done Starting httpd2 (prefork) 

И проверил соответствие Paypal:

php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));' bool(false) string(67) "Unknown SSL protocol error in connection to tlstest.paypal.com:443 " 

Версия openssl теперь показывает мне «(Библиотека: OpenSSL 1.0.0c 2 декабря 2010 г.)»:

openssl version -a OpenSSL 1.0.1p 9 Jul 2015 (Library: OpenSSL 1.0.0c 2 Dec 2010) built on: 2012-05-23 05:01:20.000000000 +0000 platform: linux-x86_64 options: bn(64,64) rc4(1x,char) des(idx,cisc,16,int) blowfish(idx)  compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wa,--noexecstack -fomit-frame-pointer -fno-strict-aliasing -DTERMIO -DPURIFY -Wall -fstack-protector -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM OPENSSLDIR: "/etc/ssl" 

Кажется, что openssl был обновлен, но все еще использует старую библиотеку 1.0.0 ... есть идеи, как это исправить, чтобы система соответствовала последним стандартам безопасности Paypal 2016 года?

3

1 ответ на вопрос

3
Michael D

Я думаю, что проблема в том, что ваша установка Apache не может связать общие библиотеки вашей новой установки OpenSSL. Запустите команду ldd /usr/local/apache/modules/mod_ssl.so(с соответствующим путем к вашему mod_ssl.so). Вы увидите, что mod_ssl.so не ссылается на библиотеки в/usr/local/ssl/lib

У вас есть несколько вариантов решения проблемы:

Вариант № 1 - Ссылка в библиотеках:

Откройте /etc/ld.so.conf.d/local.confдля редактирования и добавьте следующую строку:/usr/local/openssl/lib

Перекомпилируйте Apache (не забудьте make clean), и он должен работать.

Если это не сработает. Вы также можете попробовать указать LDFLAGSнапрямую с помощью вашей configureкоманды:

LDFLAGS=-L/usr/local/ssl/lib \ ./configure --with-included-apr --prefix=/usr/local/apache2 --enable-so  --enable-rewrite --with-ssl=/usr/local/ssl --enable-ssl=shared --enable-deflate --enable-expires --enable-headers 

Вариант № 2 - Обновление системы OpenSSL:

Переустановите OpenSSL с помощью строки конфигурации ./config --prefix=/usr --openssldir=/usr/local/openssl shared

Если префикс не указан в строке конфигурации, установщик OpenSSL по умолчанию будет иметь значение /usr/local/ssl.

Инструкции по быстрой установке:

cd /usr/local/src wget https://www.openssl.org/source/openssl-1.0.2-latest.tar.gz tar -zxf openssl-1.0.2* cd openssl-1.0.2* ./config --prefix=/usr --openssldir=/usr/local/openssl shared make make test make install 

Похожие вопросы