Cách bảo mật cơ sở dữ liệu MySQL khỏi tin tặc

Không giống như các quy trình sao lưu cơ sở dữ liệu có thể được tự động hóa, việc bảo vệ dữ liệu của bạn khỏi con mắt tò mò của những người dùng trái phép yêu cầu một lượng tương tác nhất định từ quản trị viên hệ thống. Nếu bạn đang sử dụng MySQL, bạn có thể thực hiện một số điều dễ dàng để bảo mật hệ thống của mình và giảm đáng kể nguy cơ truy cập trái phép vào dữ liệu nhạy cảm của bạn

Tài sản quý giá nhất cho các tổ chức dựa trên công nghệ
thường là thông tin khách hàng hoặc sản phẩm trong cơ sở dữ liệu của họ. Và như vậy, một
phần quan trọng của quản trị cơ sở dữ liệu trong các tổ chức như vậy bao gồm
bảo vệ các cơ sở dữ liệu này trước sự tấn công từ bên ngoài và lỗi phần cứng/phần mềm

Trong hầu hết các trường hợp, lỗi phần cứng và phần mềm được xử lý
thông qua chế độ sao lưu dữ liệu. Hầu hết các cơ sở dữ liệu đều có sẵn các công cụ để
tự động hóa toàn bộ quá trình, làm cho khía cạnh này của công việc tương đối dễ dàng
và không có lỗi. Tuy nhiên, điều không đơn giản là nửa sau của
câu đố. đảm bảo rằng tin tặc bên ngoài không thể xâm nhập vào hệ thống và
ăn cắp hoặc làm hỏng thông tin chứa trong đó. Và thật không may, thường có
không phải là một cách tự động để giải quyết vấn đề này;
quản trị viên, để đặt rào chắn và chướng ngại vật vào vị trí theo cách thủ công
tin tặc và để đảm bảo rằng dữ liệu của công ty bạn được an toàn

Một lý do phổ biến cho việc không bảo mật cơ sở dữ liệu là nó
“khó” và “phức tạp”. Trong khi điều này chắc chắn
đúng, nếu bạn đang sử dụng MySQL, có một số điều dễ dàng bạn có thể thực hiện để
giảm đáng kể rủi ro bạn phải đối mặt. Hướng dẫn này liệt kê sáu mục như vậy, nhưng
bạn có thể tìm thấy nhiều hơn nữa trong các diễn đàn thảo luận và hướng dẫn sử dụng MySQL

Bước 1. Xóa ký tự đại diện trong bảng cấp

Hệ thống kiểm soát truy cập MySQL hoạt động thông qua một loạt
cái gọi là bảng cấp, làm cho nó
có thể xác định cấp độ truy cập cho từng người dùng tại cơ sở dữ liệu, bảng hoặc cột
cấp độ. Mặc dù các bảng này cho phép quản trị viên đặt quyền bao trùm
đối với người dùng hoặc nhóm bảng sử dụng ký tự đại diện, làm như vậy vốn đã nguy hiểm
vì tin tặc có thể sử dụng một tài khoản bị xâm phạm để có quyền truy cập vào tài khoản khác
các bộ phận của hệ thống. Vì lý do này, hãy chính xác khi chỉ định người dùng
đặc quyền và luôn đảm bảo rằng người dùng chỉ có nhiều quyền truy cập như họ cần
để thực hiện nhiệm vụ của họ. Đặc biệt, hãy cảnh giác với việc gán đặc quyền SUPER cho người dùng cá nhân, vì điều này
cấp độ cho phép người dùng thao tác cấu hình máy chủ cơ bản và truy cập tất cả
cơ sở dữ liệu


Mẹo. Sử dụng lệnh SHOW PRIVILEGES cho
từng tài khoản người dùng để kiểm tra các bảng cấp của bạn và xem liệu việc sử dụng ký tự đại diện
quyền là phù hợp


Bước 2. Yêu cầu sử dụng mật khẩu an toàn

Tài khoản người dùng chỉ an toàn như mật khẩu được sử dụng để
bảo vệ chúng. Vì lý do này, điều đầu tiên bạn nên làm khi bạn
cài đặt MySQL là gán mật khẩu cho root MySQL
tài khoản (trống theo mặc định). Khi bạn đã đóng lỗ hổng này, bước tiếp theo
là yêu cầu mọi tài khoản người dùng phải có mật khẩu và đảm bảo rằng
mật khẩu không sử dụng phỏng đoán dễ nhận biết như ngày sinh nhật, người dùng
tên hoặc từ điển


Mẹo. Sử dụng tùy chọn MySQL –secure-auth để
ngăn chặn việc sử dụng các định dạng mật khẩu MySQL cũ hơn, kém an toàn hơn


Bước 3. Kiểm tra quyền của các tập tin cấu hình

Rất thường xuyên, để làm cho kết nối máy chủ nhanh hơn và nhiều hơn nữa
thuận tiện, cả người dùng cá nhân và quản trị viên máy chủ đều lưu trữ người dùng của họ
mật khẩu tài khoản trong các tùy chọn MySQL cho mỗi người dùng của họ
tập tin. Tuy nhiên, mật khẩu này được lưu trữ ở dạng văn bản thuần túy trong tệp và
có thể dễ dàng được đọc. Do đó, điều quan trọng là phải đảm bảo rằng mỗi người dùng đó
các tệp cấu hình không thể xem được bởi những người dùng khác của hệ thống và
được lưu trữ ở những nơi không công khai. Lý tưởng nhất là bạn muốn cấu hình theo người dùng
được lưu trữ trong thư mục chính của người dùng với quyền 0600

Bước 4. Mã hóa truyền máy khách-máy chủ

Một vấn đề quan trọng trong máy khách-máy chủ MySQL (và bất kỳ)
kiến trúc liên quan đến bảo mật dữ liệu được truyền qua mạng
Nếu các giao dịch máy khách-máy chủ diễn ra dưới dạng bản rõ, thì có thể
tin tặc để "đánh hơi" các gói dữ liệu được truyền đi và do đó thu được
truy cập thông tin nhạy cảm. Bạn có thể đóng lỗ hổng này bằng cách bật SSL
trong cấu hình MySQL của bạn hoặc bằng cách sử dụng tiện ích shell an toàn như OpenSSH để tạo một “đường hầm” được mã hóa an toàn cho
dữ liệu của bạn đi qua. Mã hóa kết nối máy khách-máy chủ của bạn trong này
cách làm cho người dùng trái phép rất khó đọc dữ liệu trở lại
Và ra

Bước 5. Vô hiệu hóa truy cập từ xa

Nếu người dùng của bạn không cần truy cập máy chủ từ xa, bạn
có thể giảm đáng kể nguy cơ bị tấn công mạng bằng cách buộc tất cả MySQL
các kết nối diễn ra thông qua tệp ổ cắm UNIX. Điều này được thực hiện bằng cách bắt đầu
máy chủ có tùy chọn –skip-networking. Đang làm
điều này chặn các kết nối mạng TCP/IP tới MySQL và đảm bảo rằng không người dùng nào có thể
kết nối từ xa với hệ thống


Mẹo. Một cải tiến cho điều này sẽ là thêm
chỉ thị bind-address=127. 0. 0. 1 trong cấu hình máy chủ MySQL của bạn, để
buộc MySQL phải liên kết với địa chỉ IP của máy cục bộ và do đó đảm bảo rằng
chỉ người dùng trên cùng một hệ thống mới có thể kết nối với MySQL


Bước 6. Chủ động theo dõi nhật ký truy cập MySQL

MySQL đi kèm với một số tệp nhật ký khác nhau, giữ
theo dõi kết nối máy khách, truy vấn và lỗi máy chủ. Trong số này, hầu hết
quan trọng là nhật ký truy vấn chung,
ghi lại từng kết nối và ngắt kết nối máy khách bằng dấu thời gian, đồng thời
ghi lại từng truy vấn được thực hiện bởi khách hàng. Nếu bạn nghi ngờ hoạt động bất thường, chẳng hạn như
vì nó liên quan đến nỗ lực đột nhập mạng, nên theo dõi
nhật ký này để hiểu rõ nguồn gốc của hoạt động

Bảo vệ cơ sở dữ liệu MySQL của bạn là một nhiệm vụ đang diễn ra và do đó
bạn không nên nghỉ ngơi một khi bạn đã thực hiện các bước trên. Truy cập MySQL
hướng dẫn sử dụng và diễn đàn MySQL để biết thêm mẹo bảo mật và chủ động trong
theo dõi và cập nhật bảo mật cho hệ thống của bạn. Chúc may mắn

Cách bảo mật cơ sở dữ liệu MySQL khỏi tin tặc

Bản tin nội bộ công nghệ hàng ngày

Luôn cập nhật những thông tin mới nhất về công nghệ với Daily Tech Insider. Chúng tôi mang đến cho bạn tin tức về các công ty, sản phẩm và con người hàng đầu trong ngành, cũng như các bài viết nổi bật, nội dung tải xuống và các tài nguyên hàng đầu. Bạn sẽ nhận được tài liệu hướng dẫn về các chủ đề công nghệ nóng hổi sẽ giúp bạn dẫn đầu cuộc chơi

Cơ sở dữ liệu MySQL có thể bị hack không?

“Các cơ sở dữ liệu dựa trên MySQL bao gồm MySQL, MariaDB và PerconaDB bị ảnh hưởng bởi lỗ hổng leo thang đặc quyền có thể cho phép những kẻ tấn công đã có quyền truy cập vào người dùng hệ thống mysql tiếp tục leo thang đặc quyền của chúng đối với người dùng root, cho phép chúng xâm phạm hoàn toàn hệ thống

Cơ sở dữ liệu MySQL có thể được mã hóa không?

MySQL Enterprise TDE cho phép mã hóa dữ liệu lưu trữ bằng cách mã hóa các tệp vật lý của cơ sở dữ liệu . Dữ liệu được mã hóa tự động, theo thời gian thực, trước khi ghi vào bộ nhớ và được giải mã khi đọc từ bộ nhớ.

MySQL có đủ an toàn không?

MySQL sử dụng các biện pháp bảo mật hiệu quả như mã hóa và quản lý đặc quyền, giúp cho nó đủ an toàn để chạy trong môi trường sản xuất .

Hai tùy chọn nào sẽ cải thiện tính bảo mật của phiên bản MySQL?

11 cách cải thiện bảo mật MySQL .
Bỏ cơ sở dữ liệu thử nghiệm. .
Xóa tất cả tài khoản ẩn danh. .
Thay đổi ánh xạ cổng mặc định. .
Thay đổi máy chủ nào có quyền truy cập vào MySQL. .
Không chạy MySQL với đặc quyền cấp gốc. .
Xóa và vô hiệu hóa tệp lịch sử MySQL. .
Vô hiệu hóa đăng nhập từ xa. .
Giới hạn hoặc Vô hiệu hóa SHOW DATABASES