4

SSL を使用しない場合は、DB インスタンスに接続できると前置きします。

私はここでこのガイドに従っています

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Connect.html

db インスタンスが公開されていることを確認しました。

VPC のセキュリティ グループには、次のルールがあります。

Type Protocol Port Range Source
MySQL/Aurora (3306) TCP (6) 3306 my_ip_address/32
MySQL/Aurora (3306) TCP (6) 3306 sg-security_group_name

security_group_name は、EC2 クラスターのセキュリティ グループです。

aurora クラスターの cluser エンドポイントを使用しています。そして、ポートを削除しました。homebrew を使用してマシンに mysql をインストールしました。これは、ローカル マシン (macbook) から試しているコマンドです。

mysql -h blah-database-cluster.cluster-dfgdgfd.us-east-1.rds.amazonaws.com --ssl-ca=rds-ssl-ca-cert.pem --ssl-verify-server-cert

rds-ssl-ca-cert.pem は、ここからダウンロードしたファイルです。

http://s3.amazonaws.com/rds-downloads/rds-ssl-ca-cert.pem

エラーが発生します:

ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)

新しいインスタンスの作成、再起動などを試みましたが、喜びはありません。セキュリティ グループには何らかの https ルールが必要ですか?

編集:

さらに手がかり。ローカルで mysql --ssl を実行してもエラーにはなりません。しかし、mysql show_variables を実行すると、SSL false と表示され、have_ssl 変数と have_open_ssl 変数が存在しません。これが問題でしょうか?Mac用の自作パッケージマネージャーを介してローカルmysqlをインストールしました。

新しい編集:

(以前はbrewから)mysqlを再インストールし、現在はoracleから直接接続しようとしていますが、接続しようとすると別のエラーが発生します-SSL接続エラー:ASN:他の署名の確認が正しくありません

4

4 に答える 4

7
  1. 現在、AWS Aurora のドキュメントは、使用する古い SSL 証明書にリンクしているため、問題が発生しています。これは、AWS サポート スタッフによって確認されています。代わりにこれを使用してください: https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

  2. その証明書を使用している場合でも、SSL 経由でクラスター エンドポイントに接続しても、mysql -h 接続を使用したコマンド ラインでは機能しません。クラスターのエンドポイントからインスタンスのエンドポイントに変更すると、奇妙に機能します。

  3. 奇妙なことに、mysql ワークベンチはインスタンス エンドポイントとクラスター エンド ポイントの両方に ssl 経由で接続します。

于 2015-08-16T21:16:04.760 に答える
0

ドキュメントから、SSL 接続のインスタンス エンドポイントへの制限は、証明書に関連付けられたセキュリティ制約であるように見えます。

Amazon RDS は SSL 証明書を作成し、Amazon RDS がインスタンスをプロビジョニングするときに証明書を DB インスタンスにインストールします。これらの証明書は、認証局によって署名されています。SSL 証明書には、なりすまし攻撃から保護するために、SSL 証明書の共通名 (CN) として DB インスタンスエンドポイントが含まれています。その結果、DB クラスターエンドポイントを使用して、SSL を使用して DB クラスターのプライマリインスタンスに接続することはできません。

于 2015-12-07T03:43:46.080 に答える