Kết nối mysql có được mã hóa theo mặc định không?
Theo mặc định, MySQL được cấu hình để chỉ cho phép các kết nối từ hệ thống cục bộ. Nếu bạn muốn kết nối với máy chủ MySQL từ một hệ thống từ xa, bạn nên bảo mật nó bằng SSL/TLS. Kích hoạt SSL/TLS sẽ mã hóa dữ liệu được gửi đến và từ cơ sở dữ liệu Show
một năm trước • 6 phút đọc Bởi Hitesh Jethva Mục lục Hướng dẫn này sẽ chỉ cho bạn cách bảo mật các kết nối MySQL bằng SSL/TLS trên Ubuntu 20. 04 điều kiện tiên quyết• Một máy chủ chạy Ubuntu 20. 04 • Mật khẩu gốc được thiết lập trên máy chủ của bạn Cài đặt máy chủ MySQL 8Theo mặc định, máy chủ MySQL phiên bản 8 được bao gồm trong Ubuntu 20. 04 kho lưu trữ mặc định. Chạy lệnh sau để cài đặt nó 2Sau khi cài đặt, hãy xác minh phiên bản MySQL đã cài đặt bằng lệnh bên dưới 3đầu ra mẫu 4Tiếp theo, khởi động dịch vụ MySQL và cho phép nó khởi động khi khởi động lại hệ thống
Đặt mật khẩu gốc MySQLTheo mặc định, mật khẩu root của MySQL không được đặt. Vì vậy, nên đặt mật khẩu root MySQL vì lý do bảo mật Chạy lệnh sau để đặt mật khẩu root MySQL 5Bạn sẽ được hỏi một số câu hỏi như hình dưới đây
Tại thời điểm này, MySQL được bảo mật và mật khẩu gốc được đặt. Bây giờ bạn có thể tiến hành bước tiếp theo Kiểm tra trạng thái SSL/TLS của MySQLTrước tiên, bạn sẽ cần xác minh xem SSL/TLS có được bật trong MySQL hay không Để làm như vậy, hãy đăng nhập vào MySQL bằng lệnh sau 6Khi bạn đã đăng nhập, hãy chạy lệnh sau để kiểm tra trạng thái SSL/TLS 7đầu ra mẫu ________số 8_______Như bạn có thể thấy, cả hai giá trị have_openssl và have_ssl đều bị vô hiệu hóa Bạn cũng có thể xác minh trạng thái kết nối hiện tại bằng lệnh sau 8đầu ra mẫu
Như bạn có thể thấy, kết nối SSL không được sử dụng trong kết nối hiện tại Bây giờ, thoát khỏi trình bao MySQL bằng lệnh sau 9Tạo chứng chỉ SSL/TLSTiếp theo, bạn sẽ cần tạo chứng chỉ SSL/TLS và tệp khóa trong máy chủ của mình. Bạn có thể tạo chúng bằng tập lệnh mysql_ssl_rsa_setup Bây giờ, hãy chạy tiện ích này như hình bên dưới để tạo khóa và chứng chỉ SSL/TLS 0Thao tác này sẽ tạo và lưu tất cả các tệp chứng chỉ và khóa trong thư mục dữ liệu của MySQL tại/var/lib/mysql. Bạn có thể kiểm tra chúng bằng lệnh sau 1Bạn sẽ thấy tất cả các tệp trong đầu ra sau
Bây giờ bạn có thể sử dụng các tệp đó để kích hoạt sử dụng SSL trên máy chủ MySQL của mình Kích hoạt kết nối SSL trên MySQLĐể kích hoạt SSL/TLS trong MySQL. Khởi động lại dịch vụ MySQL bằng lệnh bên dưới 2Bây giờ, hãy kết nối với trình bao MySQL và kiểm tra trạng thái bằng lệnh sau
Bạn sẽ thấy rằng cả hai biến have_openssl và have_ssl hiện đã được bật
Bạn cũng có thể kiểm tra trạng thái kết nối hiện tại bằng lệnh sau 8đầu ra mẫu
Đầu ra ở trên chỉ ra rằng phiên MySQL hiện tại của bạn sử dụng kết nối SSL Kích hoạt kết nối từ xa và an toàn trong MySQLTheo mặc định, MySQL không cho phép đăng nhập từ máy chủ từ xa và cho phép kết nối không an toàn. Vì vậy, bạn sẽ cần định cấu hình MySQL để cho phép kết nối và chỉ chấp nhận các kết nối an toàn Để làm như vậy, hãy chỉnh sửa tệp cấu hình chính của MySQL 4Thêm/Sửa đổi các dòng sau
Lưu và đóng tệp, sau đó khởi động lại dịch vụ MySQL để áp dụng các thay đổi cấu hình 2Tiếp theo, tạo cơ sở dữ liệu và người dùng MySQL mới cho các máy khách MySQL từ xa
Tiếp theo, cấp tất cả các đặc quyền cho remotedb bằng lệnh sau 6Tiếp theo, xóa các đặc quyền và thoát khỏi MySQL bằng lệnh sau 0Xác minh kết nối SSL từ máy khách MySQL từ xaTại thời điểm này, máy chủ MySQL được cấu hình để chỉ chấp nhận các kết nối an toàn từ máy chủ từ xa. Bây giờ, đã đến lúc thử nghiệm nó Đầu tiên, đăng nhập vào máy khách và kết nối máy chủ MySQL của bạn bằng lệnh sau 7Khi bạn đã kết nối, hãy xác minh trạng thái SSL bằng lệnh sau 8Bạn sẽ thấy đầu ra sau 1Đầu ra ở trên chỉ ra rằng phiên MySQL hiện tại của bạn sử dụng kết nối SSL Để xác nhận rằng máy chủ MySQL chỉ chấp nhận kết nối an toàn và từ chối kết nối không an toàn, hãy thử kết nối với máy chủ MySQL từ xa bằng chuỗi ---ssl-mode=disabled 9Bạn sẽ thấy lỗi sau 0Điều đó có nghĩa là máy chủ MySQL của bạn chỉ chấp nhận kết nối an toàn Phần kết luậnXin chúc mừng. Bạn đã bảo mật thành công MySQL bằng kết nối SSL/TLS trên Ubuntu 20. 04 máy chủ. Bây giờ, bất cứ khi nào bạn kết nối với máy chủ MySQL, dữ liệu của bạn sẽ được mã hóa Mã hóa mặc định trong MySQL là gì?Giá trị mặc định của nó là aes-128-ecb , có nghĩa là mã hóa sử dụng độ dài khóa là 128 bit và chế độ ECB. Để biết mô tả về các giá trị được phép của biến này, hãy xem Phần 5. 1. 8, “Các biến hệ thống máy chủ”.
Các kết nối SQL Server có được mã hóa theo mặc định không?Tạo một bảng và chèn một vài hàng. Sau đó sao lưu cơ sở dữ liệu mà không sử dụng nén và mở tệp sao lưu bằng trình chỉnh sửa hex. Thủ thuật tương tự cũng hoạt động trên tệp dữ liệu
MySQL có mã hóa không?Mã hóa dữ liệu trong suốt dành cho doanh nghiệp MySQL (TDE) bảo vệ dữ liệu quan trọng của bạn bằng cách bật mã hóa dữ liệu lưu trữ trong cơ sở dữ liệu . Nó bảo vệ sự riêng tư của thông tin của bạn, ngăn ngừa vi phạm dữ liệu và giúp đáp ứng các yêu cầu quy định bao gồm. Tiêu chuẩn bảo mật dữ liệu ngành thẻ thanh toán (PCI DSS)
Cổng MySQL 3306 có an toàn không?Mở cổng 3306 có an toàn không? . Nếu bạn cần kết nối với cơ sở dữ liệu của mình từ xa, có nhiều tùy chọn an toàn hơn là mở cổng 3306, chẳng hạn như sử dụng đường hầm SSH. you should not open port 3306 as it can make your server vulnerable to attack. If you need to connect to your database remotely, there are more secure options than opening port 3306, such as using an SSH tunnel. |