Rozwiązanie nieznanej listy szyfrów Magento Downloader 1.9.2

35

Naprawiliśmy to, komentując linię 377 wdownloader/lib/Mage/HTTP/Client/Curl.php

//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1')

Może być ustawienie, które pozwala to przejść, ale nie zaszliśmy tak daleko.

Marty
źródło
3
Naprawdę powinieneś naprawić swój serwer WWW.
zyskuje
Próbowałem tego; nie działało Użyłem też innych rozwiązań i nic nie rozwiązało tego. Jakieś pomysły?
harley_woop
zadziałało dla mnie.
Bikram Shrestha
@benmarks To właściwie błąd w Magento, który oczekuje curl / openssl zamiast curl / nss ... patrz poniżej
Ray Foss

Odpowiedzi:

15

Są dwie rzeczy, które prawdopodobnie to spowodują.

  1. Nie używasz OpenSSL
  2. Twoja kompilacja OpenSSL jest nieaktualna

Aby rozwiązać 1.

Sprawdź, czy nie korzystasz z OpenSSL,

php -r "print_r(curl_version());" | grep ssl_version

Jeśli wyświetla coś innego niż OpenSSL - to twoja odpowiedź. Rozwiązaniem byłoby usunięcie / skomentowanie danego wiersza.


Aby rozwiązać 2.

Wygląda na to, że Twoja biblioteka OpenSSL jest nieaktualna.

Na przykład. Typowy serwer sieciowy pokazuje,

openssl ciphers | tr ':' '\n'
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
SRP-DSS-AES-256-CBC-SHA
SRP-RSA-AES-256-CBC-SHA
SRP-AES-256-CBC-SHA
DHE-DSS-AES256-GCM-SHA384
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-DSS-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-DSS-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
DHE-DSS-CAMELLIA256-SHA
ECDH-RSA-AES256-GCM-SHA384
ECDH-ECDSA-AES256-GCM-SHA384
ECDH-RSA-AES256-SHA384
ECDH-ECDSA-AES256-SHA384
ECDH-RSA-AES256-SHA
ECDH-ECDSA-AES256-SHA
AES256-GCM-SHA384
AES256-SHA256
AES256-SHA
CAMELLIA256-SHA
PSK-AES256-CBC-SHA
ECDHE-RSA-DES-CBC3-SHA
ECDHE-ECDSA-DES-CBC3-SHA
SRP-DSS-3DES-EDE-CBC-SHA
SRP-RSA-3DES-EDE-CBC-SHA
SRP-3DES-EDE-CBC-SHA
EDH-RSA-DES-CBC3-SHA
EDH-DSS-DES-CBC3-SHA
ECDH-RSA-DES-CBC3-SHA
ECDH-ECDSA-DES-CBC3-SHA
DES-CBC3-SHA
PSK-3DES-EDE-CBC-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES128-SHA
SRP-DSS-AES-128-CBC-SHA
SRP-RSA-AES-128-CBC-SHA
SRP-AES-128-CBC-SHA
DHE-DSS-AES128-GCM-SHA256
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-DSS-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-DSS-AES128-SHA
DHE-RSA-SEED-SHA
DHE-DSS-SEED-SHA
DHE-RSA-CAMELLIA128-SHA
DHE-DSS-CAMELLIA128-SHA
ECDH-RSA-AES128-GCM-SHA256
ECDH-ECDSA-AES128-GCM-SHA256
ECDH-RSA-AES128-SHA256
ECDH-ECDSA-AES128-SHA256
ECDH-RSA-AES128-SHA
ECDH-ECDSA-AES128-SHA
AES128-GCM-SHA256
AES128-SHA256
AES128-SHA
SEED-SHA
CAMELLIA128-SHA
PSK-AES128-CBC-SHA
ECDHE-RSA-RC4-SHA
ECDHE-ECDSA-RC4-SHA
ECDH-RSA-RC4-SHA
ECDH-ECDSA-RC4-SHA
RC4-SHA
RC4-MD5
PSK-RC4-SHA
EDH-RSA-DES-CBC-SHA
EDH-DSS-DES-CBC-SHA
DES-CBC-SHA
EXP-EDH-RSA-DES-CBC-SHA
EXP-EDH-DSS-DES-CBC-SHA
EXP-DES-CBC-SHA
EXP-RC2-CBC-MD5
EXP-RC4-MD5

Co openssl versionpokazuje

Wygląda na to, że musisz zaktualizować bibliotekę SSL z innych powodów niż sam (tj. Wiele ujawnionych luk w starych bibliotekach).

Ben Lessani - Sonassi
źródło
1
Hej, nominuj @bena na wybory moderatora tutaj. Czuję, że zasługujesz na to.
dh47,
7

Zapytałem Nexcess (odnosząc się do tego postu) i dostałem odpowiedź:

Znaleziona strona jest rzeczywiście poprawna. Widywaliśmy to bardzo często dzięki nowej aktualizacji. Stało się tak, że Magento zaktualizowało jakiś kod, aby był bardziej bezpieczny, ale przyjęli założenie, że curl zostanie skompilowany z bibliotekami SSL, które mogą sprawdzać za pomocą niektórych poleceń.

Niestety, serwery RedHat i CentOS (których używamy) mają cURL skompilowany z NSS, który zapewnia bezpieczeństwo bez niektórych dziur, z którymi OpenSSL miał problemy. Efektem ubocznym jest to, że kontrola, którą robi Magento, nie wysyła właściwego pytania i otrzymuje odpowiedź „nieznaną”.

Komentowanie linii, o której wspomniano w Solution to Magento Downloader 1.9.2, lista nieznanych szyfrów sprawiło, że do tej pory wszyscy się na to poradzili. Plotka głosi, że Magento wkrótce zajmie się tym nadzorem.

Brendan Falkowski
źródło
Mam również ten problem z Nexcess (25 września 2015 r.) - Nadal nie działa
brentwpeterson
Sprawdziłem mój bilet i myślę, że skomentowanie tej linii zadziałało (dla mnie), ponieważ tam właśnie zakończył się wątek. Od tamtej pory nie próbowałem nowej instalacji.
Brendan Falkowski
Link nie działa, po prostu przekierowuje do tego miejsca. Prawidłowy link to magento.stackexchange.com/a/73957/5209
mbalparda
to powinno działać, ale martwiłbym się tym, że zostanie to nadpisane w aktualizacji. Masz problem z zespołem deweloperów Magento?
Eirik,
Nie używam już narzędzi ./mage do aktualizacji Magento. To była moja ulubiona metoda przez długi czas, ale konsekwentnie nie zapisuje wszystkich plików zawartych w wydaniu z powodu różnych problemów z systemem operacyjnym / biblioteką / uprawnieniami. Za każdym razem robię opcję jądrową w systemie plików, ponieważ jest to niezawodne: manuals.gravitydept.com/platforms/magento/update
Brendan Falkowski
5

na naszym serwerze Centos 6, NSS jest aktualne w tym wydaniu, ale nie w ostatnim. inne rozwiązania linia komentująca, linia dodająca nie działają. jedynym rozwiązaniem, które działa, jest wymuszenie https na false poprzez dodanie linii

$https = false;

przed linią

$uriModified = $this->getModifiedUri($uri, $https);

i komentowanie

$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');

Działa dla nas na Magento 1.9.2.4.

Aurelien
źródło
4

W wersji 1.9.2.3 użyj następującego linku 370 downloader / lib / Mage / HTTP / Client / Curl.php:

$uriModified = $this->getModifiedUri($uri, $https);
$this->_ch = curl_init();
$this->curlOption(CURLOPT_URL, $uriModified);
$this->curlOption(CURLOPT_SSL_VERIFYPEER, false);
//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
$this->curlOption(CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
$this->getCurlMethodSettings($method, $params, $isAuthorizationRequired);

Sprawdź skomentowane fragmenty i nowy wiersz tuż pod nim

ShaunOReilly
źródło
2

@ben jest jeszcze jeden przypadek podrzędny w 1. Komentowanie samej linii może nie działać, jeśli curl i nss nie są nieaktualne.

Jeśli nie jest budowany z openssl, curl może być budowany przy pomocy nss (CentOS / RHEL curl). Upewnij się, że biblioteki curl i nss są zaktualizowane.

Pradip Shah
źródło
Zgadzam się, w przypadku starszych serwerów / usług miało to miejsce w przypadku Magento 1. Aktualizacja systemu nie zawsze jest praktyczna (patrz na przykład serwery cPanel)
MartyS