Magento Downloader 1.9.2の不明な暗号リストのソリューション


35

377行目をコメントアウトすることでこれを修正しましたdownloader/lib/Mage/HTTP/Client/Curl.php

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

これを通過させる設定があるかもしれませんが、そこまでは到達しませんでした。


3
Webサーバーを本当に修正する必要があります。
ベンマーク

私はこれを試しました。うまくいきませんでした。他のソリューションについても使用しましたが、それを解決するものはありませんでした。何か案は?
harley_woop

それは私のために働いた。
ビクラムシュレスタ

それは実際に代わりカール/ NSS ...以下を参照のカール/ opensslのを期待してMagentoののバグだ@benmarks
レイ・フォス

回答:


15

これを引き起こす可能性が高い2つのことがあります。

  1. OpenSSLを使用していません
  2. OpenSSLビルドが古くなっています

解決するには1。

OpenSSLを使用していないことを確認してください。

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

OpenSSL以外のものが表示される場合-それがあなたの答えです。解決策は、問題の行を削除/コメントすることです。


解決する2。

OpenSSLライブラリが古いようです。

例えば。典型的なWebサーバーは、

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

何がopenssl version表示されますか?

SSLライブラリをアップグレードする必要があるように思えますが、これだけではありません(つまり、古いライブラリの複数の公開された脆弱性)。


1
ここで @benがモデレーター選挙にノミネートしました。あなたにふさわしいと感じています。
dh47

7

私はNexcessに尋ねて(この投稿を参照)、この答えを得ました:

見つけたページは実際には正しいです。これは新しいアップデートでよく見られます。起こったのは、Magentoがいくつかのコードをより安全にするために更新したが、特定のコマンドでチェックできるSSLライブラリに対してcurlがコンパイルされると仮定したことです。

残念ながら、RedHatおよびCentOSサーバー(使用している)には、NSSに対してコンパイルされたcURLがあります。これは、OpenSSLが問題を抱えていたいくつかの穴のないセキュリティを提供します。これの副作用は、Magentoが行っているチェックが正しい質問を送信せず、「不明な」応答を受け取ることです。

これまでのところ、Magento Downloader 1.9.2の不明な暗号リストの解決策で言及されている行をコメントアウトすることで、 このトリックを実行できました。噂によると、Magentoはこの見落としにすぐに対処します。


Nexcessでもこの問題が発生しました(2015年9月25日)-それでも動作しません
-brentwpeterson

私は自分のチケットをチェックしましたが、その行がコメントアウトされたと思います(私にとって)。それ以来、新しいインストールを試していません。
ブレンダンファルコフスキー

リンクは機能していないようで、ここにリダイレクトされます。正しいリンクはmagento.stackexchange.com/a/73957/5209
mbalparda

これは機能するはずですが、アップデートで上書きされるのではないかと心配しています。Magento開発チームでこれを盗聴しましたか?
エイリック

Magentoを更新するために./mageツールを使用しなくなりました。これは長い間私の好みの方法でしたが、OS /ライブラリ/許可の問題が異なるため、リリースに含まれるすべてのファイルの書き込みに一貫して失敗します。これは信頼性が高いため、ファイルシステムで毎回核オプションを実行します:manuals.gravitydept.com/platforms/magento/update
Brendan Falkowski

5

サーバーCentos 6では、NSSはこのリリースでは最新ですが、最後のリリースではありません。行にコメントする他のソリューション、行の追加は機能しません。動作する唯一の解決策は、行を追加してhttpsをfalseに強制することです

$https = false;

行の前

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

とコメント

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

1.9.2.4 Magentoで動作します。


4

1.9.2.3では、downloader / lib / Mage / HTTP / Client / Curl.php行370で次のように使用します。

$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);

コメントアウトされたビットとそのすぐ下の新しい行を確認してください


2

@benには1のサブケースがもう1つあります。curlとnssが古くない場合、行だけをコメント化しても機能しない場合があります。

opensslでビルドしない場合、nssでcurlをビルドできます(CentOS / RHEL curl)。curlおよびnssライブラリが最新であることを確認します。


同意します。古いサーバー/サービスでは、これはMagento 1の場合でした。システムを更新することは常に実用的ではありません(たとえばcPanelサーバーを参照)
MartyS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.