Hướng dẫn mysql 5.7 config file - tệp cấu hình mysql 5.7
6.3.1 & NBSP; Định cấu hình MySQL để sử dụng các kết nối được mã hóaMột số tham số cấu hình có sẵn để cho biết có nên sử dụng các kết nối được mã hóa hay không và để chỉ định chứng chỉ và tệp khóa thích hợp. Phần này cung cấp hướng dẫn chung về việc định cấu hình máy chủ và máy khách cho các kết nối được mã hóa:
Các kết nối được mã hóa cũng có thể được sử dụng trong các bối cảnh khác, như được thảo luận trong các phần bổ sung này:
Hướng dẫn tạo bất kỳ chứng chỉ và tệp khóa cần thiết nào có sẵn trong Phần & NBSP; 6.3.3, Tạo chứng chỉ SSL và RSA và khóa. Cấu hình khởi động phía máy chủ cho các kết nối được mã hóaCấu hình phía máy khách cho các kết nối được mã hóa Định cấu hình các kết nối được mã hóa là bắt buộc Các kết nối được mã hóa cũng có thể được sử dụng trong các bối cảnh khác, như được thảo luận trong các phần bổ sung này:
Hướng dẫn tạo bất kỳ chứng chỉ và tệp khóa cần thiết nào có sẵn trong Phần & NBSP; 6.3.3, Tạo chứng chỉ SSL và RSA và khóa.
Về phía máy chủ, tùy chọn 3 chỉ định rằng máy chủ cho phép nhưng không yêu cầu các kết nối được mã hóa. Tùy chọn này được bật theo mặc định, vì vậy nó không cần phải được chỉ định rõ ràng.
Để yêu cầu khách hàng kết nối bằng cách sử dụng các kết nối được mã hóa, bật biến hệ thống 4. Xem cấu hình các kết nối được mã hóa là bắt buộc.Các biến hệ thống này ở phía máy chủ chỉ định các tệp chứng chỉ và khóa mà máy chủ sử dụng khi cho phép khách hàng thiết lập các kết nối được mã hóa:
8: Tên đường dẫn của tệp khóa riêng của máy chủ.mysql_ssl_rsa_setup.) Ví dụ: để kích hoạt máy chủ cho các kết nối được mã hóa, hãy khởi động nó với các dòng này trong tệp 9, thay đổi tên tệp khi cần thiết:
Cấu hình phía máy khách cho các kết nối được mã hóaĐể biết danh sách đầy đủ các tùy chọn máy khách liên quan đến việc thiết lập các kết nối được mã hóa, hãy xem các tùy chọn lệnh cho các kết nối được mã hóa. Theo mặc định, các chương trình máy khách MySQL cố gắng thiết lập kết nối được mã hóa nếu máy chủ hỗ trợ các kết nối được mã hóa, với điều khiển tiếp theo có sẵn thông qua tùy chọn 2:
Quan trọng Cài đặt mặc định, 4, tạo kết nối được mã hóa nếu các cài đặt mặc định khác không thay đổi. Tuy nhiên, để giúp ngăn chặn các cuộc tấn công giữa người đàn ông tinh vi, điều quan trọng là khách hàng phải xác minh danh tính máy chủ. Cài đặt 7 và 8 là một lựa chọn tốt hơn so với cài đặt mặc định để giúp ngăn chặn loại tấn công này. 3 làm cho máy khách kiểm tra xem chứng chỉ máy chủ có hợp lệ không. 9 Làm cho máy khách kiểm tra xem chứng chỉ máy chủ có hợp lệ không và cũng làm cho máy khách kiểm tra xem tên máy chủ mà máy khách đang sử dụng có khớp với danh tính trong chứng chỉ máy chủ không. Để thực hiện một trong các cài đặt này, trước tiên bạn phải đảm bảo rằng chứng chỉ CA cho máy chủ có sẵn một cách đáng tin cậy cho tất cả các máy khách sử dụng nó trong môi trường của bạn, nếu không các vấn đề sẵn có sẽ dẫn đến. Vì lý do này, chúng không phải là cài đặt mặc định.Nỗ lực thiết lập kết nối không được mã hóa không thành công nếu biến hệ thống 4 được bật ở phía máy chủ để khiến máy chủ yêu cầu các kết nối được mã hóa. Xem cấu hình các kết nối được mã hóa là bắt buộc.Các tùy chọn sau đây ở phía máy khách xác định chứng chỉ và các tệp chính mà khách hàng sử dụng khi thiết lập các kết nối được mã hóa đến máy chủ. Chúng tương tự như các biến hệ thống 5, 7 và 8 được sử dụng ở phía máy chủ, nhưng 9 và 0 Xác định khóa công khai và riêng tư của khách hàng:
Để có thêm bảo mật liên quan đến quy định của mã hóa mặc định, máy khách có thể cung cấp chứng chỉ CA khớp với máy chủ được sử dụng và kích hoạt xác minh nhận dạng tên máy chủ. Theo cách này, máy chủ và máy khách đặt niềm tin của họ vào cùng một chứng chỉ CA và máy khách xác minh rằng máy chủ mà nó kết nối là một dự định:
Ghi chú Xác minh nhận dạng tên máy chủ với 9 không hoạt động với các chứng chỉ tự ký được tạo tự động bởi máy chủ hoặc bằng cách sử dụng thủ công mysql_ssl_rsa_setup (xem phần & nbsp; 6.3.3.1 Các chứng chỉ tự ký như vậy không chứa tên máy chủ là giá trị tên chung.mysql_ssl_rsa_setup (see Section 6.3.3.1, “Creating SSL and RSA Certificates and Keys using MySQL”). Such self-signed certificates
do not contain the server name as the Common Name value. Trước MySQL 5.7.23, xác minh nhận dạng tên máy chủ cũng không hoạt động với các chứng chỉ chỉ định tên chung bằng cách sử dụng ký tự đại diện vì tên đó được so sánh nguyên văn với tên máy chủ. MySQL cũng cung cấp các tùy chọn này cho điều khiển kết nối được mã hóa phía máy khách:
Tùy thuộc vào các yêu cầu mã hóa của tài khoản MySQL được khách hàng sử dụng, máy khách có thể được yêu cầu chỉ định một số tùy chọn nhất định để kết nối bằng mã hóa với máy chủ MySQL. Giả sử rằng bạn muốn kết nối bằng cách sử dụng một tài khoản không có yêu cầu mã hóa đặc biệt hoặc được tạo bằng cách sử dụng câu lệnh 5 bao gồm mệnh đề 6. Giả sử rằng máy chủ hỗ trợ các kết nối được mã hóa, máy khách có thể kết nối bằng cách sử dụng mã hóa không có tùy chọn 2 hoặc với tùy chọn 4 rõ ràng:
Hoặc:
Đối với một tài khoản được tạo với mệnh đề 6, nỗ lực kết nối không thành công nếu không thể thiết lập kết nối được mã hóa. Đối với một tài khoản không có yêu cầu mã hóa đặc biệt, nỗ lực rơi trở lại kết nối không được mã hóa nếu không thể thiết lập kết nối được mã hóa. Để ngăn chặn dự phòng và thất bại nếu không thể có được kết nối được mã hóa, hãy kết nối như thế này:
Nếu tài khoản có các yêu cầu bảo mật nghiêm ngặt hơn, các tùy chọn khác phải được chỉ định để thiết lập kết nối được mã hóa:
Để biết thêm thông tin về mệnh đề 8, xem Phần & NBSP; 13.7.1.2, Tạo câu lệnh của người dùng.Máy chủ MySQL có thể tạo chứng chỉ máy khách và các tệp chính mà máy khách có thể sử dụng để kết nối với các phiên bản MYSQL Server. Xem Phần & NBSP; 6.3.3, Tạo chứng chỉ SSL và RSA và khóa. Quan trọng Nếu máy khách kết nối với cá thể máy chủ MySQL sử dụng chứng chỉ SSL với tiện ích mở rộng 9 (tiện ích mở rộng X.509 V3), việc sử dụng khóa mở rộng phải bao gồm xác thực máy khách ( 0). Nếu chứng chỉ SSL chỉ được chỉ định để xác thực máy chủ ( 1) và các mục đích chứng chỉ không phải là máy tính khác, xác minh chứng chỉ sẽ không thành công và kết nối máy khách với phiên bản máy chủ MySQL không thành công. Không có tiện ích mở rộng 9 trong các chứng chỉ SSL được tạo bởi máy chủ MySQL (như được mô tả trong Phần & NBSP; 6.3.3.1, Chứng chỉ SSL và RSA và các khóa sử dụng các chứng chỉ MYSQL) và các chứng chỉ SSL được tạo bằng lệnh OpenSSL theo hướng dẫn trong Phần & NBSP; 6.3 .3.2, Tạo các chứng chỉ và khóa SSL bằng cách sử dụng OpenSSL. Nếu bạn sử dụng chứng chỉ máy khách của riêng mình được tạo theo một cách khác, hãy đảm bảo bất kỳ tiện ích mở rộng 9 nào bao gồm xác thực máy khách.openssl command following the instructions in Section 6.3.3.2, “Creating SSL Certificates and Keys Using openssl”. If you use your own client certificate created in another way, ensure any 9 extension includes client
authentication. Để ngăn chặn việc sử dụng mã hóa và ghi đè các tùy chọn 4 khác, hãy gọi chương trình máy khách bằng 6:
Để xác định xem kết nối hiện tại với máy chủ có sử dụng mã hóa hay không, hãy kiểm tra giá trị phiên của biến trạng thái 6. Nếu giá trị trống, kết nối không được mã hóa. Mặt khác, kết nối được mã hóa và giá trị cho biết mật mã mã hóa. Ví dụ:
Đối với máy khách MySQL, một giải pháp thay thế là sử dụng lệnh 7 hoặc 8 và kiểm tra dòng 9:mysql client,
an alternative is to use the 7 or 8 command and check the 9 line:
Hoặc:
Định cấu hình các kết nối được mã hóa là bắt buộcĐối với một số triển khai MySQL, có thể không chỉ mong muốn mà bắt buộc phải sử dụng các kết nối được mã hóa (ví dụ, để đáp ứng các yêu cầu quy định). Phần này thảo luận về cài đặt cấu hình cho phép bạn thực hiện việc này. Các cấp kiểm soát này có sẵn:
Để yêu cầu khách hàng kết nối bằng cách sử dụng các kết nối được mã hóa, bật biến hệ thống 4. Ví dụ: đặt các dòng này vào tệp máy chủ 9: 0Với 4 được bật, các kết nối máy khách đến máy chủ được yêu cầu sử dụng một số hình thức vận chuyển an toàn và máy chủ chỉ cho phép các kết nối TCP/IP sử dụng SSL hoặc kết nối sử dụng tệp ổ cắm (trên UNIX) hoặc bộ nhớ được chia sẻ (trên Windows) . Máy chủ từ chối các nỗ lực kết nối không phân biệt, không thành công với lỗi 3.Để gọi một chương trình máy khách sao cho nó yêu cầu kết nối được mã hóa cho dù máy chủ có yêu cầu mã hóa hay không, hãy sử dụng giá trị tùy chọn 2 là 5, 3 hoặc 9. Ví dụ: 1Để định cấu hình tài khoản MySQL chỉ có thể sử dụng được qua các kết nối được mã hóa, bao gồm một mệnh đề 8 trong câu lệnh 5 tạo tài khoản, chỉ định trong mệnh đề đó, các đặc điểm mã hóa bạn yêu cầu.Ví dụ: để yêu cầu kết nối được mã hóa và sử dụng chứng chỉ X.509 hợp lệ, sử dụng 0: 2Để biết thêm thông tin về mệnh đề 8, xem Phần & NBSP; 13.7.1.2, Tạo câu lệnh của người dùng.Để sửa đổi các tài khoản hiện có không có yêu cầu mã hóa, hãy sử dụng câu lệnh 02. |