9 mẹo bảo mật MySQL nâng cao

Máy chủ cơ sở dữ liệu MySQL mới được cài đặt có thể có nhiều lỗ hổng và sơ hở, khiến nó trở thành mỏ vàng cho những kẻ tấn công cố gắng xâm nhập vào cơ sở dữ liệu. MySQL là một trong những hệ quản trị cơ sở dữ liệu quan hệ được sử dụng rộng rãi nhất. Hiểu mọi khía cạnh của bảo mật MySQL là điều cần thiết do tầm quan trọng của bảo mật dữ liệu

Bài viết này cung cấp chín mẹo để tăng cường bảo mật cho cơ sở dữ liệu MySQL của bạn và tập trung vào kiểm toán và bảo mật

1. Tránh các khoản tài trợ đặc quyền không cần thiết

Một số câu lệnh đặc quyền nguy hiểm tiềm tàng nhất trong MySQL bao gồm FILE, GRANT, SUPER, ALTER, DELETE, SHUTDOWN, và những câu lệnh khác. Khi được cấp cho người dùng có đặc quyền thấp một cách không cần thiết, các câu lệnh đặc quyền này có thể cho phép họ đọc/ghi tệp và ảnh hưởng đến các đặc quyền của người dùng khác. Không cấp các đặc quyền siêu người dùng cho tài khoản không phải quản trị viên như FILE, GRANT, SUPER và PROCESS vì bạn có thể tìm hiểu thêm về những đặc quyền này trong tài liệu chính thức của MySQL. Các quyền toàn cầu, cơ sở dữ liệu và cấp bảng vô nghĩa này có thể bị xóa như sau

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
9
REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
0
REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
1

2. Hạn chế đăng nhập từ xa

Bằng cách thêm biến bỏ qua kết nối mạng vào tệp cấu hình chính và khởi động lại dịch vụ, bạn có thể tắt quyền truy cập từ xa đối với tất cả các loại tài khoản người dùng MySQl, điều này giúp đơn giản hóa các tác vụ của quản trị viên cơ sở dữ liệu nhưng lại khiến máy chủ gặp phải các lỗ hổng và lỗ hổng tiềm ẩn

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
2

Theo cách tương tự, bạn phải hạn chế đăng nhập từ xa tài khoản gốc bằng cách vô hiệu hóa quyền truy cập tài khoản gốc, nếu không hoàn toàn. Biện pháp bảo vệ này tránh việc bruteforcing tài khoản root MySQL

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
3

3. Tắt các hàm load_file, outfile, dumpfile

Vô hiệu hóa các chức năng chỉ có thể truy cập thông qua đặc quyền cấp FILE, cho phép người dùng có đặc quyền thấp với các tùy chọn lệnh chung để đọc hoặc ghi tệp trên máy chủ, là một biện pháp khác để bảo vệ MySQL khỏi việc tiêm tệp cục bộ

  • tải tập tin

Lệnh sau sẽ tải tất cả nội dung từ tệp /etc/passwd như sau. Hàm load_file tải nội dung tệp từ máy chủ dưới dạng chuỗi

_15
  • outfile

Kẻ tấn công có thể sử dụng chức năng outfile để ghi tải trọng vào tệp máy chủ theo cách tương tự như ghi nội dung vào tệp máy chủ cục bộ

_16

đầu ra

_17
  • tập tin dump

Không trả kết quả ra màn hình, hàm này ghi vào tệp bằng nguyên nhân chọn

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
4

đầu ra

_19

Đặc quyền FILE có thể bị thu hồi theo cách được mô tả bên dưới để tắt các tính năng này

________mười

Giới thiệu về Metasploit trong Kali Linux (Với các ví dụ hữu ích)

4. Vô hiệu hóa cổng mặc định

Để thêm bảo mật bằng cách che khuất và thay đổi cổng MySQL mặc định bằng cách chỉnh sửa biến hệ thống cổng trong tệp cấu hình chính của nó, bạn cần nhập thông tin sau. Chúng tôi biết rằng các dịch vụ MySQL chạy trên cổng 3306 và những kẻ tấn công quét các cổng để kiểm tra các dịch vụ đang chạy trên mạng

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
01

5. Ngăn sử dụng ký tự đại diện trong tên tài khoản

Quản trị viên có thể tạo tài khoản cho người dùng có cùng tên kết nối từ các máy chủ khác nhau bằng cách chia tên tài khoản trong MySQL thành hai phần, người dùng và tên máy chủ hoặc "user_name"@"host_name. "Tuy nhiên, phần máy chủ của tên tài khoản cho phép các quy ước ký tự đại diện có thể đóng vai trò là điểm truy cập vào cơ sở dữ liệu từ mọi nơi

Việc sử dụng tùy chọn giá trị tên máy chủ hoặc địa chỉ IP tương đương với "user_name"@"%", trong đó "%" là viết tắt của bất kỳ tên máy chủ nào và "%" đại diện cho thao tác LIKE phù hợp với mẫu MySQL. 168. 132Bên cạnh đó, bất kỳ ai cũng có thể truy cập cơ sở dữ liệu bằng cách đặt tên phần máy chủ là '192', biểu thị bất kỳ nỗ lực nào từ mạng lớp C. 18. 132mysql. com'

Để xác định các bit mạng của một địa chỉ IP và ngăn chặn những nỗ lực như vậy, MySQL cho phép bạn xác định một mặt nạ mạng với giá trị máy chủ

________thứ mười hai

Cú pháp host_ip/netmask được sử dụng để tạo tên máy chủ

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
03

Người dùng john có thể truy cập cơ sở dữ liệu từ bất kỳ địa chỉ IP nào trong phạm vi 192 nhờ giá trị máy chủ đã nói ở trên. 132. 0-192168. 132192 và 255 là các giá trị máy chủ tương tự nhau. 168. 1320/255. 00. 0, 192168. 1320/255. 2550 sẽ cho phép các máy chủ từ mạng lớp A và lớp B. Trong khi 192. 168132. 5 chỉ cho phép truy cập từ IP được chỉ định

6. Vô hiệu hóa quyền truy cập rõ ràng

Tuy nhiên, sự hiện diện của một người dùng ẩn danh có thể bị kẻ tấn công lợi dụng để truy cập vào máy chủ cơ sở dữ liệu. Tên người dùng trong MySQL là tên mà cơ sở dữ liệu chấp nhận các kết nối đến hoặc tên người dùng trống "@"host_name. "Ngoài ra, trước MySQL 5. 7, một nhóm người dùng ẩn danh được tạo và quá trình cài đặt sau khi nâng cấp phiên bản vẫn thêm những người dùng này

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
04
MySQL User Table

Mặc dù localhost là điểm truy cập duy nhất và cột người dùng và mật khẩu trống, nhưng bạn không muốn bất kỳ ai có thể truy cập cơ sở dữ liệu. Lệnh sau nên được sử dụng để xóa người dùng ẩn danh

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
05

7. Chỉ định tài khoản không phải root làm nhóm hoặc chủ sở hữu

Cài đặt MySQL trong hệ thống Linux/Unix từ tar và tar. bz2 độc lập với người dùng root MySQL. Máy chủ có thể được điều hành bởi bất kỳ người dùng nào có đặc quyền thấp nhờ các gói gz, nhưng điều này ảnh hưởng đến tính bảo mật của máy chủ vì bất kỳ người dùng nào có tùy chọn cấp FILE đều có thể chỉnh sửa hoặc tạo tệp ở đó. Tuy nhiên, nếu người dùng cố gắng truy cập nó mà không có lỗi -user=root, nó sẽ trả về lỗi

Bằng cách làm theo lời khuyên chung để truy cập máy chủ cơ sở dữ liệu với tư cách là người dùng Linux khác, bạn có thể ngăn chặn điều này. Để chạy mysqld với tư cách là người dùng Linux thông thường, hãy dừng máy chủ và thay đổi quyền đọc/ghi của máy chủ MySQL thành mysql, như minh họa bên dưới

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
06

Để ngăn truy cập máy chủ không cần thiết, hãy mở tệp cấu hình chính của MySQL, thêm người dùng mysql mới và khởi động lại dịch vụ

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
07

8. Tạo mật khẩu tài khoản root

Trong các bản cài đặt shell không tương tác và dựa trên Red-Hat của MySQL, tài khoản người dùng gốc được tạo và bạn được nhắc đặt mật khẩu, nhưng điều này không xảy ra trong các bản phân phối Linux dựa trên Debian. Tùy chọn -user=root cho phép người dùng không phải root của máy Linux truy cập vào tài khoản người dùng root mysql;

REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;
08

9. Đảm bảo mã hóa dữ liệu được sử dụng cả khi chuyển tiếp và khi nghỉ ngơi

Tương tự như cách dữ liệu người dùng không được mã hóa trong cơ sở dữ liệu ảnh hưởng đến tính bảo mật và tính toàn vẹn của người dùng, giao tiếp không được mã hóa mặc định giữa máy khách và máy chủ làm tăng nguy cơ bị chặn dữ liệu bởi bất kỳ kẻ trung gian nào. Khi sử dụng giao thức TLS/SSL, MySQL hỗ trợ mã hóa dữ liệu giữa máy khách và máy chủ;

Để bảo vệ dữ liệu được lưu trữ trên máy chủ ngay cả khi hệ thống bị xâm nhập, MySQL hiện hỗ trợ mã hóa khi nghỉ ngơi

Bảo mật nâng cao MySQL. Tự bảo vệ mình

Các bước trên rất hữu ích để bảo mật máy chủ cơ sở dữ liệu của bạn, nhưng học cách gán quyền tối thiểu cho người dùng không phải quản trị viên cũng rất cần thiết

[{"id". "310","tiêu đề". "Tìm hiểu mẹo & thủ thuật","bình chọn". "2","loại". "x","đặt hàng". "1","phần trăm". 100,"tài nguyên". []},{"Tôi". "311","tiêu đề". "Tăng cường quyền riêng tư của tôi","phiếu bầu". "0","loại". "x","đặt hàng". "2","phần trăm". 0,"tài nguyên". []},{"Tôi". "312","tiêu đề". "Bảo mật email của tôi","bình chọn". "0","loại". "x","đặt hàng". "3","phần trăm". 0,"tài nguyên". []},{"Tôi". "313","tiêu đề". "Khác","phiếu bầu". "0","loại". "x","đặt hàng". "4","phần trăm". 0,"tài nguyên". []}] ["#ff5b00","#4ac0f2","#b80028","#eef66c","#60bb22","#b96a9a","#62c2cc"]< . 7)","rgba(74,192,242,0. 7)","rgba(184,0,40,0. 7)","rgba(238,246,108,0. 7)","rgba(96,187,34,0. 7)","rgba(185,106,154,0. 7)","rgba(98,194,204,0. 7)"] ["rgba(255,91,0,0.7)","rgba(74,192,242,0.7)","rgba(184,0,40,0.7)","rgba(238,246,108,0.7)","rgba(96,187,34,0.7)","rgba(185,106,154,0.7)","rgba(98,194,204,0.7)"]

🤣😐🧐 MySQL là một trong những hệ thống quản lý cơ sở dữ liệu quan hệ phổ biến nhất, là giải độc đắc cho những kẻ tấn công cố gắng xâm nhập vào cơ sở dữ liệu. Máy chủ cơ sở dữ liệu MySQL mới được cài đặt có thể có nhiều lỗ hổng và sơ hở. Vì bảo mật dữ liệu có tầm quan trọng lớn nên bắt buộc phải hiểu mọi khía cạnh của bảo mật MySQL

🤣😐🧐 Bài viết này tập trung vào việc kiểm tra và bảo mật cơ sở dữ liệu MySQL của bạn, đồng thời cung cấp 9 mẹo để tăng cường bảo mật cho cơ sở dữ liệu đó

1. Tránh các khoản tài trợ đặc quyền không cần thiết

🤣😐🧐 MySQL cho phép một số câu lệnh đặc quyền mà khi được gán một cách không cần thiết cho người dùng có đặc quyền kém có thể dẫn đến việc đọc/ghi tệp và phá vỡ các đặc quyền của người dùng khác. Một số câu lệnh đặc quyền tiềm ẩn rủi ro nhất là FILE, GRANT, SUPER, ALTER, DELETE, SHUTDOWN, v.v. Bạn có thể đọc thêm về những điều này từ tài liệu chính thức của MySQL. Do đó, không gán các đặc quyền siêu người dùng như FILE, GRANT, SUPER và PROCESS cho các tài khoản không phải quản trị viên. Bạn có thể thu hồi các quyền toàn cầu, cơ sở dữ liệu và cấp bảng không cần thiết này như sau

REVOKEALLON *.* FROM 'user_name'@'host_name'; #Global privileges
____1
REVOKEINSERT, UPDATE,DELETEON database_name.table_name FROM 'user_name'@'host_name'; #Table privileges
flushprivileges;

2. Hạn chế đăng nhập từ xa

🤣😐🧐 Truy cập từ xa giúp giảm bớt công việc của quản trị viên cơ sở dữ liệu, nhưng nó có nguy cơ khiến máy chủ gặp phải các lỗ hổng và hành vi khai thác tiềm ẩn. Bạn có thể vô hiệu hóa quyền truy cập từ xa cho tất cả các loại tài khoản người dùng MySQl bằng cách thêm biến bỏ qua kết nối mạng vào tệp cấu hình chính và khởi động lại dịch vụ

[mysqld]
skip-networking
sudo service mysql restart

🤣😐🧐 Tương tự, bạn phải vô hiệu hóa quyền truy cập tài khoản root, nếu không phải là tất cả để hạn chế đăng nhập từ xa tài khoản root. Biện pháp phòng ngừa này ngăn chặn việc bruteforcing tài khoản root MySQL

mysql> delete from mysql.user where user='root' and host not in ('localhost', '127.0.0.1', '::1'); mysql> flush privileges; 

3. Tắt chức năng (load_file, outfile, dumpfile)

🤣😐🧐 Một biện pháp phòng ngừa khác để bảo vệ MySQL khỏi việc tiêm tệp cục bộ là vô hiệu hóa các chức năng chỉ có thể truy cập thông qua đặc quyền cấp FILE. FILE là một tùy chọn cho phép người dùng có đặc quyền thấp với các tùy chọn lệnh chung để đọc hoặc ghi tệp trên máy chủ

  • tải tập tin

🤣😐🧐 Hàm load_file tải nội dung tệp từ máy chủ dưới dạng chuỗi. Chẳng hạn, lệnh sau sẽ tải tất cả nội dung từ tệp /etc/passwd như sau

selectload_file('/etc/passwd')
  • outfile

🤣😐🧐 Tương tự, hàm outfile ghi nội dung vào các tệp máy chủ cục bộ. Kẻ tấn công có thể sử dụng chức năng này để ghi tải trọng vào tệp trong máy chủ, như sau

select 'Local File SQL Injection' into outfile '/tmp/file.txt';
cat /tmp/file.txt

🤣😐🧐 Đầu ra

Local File SQL Injection
  • tập tin dump

🤣😐🧐 Hàm này dùng nguyên nhân chọn để ghi vào file mà không trả kết quả ra màn hình

________số 8

🤣😐🧐 Đầu ra

QueryOK, 1 rowaffected (0.001sec)

🤣😐🧐 Bạn có thể tắt các chức năng này bằng cách thu hồi đặc quyền FILE như sau

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
0

🤣😐🧐 Liên quan. Hướng dẫn dành cho người mới bắt đầu về Metasploit trong Kali Linux (Có ví dụ thực tế)

4. Vô hiệu hóa cổng mặc định

🤣😐🧐 Chúng tôi biết rằng các dịch vụ MySQL chạy trên cổng 3306 và những kẻ tấn công sẽ quét các cổng để kiểm tra các dịch vụ đang chạy trên mạng. Để thêm bảo mật bằng cách che khuất và thay đổi cổng MySQL mặc định bằng cách chỉnh sửa biến hệ thống cổng trong tệp cấu hình chính của nó, bạn cần nhập thông tin sau

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
1

5. Tránh ký tự đại diện trong tên tài khoản

🤣😐🧐 Tên tài khoản trong MySQL bao gồm 2 phần là user và hostname "user_name"@"host_name". Nó cho phép quản trị viên tạo tài khoản cho người dùng có cùng tên kết nối từ các máy chủ khác nhau. Tuy nhiên, phần máy chủ của tên tài khoản cho phép các quy ước ký tự đại diện có thể là một điểm truy cập vào cơ sở dữ liệu từ mọi nơi

🤣😐🧐 Việc sử dụng tùy chọn giá trị tên máy chủ hoặc địa chỉ IP tương đương với 'user_name'@'%' trong đó % khớp với mẫu MySQL khớp với thao tác LIKE và % có nghĩa là bất kỳ tên máy chủ nào. Trong khi đó, truy cập từ '192. 168. 132. %' có nghĩa là bất kỳ nỗ lực nào từ mạng lớp C. Ngoài ra, bất kỳ ai cũng có thể truy cập cơ sở dữ liệu bằng cách đặt tên phần máy chủ là '192. 18. 132. mysql. com'

🤣😐🧐 Để tránh những nỗ lực như vậy, MySQL cho phép xác định mặt nạ mạng với giá trị máy chủ để xác định các bit mạng của địa chỉ IP

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
2

🤣😐🧐 Cú pháp tạo tên máy là host_ip/netmask

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
3

🤣😐🧐 Giá trị máy chủ ở trên cho phép người dùng john truy cập cơ sở dữ liệu từ bất kỳ IP nào trong phạm vi 192. 168. 132. 0-192. 168. 132. 255. Tương tự, các giá trị máy chủ của 192. 168. 132. 0/255. 0. 0. 0, 192. 168. 132. 0/255. 255. 0. 0 sẽ cho phép các máy chủ từ mạng lớp A và B. Trong khi 192. 168. 132. 5 sẽ chỉ cho phép truy cập từ IP cụ thể

6. Vô hiệu hóa quyền truy cập rõ ràng

🤣😐🧐 Tên người dùng trong MySQL là tên mà cơ sở dữ liệu chấp nhận các kết nối đến hoặc tên người dùng trống "@"host_name" tạo người dùng ẩn danh. Tuy nhiên, sự hiện diện của một người dùng ẩn danh có thể thúc đẩy những kẻ tấn công truy cập vào máy chủ cơ sở dữ liệu. Bên cạnh đó, các phiên bản MySQL trước MySQL 5. 7, tạo một nhóm người dùng ẩn danh và cài đặt sau khi nâng cấp phiên bản vẫn thêm những người dùng này

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
4

🤣😐🧐 Bạn có thể lưu ý rằng cột người dùng và mật khẩu trống và quyền truy cập bị giới hạn ở localhost. Tuy nhiên, bạn không muốn bất cứ ai truy cập vào cơ sở dữ liệu. Sử dụng lệnh sau để xóa người dùng ẩn danh

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
5

7. Đặt tài khoản chưa root làm Chủ sở hữu hoặc Nhóm

🤣😐🧐 Đặt tài khoản người dùng không root không liên quan đến người dùng root MySQL. Cài đặt MySQL trong hệ thống Linux/Unix từ tar và tar. gói gz cho phép máy chủ chạy bởi bất kỳ người dùng có đặc quyền nào. Đây là một nhược điểm bảo mật vì bất kỳ người dùng nào có tùy chọn cấp FILE đều có thể chỉnh sửa hoặc tạo tệp tại máy chủ. Tuy nhiên, nó trả về lỗi khi người dùng cố gắng truy cập nó mà không có lỗi -user=root

🤣😐🧐 Bạn có thể tránh điều này bằng cách thực hành quy tắc ngón tay cái là truy cập máy chủ cơ sở dữ liệu với tư cách là một người dùng Linux riêng biệt. Để chạy mysqld với tư cách là người dùng Linux thông thường, hãy dừng máy chủ và thay đổi quyền đọc/ghi của máy chủ MySQl thành mysql, như sau

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
6

🤣😐🧐 Mở tệp cấu hình chính của MySQL, thêm người dùng mysql mới và khởi động lại dịch vụ để tránh truy cập máy chủ không cần thiết

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
7

8. Đặt mật khẩu cho tài khoản Root

🤣😐🧐 Cài đặt MySQL qua trình bao tương tác trong các bản phân phối Linux dựa trên Debian sẽ tạo tài khoản người dùng gốc và yêu cầu bạn đặt mật khẩu. Tuy nhiên, điều này không xảy ra trong cài đặt trình bao không tương tác và bản phân phối dựa trên Red-Hat. Như đã nêu ở trên, người dùng không phải root của máy Linux có thể truy cập tài khoản người dùng root mysql bằng cách sử dụng tùy chọn -user=root. Bạn có thể tránh điều đó bằng cách đặt mật khẩu như sau

REVOKECREATE,DROPON database_name.* FROM 'user_name'@'host_name'; #Database privileges
8

9. Đảm bảo mã hóa dữ liệu khi chuyển tiếp và khi nghỉ ngơi

🤣😐🧐 Giao tiếp mặc định không được mã hóa giữa máy khách và máy chủ có nguy cơ bị bất kỳ kẻ trung gian nào đánh cắp dữ liệu. Tương tự, dữ liệu người dùng không được mã hóa trong cơ sở dữ liệu sẽ gây rủi ro cho tính bảo mật và tính toàn vẹn của người dùng. MySQL hỗ trợ mã hóa dữ liệu giữa máy khách và máy chủ qua giao thức TLS/SSL, trong khi giao tiếp không mã hóa chỉ được chấp nhận khi cả hai bên giao tiếp nằm trong cùng một mạng

🤣😐🧐 MySQL hiện hỗ trợ mã hóa ở phần còn lại để bảo vệ dữ liệu được lưu trữ trong máy chủ ngay cả khi hệ thống bị xâm phạm

Bảo mật nâng cao MySQL. Tự bảo vệ mình

🤣😐🧐 Đảm bảo rằng bạn có mức bảo mật trực tuyến cao nhất là rất quan trọng và bài viết này sẽ cung cấp cho bạn một số gợi ý hữu ích để đi đúng hướng. Các bước trên rất hữu ích để bảo mật máy chủ cơ sở dữ liệu của bạn, nhưng học cách gán quyền tối thiểu cho người dùng không phải quản trị viên cũng rất cần thiết

Làm cách nào để làm cho cơ sở dữ liệu MySQL của tôi an toàn hơn?

Các phương pháp hay nhất về bảo mật MySQL .
Xóa tài khoản mặc định, ánh xạ cổng và các cài đặt khác. .
Hạn chế truy cập từ xa. .
Chỉ cấp cho người dùng những đặc quyền họ cần. .
Sử dụng tài khoản không root. .
Giữ cho máy chủ an toàn về mặt vật lý. .
Hãy chắc chắn rằng bạn tiếp tục kiểm tra và giám sát thích hợp. .
Đánh giá bảo mật cơ sở dữ liệu của bạn thường xuyên

Các tính năng bảo mật của MySQL là gì?

Có một số công cụ có sẵn để giữ an toàn cho cơ sở dữ liệu MySQL. .
Thiết lập đúng đặc quyền cho mọi người dùng
Giới hạn một tài khoản cụ thể
Khóa và mở khóa tài khoản
Kiểm soát hoạt động của người dùng
Bảo mật mật khẩu

ACL trong MySQL là gì?

MySQL sử dụng bảo mật dựa trên Danh sách kiểm soát truy cập (ACL) cho tất cả các kết nối, truy vấn và các hoạt động khác mà người dùng có thể cố gắng thực hiện. Ngoài ra còn có hỗ trợ cho các kết nối được mã hóa SSL giữa máy khách và máy chủ MySQL.

Làm cách nào để bảo mật MySQL trước những kẻ tấn công?

2. 3 Bảo mật MySQL trước những kẻ tấn công .
Yêu cầu tất cả tài khoản MySQL phải có mật khẩu. .
Đảm bảo rằng tài khoản người dùng Unix duy nhất có đặc quyền đọc hoặc ghi trong thư mục cơ sở dữ liệu là tài khoản được sử dụng để chạy mysqld
Không bao giờ chạy máy chủ MySQL với tư cách là người dùng gốc Unix