Bảo mật cơ sở dữ liệu sql server là gì

Trong bài viết này, chúng tôi đề cập đến ba phương pháp hay nhất về bảo mật quan trọng mà một người phải tuân theo nếu họ đang sử dụng SQL Server như nguyên thủy của họcơ sở dữ liệu sản xuất ary.

Bảo mật cơ sở dữ liệu sql server là gì
An ninh của SQL Server cơ sở dữ liệu là điều mà bất kỳ tổ chức nào cũng hiếm khi xem nhẹ. Cơ sở dữ liệu thuộc về một tổ chức không chỉ là tập hợp các bản ghi quan trọng mà còn tạo thành tài sản hữu ích cho công ty. Nếu bất kỳ tổ chức hoặc DBA nào bất cẩn về tính bảo mật của cơ sở dữ liệu hoặc bản sao lưu cơ sở dữ liệu, điều đó có thể dẫn đến tổn thất và thiệt hại nghiêm trọng cho công ty cũng như danh tiếng của công ty. Điều này không chỉ có hại cho công ty mà còn cho DBA, người sẽ chịu trách nhiệm cho bất kỳ điều gì không mong muốn xảy ra. SQL Server đi kèm với nhiều tính năng bảo mật tích hợp để cho phép người dùng cung cấp tất cả sự bảo vệ cần thiết cho cơ sở dữ liệu của họ. Nếu một DBA không sử dụng hết ứng dụng và các tính năng bảo mật của nó, thì bảo mật cơ sở dữ liệu chắc chắn sẽ bị ảnh hưởng. Trong số nhiều tính năng và thực hành, SQL Server cung cấp cho người dùng quyền truy cập, dưới đây là 3 trong số các phương pháp bảo mật quan trọng nhất dành cho bạn SQL Server cơ sở dữ liệu.

  1. Giảm người dùng không mong muốn - Một trong số chúngost lý do phổ biến khiến cơ sở dữ liệu của bạn trở nên không an toàn là có rất nhiều người dùng không mong muốn được phép truy cập cơ sở dữ liệu và bản sao lưu cơ sở dữ liệu. Điều này làm cho cơ sở dữ liệu và các bản sao lưu của nó dễ bị tổn thương trước nhiều thay đổi không mong muốn do người dùng không mong muốn thực hiện, do đó gây rủi ro cho tính toàn vẹn của cơ sở dữ liệu. Những người dùng này có thể sao chép dữ liệu vào một máy chủ từ xa, xóa các bản sao lưu và thực hiện nhiều thay đổi không cần thiết khác có thể khiến tổ chức rơi vào tình thế khó khăn. Do đó, DBA phải luôn đảm bảo rằng chỉ những người cần quyền truy cập vào cơ sở dữ liệu và bản sao lưu mới được cấp quyền truy cập và mọi hình thức truy cập trái phép đều bị nghiêm cấm.
  2. Bảo mật cơ sở dữ liệu sql server là gì
    Chọn Xác thực Windows thay vì Chế độ xác thực SQL – SQL Server người dùng nên sử dụng Windows Authentication hơn SQL Server hoặc Xác thực chế độ hỗn hợp. Xác thực Windows không chỉ yêu cầu bạn nhập chi tiết tài khoản windows mà còn cả thông tin đăng nhập tài khoản SQL của bạn, nó cũng sử dụng Active Directory, chính sách mật khẩu và nhóm tài khoản. Tất cả điều này làm cho Windows Authentication an toàn hơn. Trong khi SQL Server đăng nhập sẽ chỉ yêu cầu chi tiết tài khoản SQL của bạn để cung cấp cho bạn quyền truy cập vào cơ sở dữ liệu của mình. Bằng cách sử dụng Xác thực Windows, bạn có thể làm cho cơ sở dữ liệu của mình an toàn hơn so với việc sử dụng SQL Server xác thực. Nếu bạn đang sử dụng SQL Server Xác thực, bạn không nên sử dụng Tài khoản Quản trị viên Hệ thống.
  3. Tận dụng mã hóa – Đây là một trong những cách dễ nhất và most cách ưa thích để bảo mật cơ sở dữ liệu và sao lưu cơ sở dữ liệu. Bằng cách sử dụng mã hóa cho cơ sở dữ liệu của mình, bạn không chỉ có thể giới hạn các hành động được thực hiện với cơ sở dữ liệu mà còn giới hạn người có thể truy cập cơ sở dữ liệu. Tất cả những điều này kết hợp để làm cho cơ sở dữ liệu của bạn an toàn và được bảo vệ hơn. Không ai có thể sao chép dữ liệu từ cơ sở dữ liệu được mã hóa, do đó sẽ không có phạm vi dữ liệu được sao chép ở bất kỳ nơi nào khác. Mã hóa làm giảm các trường hợp đánh cắp dữ liệu và vi phạm bảo mật, do đó trở thành một trong những phương pháp hay nhất để bảo mật cơ sở dữ liệu.

Cuối cùng nhưng không kém phần quan trọng, hãy luôn giữ một sửa lỗi sql công cụ hữu ích để đối phó với các tình huống khủng hoảng phát sinh bất ngờ. Nó sẽ hoạt động như tuyến phòng thủ cuối cùng chống mất dữ liệu.

Giới thiệu tác giả:

Victor Simon là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm truy cập sửa chữa và các sản phẩm phần mềm phục hồi sql. Để biết thêm thông tin, hãy truy cập www.datanumennăm

1. Login và user SQL Server cho phép truy nhập vào hệ thống thông qua các login. Chỉ khi có quyền ở mức độ nhất định bạn mới có thể tạo thêm login. Trong SSMS bạn có thể xem các login này bằng cách mở rộng node Security/Logins. Các login này mới chỉ có quyền truy nhập vào server chứ chưa hẳn đã truy nhập được vào các database chứa trong đó. Đến lượt mỗi database lại duy trì một danh sách các user, các user này luôn luôn đính (mapped) với một login ở mức server. Khi bạn đăng nhập vào SQL Server thông qua login này, bạn sẽ có quyền truy nhập vào database theo quyền hạn mà user tương ứng với nó được cung cấp. Bạn xem các user này bằng cách mở rộng node Security/Users của database tương ứng. Ví dụ, tôi có một login tên là vuht2000 trong SQL Server. Ở database db1 tôi có user vuht2000 được gắn với login vuht2000, và user này chỉ có quyền đọc. Ở database db2 tôi cũng có user vuht2000 được gắn với cùng login trên, và user này có quyền đọc/ghi. Khi truy nhập vào SQL Server bằng login vuht2000, bạn sẽ có quyền đọc trên database db1 và đọc/ghi trên database db2.

2. Server role Role thực chất là tập hợp một nhóm các quyền và đại diện bằng một tên để thuận tiện cho việc quản lý. Server role là nhóm các quyền ở mức server mà login khi được cấp sẽ có thể thực hiện một số thao tác nhất định ở mức server. Ví dụ role sysadmin có toàn quyền hoạt động trong server (tạo database, khởi động lại server…) và tự khắc nó cũng có quyền truy nhập vào tất cả database, diskadmin chỉ có quyền trong các thao tác về đĩa (như bổ sung thêm file vào database…). Login khi mới được tạo sẽ có role public, role này thực chất không có quyền gì ngoài quyền truy nhập vào server. Thông thường chỉ DBA mới nên có quyền sysadmin, còn các developer chỉ cần role public và bổ sung thêm khi cần.

3. Database role Cũng với mục đích như vậy, database role tập hợp các quyền truy nhập vào database thành từng nhóm để dễ tạo lập và sửa đổi. Ví dụ role db_datareader có quyền đọc dữ liệu từ tất cả các bảng, role db_datawriter có quyền ghi vào tất cả các bảng; role db_owner có quyền cao nhất trong database (tạo bảng, tạo thủ tục, thực thi thủ tục…). Các user đều mặc định có role public. Khi user chỉ có role public, user chỉ có thể nhìn thấy tên database mà không có quyền gì khác.

4. Authentication SQL Server xác thực các đăng nhập bằng hai cơ chế, windows authentication và SQL Server authentication. Việc này bắt nguồn từ khi tạo login trong SQL Server. Khi bạn tạo một login mới, SQL Server sẽ yêu cầu bạn chọn cơ chế xác thực windows hay SQL Server cho login đó. Nếu chọn windows, bạn cần cung cấp một windows account và SQL Server sẽ chỉ lưu tên của account đó trong danh sách login. Nếu chọn SQL Server authentication, bạn cần cung cấp login name và password và cả hai đều được lưu trong SQL Server. Khi đăng nhập vào SQL Server, bạn cũng sẽ phải chọn một trong hai cơ chế xác thực. Nếu chọn windows, chính account hiện đang đăng nhập vào windows được dùng. Bạn không có quyền chọn login và thực tế, SQL Server sẽ vòng xuống windows và kiểm tra xem account nào đang đăng nhập vào windows, nó sẽ lấy account đó và xem có nằm trong danh sách login của nó hay không. Nếu có thì nó cho vào còn nếu không nó sẽ chặn lại. Còn với SQL Server authentication thì cơ chế giống như bình thường – bạn cung cấp login ID và password. SQL Server sẽ kiểm tra và quyết định có cho vào hay không. Một điểm cần lưu ý là với login sử dụng windows authentication, SQL Server chỉ lưu login name và không hề lưu password. Và khi đăng nhập nếu bạn cố tình chọn sang SQL Server authentication, hệ thống sẽ không xác thực cho bạn.

Nguồn: sqlviet[dot]com