Как получить Amazon MySQL RDS-сертификаты
Документация Amazon RDS (http://aws.amazon.com/rds/faqs/#53) указывает, что "Amazon RDS генерирует сертификат SSL для каждого [MySQL] DB Instance". Я не смог найти документацию о том, как найти сертификаты, а сертификаты нигде не найдены в консоли управления.
Где находятся сертификаты?
Ответы
Ответ 1
Я нашел решение здесь: https://forums.aws.amazon.com/thread.jspa?threadID=62110.
curl -O https://s3.amazonaws.com/rds-downloads/mysql-ssl-ca-cert.pem
mysql -uusername -p --host=host --ssl-ca=mysql-ssl-ca-cert.pem
- Убедитесь, что ваше соединение действительно зашифровано:
mysql> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| Ssl_cipher | AES256-SHA |
+---------------+------------+
1 row in set (0.00 sec)
- Необязательно принудительно использовать SSL для конкретного пользователя для подключения к MySQL
mysql> ALTER USER 'username'@'host|%' REQUIRE SSL
Ответ 2
Я использовал http://aws-blog.io/2016/rds-over-ssl/
Вы должны получить root pem и pem для региона и объединить 2 файла в один. https://s3.amazonaws.com/rds-downloads/rds-ca-2015-us-west-2.pem https://s3.amazonaws.com/rds-downloads/rds-ca-2015-root.pem
И объедините файлы, чтобы иметь один файл rds-ca-2015-us-west-2-bundle.pem.
С помощью -ssl-ca укажите полный путь к файлу pem.
Ответ 3
Вы можете получить информацию о файле сертификата AWS RDS из самого руководства по документации AWS
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html
Загрузить сертификат здесь
https://rds.amazonaws.com/doc/mysql-ssl-ca-cert.pem
Обновление - Amazon обновил SSL-сертификат, вы можете скачать его здесь: http://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
Используйте следующую команду для входа в mysql
[email protected]:/usr/src# mysql -h awssathish.xxyyzz.eu-west-1.rds.amazonaws.com -u awssathish -p --ssl-ca=mysql-ssl-ca-cert.pem
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 5.6.13-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> GRANT USAGE ON *.* TO ‘awssathish’@’%’ REQUIRE SSL
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> show variables like "%ssl";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl | YES |
| have_ssl | YES |
+---------------+-------+
2 rows in set (0.00 sec)
mysql>
mysql> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| Ssl_cipher | AES256-SHA |
+---------------+------------+
1 row in set (0.01 sec)
mysql> exit
Bye
Где
awssathish.xxyyzz.eu-west-1.rds.amazonaws.com
- конечная точка RDS,
awssathish
- имя пользователя сервера rds