12

Tôi đang tìm hướng dẫn về mã hóa các trường (và/hoặc bảng nếu có thể) cho MySQL. Tôi sẽ giải quyết cho một hướng dẫn phong nha nhưng tôi thực sự muốn lời khuyên cụ thể về quản lý việc chuyển đổi từ một lược đồ không được mã hóa để sử dụng một trong những lĩnh vực được mã hóa. Cảm ơn!Thực tiễn tốt nhất cho mã hóa MySQL?

Trả lời

8

Cùng với AES_ENCRYPT cho các trường, nếu bạn đang lưu trữ thông tin nhạy cảm, tốt hơn cả enable SSL qua dây. Cũng xem xét việc tách mạng (vlan) của các máy cơ sở dữ liệu nhạy cảm và các thực hành bảo mật tiêu chuẩn khác. Key lưu trữ là quan trọng (đó là chia sẻ aes chìa khóa treo ra, chắc chắn không phải trên máy chủ web (s)!) Và xem xét tác động vào các chỉ mục/truy vấn từ tìm kiếm hoặc tham gia dữ liệu bảng sẽ không được đơn giản như nó đã từng được.

+0

Cảm ơn, một số cân nhắc tốt ở đây –

3

Có (ít nhất) hai cách tiếp cận thực sự. Bạn có thể mã hóa dữ liệu lưu trữ trong bảng của bạn (sử dụng EAS/chức năng DES ví dụ http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html)

Hoặc bạn có thể sử dụng phân vùng đĩa cứng được mã hóa để lưu trữ các thư mục dữ liệu của bạn (ví dụ với TrueCrypt)

1

Hãy suy nghĩ những gì bạn cố gắng đạt được với mã hóa? Không có giải pháp bảo mật đơn giản nào.

Hãy nhớ rằng khóa bạn đang sử dụng để mã hóa có thể được tìm nạp từ mã của bạn. Vì vậy, từ quan điểm của hacker, nhận được rằng mã hóa là khá dễ dàng. Bạn cần phải suy nghĩ về kiến ​​trúc và infra của bạn là tốt.

+2

Trong trường hợp của webapp, mã có thể không truy cập được, tùy thuộc vào kiến ​​trúc. Kẻ trộm cắp sẽ phải thỏa hiệp cả cơ sở dữ liệu lẫn máy chủ web/container. – edoloughlin

3

Giá trị mã hóa cơ sở dữ liệu ở cấp trường là gì? Đây có phải là những gì bạn thực sự muốn, hoặc nó sẽ là đủ để mã hóa ở cấp hệ điều hành hoặc SAN? Bạn có kế hoạch để roll-over các phím, hoặc chỉ giữ cùng một khóa mã hóa cho cõi đời đời? Việc mã hóa sẽ phá vỡ các chỉ mục bảng, các tham chiếu hoặc các kiểu trường? Làm thế nào bạn sẽ chia sẻ khóa mã hóa trên một cụm cơ sở dữ liệu?

Tôi chỉ huy những điểm này bởi vì mã hóa cơ sở dữ liệu thường là một cái gì đó quản lý muốn, nhưng không ai thực sự có thể giải thích những giá trị gia tăng hoặc làm thế nào nó sẽ được thực hiện ...

+2

giá trị gia tăng là tuân thủ HIPAA, ít nhất là đối với một số. –

0

Trước hết, chỉ có dữ liệu mã hóa không phải là câu trả lời.

Bạn nên biết và kiểm soát "Ai có thể truy cập và truy cập dữ liệu".

Mặc dù bạn mã hóa dữ liệu, nhưng kẻ tấn công có thể lấy dữ liệu được mã hóa. Để ngăn chặn nó, bạn nên kiểm soát đặc quyền hoặc quyền truy cập. Ngoài ra, bạn nên biết ai đã truy cập dữ liệu được mã hóa. Bởi vì trong những ngày này, dữ liệu có thể bị đánh cắp bởi không chỉ người dùng bên ngoài mà còn cả người dùng nội bộ.

Bạn nên mã hóa dữ liệu, kiểm soát đặc quyền và kiểm tra người đã truy cập.

Trong những ngày đó, ba (3) công nghệ đó đã được phát triển theo từng cách. Hầu hết các công ty đã mua từng giải pháp.

Nhưng đối với người dùng cá nhân, thật khó để mua và tự xây dựng môi trường đó. Ngoài ra, Chức năng mã hóa của MySQL không cung cấp các chức năng đó.

Tôi muốn xem lại điều này link cung cấp ba (3) chức năng đó.

Theo kinh nghiệm của tôi, nó có thể cung cấp sự bảo mật nhất định. (Tôi là CISO của SME.)

Các vấn đề liên quan