[解決済み] SSL 操作に失敗(コード 1:DH キーが小さすぎる)。
質問
データベースであるGoogle Cloud SQLにSSLで接続しています。この機能を実現するためにmysqliドライバが少し変更されていますが、codeigniter 3.0を使用してそうしています。
数ヶ月間、うまくいっています。しかし ただ がこの警告を返すようになりました。
Message: mysqli::real_connect(): SSL operation failed with code 1. OpenSSL Error messages: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
想定しているのは
DH Key is too small
が主な問題なのですが、その意味が全くわかりません。Diffie-Hellmanの鍵交換と、"key too small"というメッセージでググってみましたが、あまりヒットしませんね。
これは、サーバーの鍵が改ざんされたサインなのでしょうか?最終更新日を確認したところ、最近の異常なアクセスはありませんでした。
私のサーバーがPHPのバージョンアップをしたとか、サーバーの設定が変わったとかで、壊れたのかもしれませんが、他に原因がないかを確認したかったのです。
この件に関する洞察/読み物をありがとうございました。
どのように解決するのですか?
<ブロッククオート... error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
気になるエラー番号は、OpenSSLエラー0x14082174です。
は
SSL3_CHECK_CERT_AND_ALGORITHM
は通常、エクスポートグレードの暗号を有効にしたときに表示されます。Logjam(下記参照)により、非エクスポートグレードのネゴシエーションで再び表示されることがあります。
<ブロッククオート
DH Key is too smallが主な問題だと思うのですが、その意味が全くわかりません。Diffie-Hellmanの鍵交換と、"key too small"というメッセージでググってみたのですが、あまりヒットしませんでした。
その原因は、最近の ログジャムアタック 論文より 不完全な前方秘匿。ディフィー・ヘルマンが実際にどのように失敗するか .
2048ビット以上のDiffie-Hellmanグループを使用する必要があります。また ない 512ビットまたは1024ビットのDiffie-Hellmanグループを使用していること。
最初に確認するのは、暗号リストの文字列です。似たようなものであるはずです。
"HIGH:!aNULL:!MD5:!RC4"
これは、輸出グレードの暗号を避け、最新の暗号を使用するものです。しかし、DHコールバックが弱い/小さいフィールドサイズを使用していないことも確認する必要があります。そのためには、サーバーの設定を確認する必要があります。
この問題を解決するために、一部の人々は
kRSA
.
kRSA
はキー
輸送
スキーム、キーではありません
合意
スキームを使用します。RSA鍵転送スキームは前方秘匿を提供しないため、通常、その使用は推奨されない。実際、TLS 1.3では削除される予定である。
としか言いようがない。 通常、推奨されません。 なぜなら、保護されるデータに依存するからです。もし、一般公開されているファイルのダウンロードを保護するためにSSL/TLSを使用しているなら、おそらく使用しても問題ないでしょう。あなたのウェブサイトにログインがある場合、パスワードは(一般にダウンロード可能なファイルとは異なり)秘密のデータであるため、それを使用するのは少し危険でしょう。
キートランスポートを回避し、それらを渡すために Qualsys SSLラボ を使用して、Web サーバーの設定と前方秘匿のテストを行います。
"HIGH:!aNULL:!kRSA:!MD5:!RC4"
Apacheの設定ファイルでは、次のようになります。
# cat /etc/httpd/conf.d/ssl.conf | grep SSLCipherSuite
# SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCipherSuite HIGH:!aNULL:!kRSA:!MD5:!RC4
思い出すのは
wget
論文発表のかなり前から小集団を拒否していた。あなたのサイトの良いテストケースになるかもしれませんね。
また、改良された sslscan このテストでは、さまざまなことをテストします。これも良いQAツールになるかもしれませんね。
関連
-
[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み】変な電話番号を生成するフェイカー?
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: バインドされた変数の数が102行目のトークンの数と一致しない [終了]
-
[解決済み】stdClassクラスのオブジェクトが文字列に変換されない。
-
[解決済み] 入力ファイルが指定されていない
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。
-
[解決済み】file_get_contents(): SSL 操作にコード 1 で失敗した、暗号を有効にするのに失敗した
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み] php5パッケージのインストール候補がない (Ubuntu 16.04)
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み】PHPの予期しないT_VARIABLEとは何ですか?
-
[解決済み] PHP と mod_fcgid: handle_request_ipc 関数で ap_pass_brigade が失敗する。
-
[解決済み] PHP product.php?id=1 のような URL を作成する方法