Kể từ ngày 19 tháng 9 năm 2019, Amazon RDS đã xuất bản các chứng chỉ Tổ chức phát hành chứng chỉ [CA] mới để kết nối với cụm Aurora DB của bạn bằng Lớp cổng bảo mật hoặc Bảo mật lớp vận chuyển [SSL/TLS]. Sau đây, bạn có thể tìm thấy thông tin về việc cập nhật các ứng dụng của mình để sử dụng các chứng chỉ mới
Chủ đề này có thể giúp bạn xác định xem có bất kỳ ứng dụng khách nào sử dụng SSL/TLS để kết nối với các cụm DB của bạn không. Nếu có, bạn có thể kiểm tra thêm xem các ứng dụng đó có yêu cầu xác minh chứng chỉ để kết nối hay không
Một số ứng dụng được định cấu hình để chỉ kết nối với các cụm Aurora MySQL DB nếu chúng có thể xác minh thành công chứng chỉ trên máy chủ
Đối với các ứng dụng như vậy, bạn phải cập nhật các cửa hàng ủy thác ứng dụng khách của mình để bao gồm các chứng chỉ CA mới
Sau khi bạn cập nhật chứng chỉ CA của mình trong kho lưu trữ tin cậy của ứng dụng khách, bạn có thể xoay vòng chứng chỉ trên các cụm DB của mình. Chúng tôi thực sự khuyên bạn nên thử nghiệm các quy trình này trong môi trường phát triển hoặc dàn dựng trước khi triển khai chúng trong môi trường sản xuất của bạn
Để biết thêm thông tin về xoay vòng chứng chỉ, hãy xem Xoay vòng chứng chỉ SSL/TLS của bạn. Để biết thêm thông tin về cách tải xuống chứng chỉ, hãy xem Sử dụng SSL/TLS để mã hóa kết nối đến cụm DB. Để biết thông tin về cách sử dụng SSL/TLS với các cụm Aurora MySQL DB, hãy xem Sử dụng SSL/TLS với các cụm Aurora MySQL DB
Nếu bạn đang sử dụng Aurora MySQL phiên bản 2 [tương thích với MySQL 5. 7] và Lược đồ hiệu suất được bật, hãy chạy truy vấn sau để kiểm tra xem các kết nối có đang sử dụng SSL/TLS không. Để biết thông tin về cách kích hoạt Lược đồ Hiệu suất, hãy xem Khởi động nhanh Lược đồ Hiệu suất trong tài liệu MySQL
mysql> SELECT id, user, host, connection_type
FROM performance_schema.threads pst
INNER JOIN information_schema.processlist isp
ON pst.processlist_id = isp.id;
Trong kết quả mẫu này, bạn có thể thấy cả phiên của chính mình [_______15] và ứng dụng đăng nhập bằng tên
+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
6 đang sử dụng SSL+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
Nếu bạn đang sử dụng Aurora MySQL phiên bản 1 [tương thích với MySQL 5. 6], thì bạn không thể xác định từ phía máy chủ xem các ứng dụng đang kết nối có hay không có SSL. Đối với những phiên bản đó, bạn có thể xác định xem SSL có được sử dụng hay không bằng cách kiểm tra phương thức kết nối của ứng dụng. Bạn có thể tìm thêm thông tin về kiểm tra cấu hình kết nối máy khách trong phần sau
Bạn có thể kiểm tra xem máy khách JDBC và máy khách MySQL có yêu cầu xác minh chứng chỉ để kết nối hay không
Ví dụ sau với MySQL Connector/J 8. 0 chỉ ra một cách để kiểm tra các thuộc tính kết nối JDBC của ứng dụng để xác định xem các kết nối thành công có yêu cầu chứng chỉ hợp lệ hay không. Để biết thêm thông tin về tất cả các tùy chọn kết nối JDBC cho MySQL, hãy xem Thuộc tính cấu hình trong tài liệu MySQL
Khi sử dụng Trình kết nối MySQL/J 8. 0, kết nối SSL yêu cầu xác minh đối với chứng chỉ CA của máy chủ nếu thuộc tính kết nối của bạn có
+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
0 được đặt thành +----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
1 hoặc +----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
2, như trong ví dụ sauProperties properties = new Properties[];
properties.setProperty["sslMode", "VERIFY_IDENTITY"];
properties.put["user", DB_USER];
properties.put["password", DB_PASSWORD];
Nếu bạn sử dụng MySQL Java Connector v5. 1. 38 trở lên hoặc MySQL Java Connector v8. 0. 9 trở lên để kết nối với cơ sở dữ liệu của bạn, ngay cả khi bạn chưa định cấu hình rõ ràng các ứng dụng của mình để sử dụng SSL/TLS khi kết nối với cơ sở dữ liệu của mình, các trình điều khiển máy khách này mặc định sử dụng SSL/TLS. Ngoài ra, khi sử dụng SSL/TLS, họ thực hiện xác minh một phần chứng chỉ và không kết nối được nếu chứng chỉ máy chủ cơ sở dữ liệu hết hạn
Các ví dụ sau với Máy khách MySQL hiển thị hai cách để kiểm tra kết nối MySQL của tập lệnh để xác định xem các kết nối thành công có yêu cầu chứng chỉ hợp lệ hay không. Để biết thêm thông tin về tất cả các tùy chọn kết nối với Máy khách MySQL, hãy xem Cấu hình phía máy khách cho các kết nối được mã hóa trong tài liệu MySQL
Khi sử dụng MySQL 5. 7 hoặc MySQL 8. 0 Máy khách, kết nối SSL yêu cầu xác minh đối với chứng chỉ CA của máy chủ nếu đối với tùy chọn
+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
3, bạn chỉ định +----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
1 hoặc +----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
2, như trong ví dụ saumysql -h mysql-database.rds.amazonaws.com -uadmin -ppassword --ssl-ca=/tmp/ssl-cert.pem --ssl-mode=VERIFY_CA
Khi sử dụng MySQL 5. 6 Máy khách, kết nối SSL yêu cầu xác minh đối với chứng chỉ CA của máy chủ nếu bạn chỉ định tùy chọn
+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
6, như trong ví dụ sau+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
1Để biết thông tin về cách cập nhật kho tin cậy cho các ứng dụng MySQL, hãy xem Cài đặt chứng chỉ SSL trong tài liệu MySQL
Khi bạn cập nhật cửa hàng tin cậy, bạn có thể giữ lại các chứng chỉ cũ hơn ngoài việc thêm các chứng chỉ mới
Bạn có thể cập nhật kho tin cậy cho các ứng dụng sử dụng JDBC cho các kết nối SSL/TLS
Để biết thông tin về cách tải xuống chứng chỉ gốc, hãy xem Sử dụng SSL/TLS để mã hóa kết nối tới cụm DB
Đối với tập lệnh mẫu nhập chứng chỉ, hãy xem Tập lệnh mẫu để nhập chứng chỉ vào cửa hàng tin cậy của bạn
Nếu bạn đang sử dụng trình điều khiển mysql JDBC trong một ứng dụng, hãy đặt các thuộc tính sau trong ứng dụng
+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
2Khi bạn khởi động ứng dụng, hãy đặt các thuộc tính sau
+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
3Ví dụ mã sau đây cho biết cách thiết lập kết nối SSL xác thực chứng chỉ máy chủ bằng JDBC
+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set [0.00 sec]
4Sau khi bạn đã xác định rằng các kết nối cơ sở dữ liệu của mình sử dụng SSL/TLS và đã cập nhật cửa hàng tin cậy ứng dụng của mình, bạn có thể cập nhật cơ sở dữ liệu của mình để sử dụng chứng chỉ rds-ca-2019. Để biết hướng dẫn, hãy xem bước 3 trong Cập nhật chứng chỉ CA của bạn bằng cách sửa đổi phiên bản CSDL của bạn