/ / Защита на файловете в базата данни - .net, sql-server, security

Защита на файловете в базата данни - .net, sql-server, security

Имам Windows .net приложение, използващо SQL Server 2005 Express като база данни, която се използва на сървър с множество клиенти. Потребителите вмъкват, преглеждат и актуализират данните чрез приложението.

За това трябва да поставя .mdf файловете в папка на сървъра. Има ли друг начин?

Сега в този случай всеки може да вземе тези .mdf файлове и да ги отвори в своя SQL Server и да прегледа обектите на базата данни като таблици, изгледи и процедури.

Затова искам да защитя файловете с .mdf с висока или максимална сигурност и да гарантирам, че:

  1. никой не може дори да копира тези файлове от сървъра.

  2. ако файловете се копират, те не трябва да се отварят,

  3. ако е отворен, те трябва да поискат пароли

Така че, моля да ме упъти как да приложим тази сигурност?

Също така, искам да знам, когато някой копира файловете на базата данни, след това дали потребителят, данните за вход, ролите също са копирани или не?

Отговори:

1 за отговор № 1

Разгледахме и това. В действителност с SQL Express, някой може просто да спре услугата и да копира файловете на базата данни без проблем. След това те могат да бъдат пренесени в друг пример.

Сигурността на Windows и други продукти, независимо дали използвате групови правила или други инструменти след пазара, които могат да блокират файловата система, са най-добрите ви залози за сигурност на файловата система.

Вярвам, че SQL предлага точно това, което търсите и това е TDE криптиране. За съжаление това е достъпно само в Enterprise Edition и колко хора правят това, което всъщност помага.

Можете също така да шифровате директно определени колонивъв вашата база данни. Ако имате определен набор от таблици, за които се притеснявате, това е може би най-добрият вариант, предлаган с Express в текущия момент.

Вижте тази статия от Dave Pinal: http://blog.sqlauthority.com/2009/04/28/sql-server-introduction-to-sql-server-encryption-and-symmetric-key-encryption-tutorial-with-script/

Опитах го и работи добре, за да защити чувствителните ви данни.


1 за отговор № 2

Вярвам, че в SQL Server можете да активирате криптирането, ако някой получи вашето .mdf, но няма валидни пълномощия, не трябва да може да вижда данните в него.


1 за отговор № 3

Може би искате да помислите за действително използване насървър на база данни, вместо просто файл с база данни. Използването на сървър ще ви позволи да заключите кой има достъп до базата данни и да го направите така, че само вашето приложение (чрез потребителско име и парола) да има достъп.

Това би означавало използването на SQL Server 2005 Express (мисля, че е ограничен на броя на връзките) или MySql Server.

Ако това наистина не е опция:

1) Ще трябва да защитите папката, но това може да означава, че приложението ви няма да има достъп и до mdf.

2 и 3) И двете могат да бъдат трудни. Мисля, че има някои инструменти на трета страна, които могат да криптират файл за вас, но това ще означава, че трябва да промените приложението си и как да го достигне.

4) Можете да направите персонализирана услуга, която наблюдавадиректорията, но няма да можете да разберете дали вътрешните аспекти на mdf се копират или не. Като цяло, ако mdf е копие, вероятно сте сигурни, че ролите, данните за вход и потребителите са копирани с него.