Obiekty BLOB w bazie MS SQL a bezpieczeństwo.

0

Hej! Mam pewne pytanie (może niektórym, wydać się dziwne), które mnie nurtuje...
Czy przechowywanie plików (typu dokumenty MS Office, PDF, TXT) jest bezpieczne? Jakie są zagrożenia.
Aplikacja uruchamiana jest w terminalu (remote desktop application), na Windows 2008 Server, użytkownik pobiera pliki ze swojego katalogu na dysku sieciowym, może je otworzyć też na terminalu w ramach aplikacji, jako tylko do odczytu (np. w Wordzie no i zapisać pod nową nazwą, na swoim dysku sieciowym)... Opcjonalnie może też zapisać plik z bazy w swoim katalogu (na dysku sieciowym) bez otwierania do dokumentu...
Czy opcja pobrania pliku z dysku lokalnego (można tak zrobić w aplikacjach terminalowych, odwołać się do dysku fizycznego komputera) była by bezpieczna?
Każdy komputer kliencki oczywiście ma aktualnego antywirusa :-)
Przy pobieraniu pliku do bazy oczywiście filtrowane jest rozszerzenie (nie można zapisać exe, dll, vxd, itp... ) oraz skanowany nagłówek pliku (plik wykonywalny w swojej treści się od znaków 'MZ')...
Serwer bazodanowy to MS SQL Server 2008...

1

raczej odradza się trzymanie plików w bazie na rzecz trzymania ich np. na ftp a w bazie tylko "namiary". Spowodowane jest to tym, że baza jako taka nie daje dla blobów żadnych plusów - nie ma indeksowania, wyszukiwania itp. A pliki takie jako iż jednostkowo zajmują dużo więcej niż "normalny" rekord mogą w krótkim czasie przyczynić się do wzrostu rozmiaru samej bazy (co też może być kłopotem przy robieniu kopii zapasowej) i spadku jej wydajności (nie wiem jak mssql sobie z plikami w blobach radzi). Co do samego bezpieczeństwa to są to dane jak każde inne i z tej strony nie stanowią jakiegoś zagrożenia. Co do tego co zrobi z tym plikiem user to już raczej jego sprawa. A co do dysku lokalnego to przy podłączaniu RD masz opcję czy mapować dyski lokalne - wtedy na RD są widoczne jak dyski sieciowe

0

Też myślałem właśnie o FILESTREAM albo o trzymaniu właśnie ścieżek w bazie, do źródła pliku...
Chodzi też o dostępność i widoczność. Tzn. użytkownik X może widzieć dokument1.pdf, użytkownik Y nie może. Natomiast, może być tak, że z poziomu programu użytkownik X przydzieli uprawnienia do podglądu na użytkownikowi Y dokument1.pdf, na czas jego nieobecności w pracy (zastępstwo)... Ogólnie, trochę relacji jest i powiązań w widoczności dokumentów w zależności od etapu...
No nic, coś wymyślę :-)

1

jeśli nie będziesz wyświetlał zawartości plików w swoim programie to masz nikłe szanse na uzyskanie efektu tylko podglądu pliku - zawsze ktoś może go sobie zapisać lokalnie i edytować. No chyba, że chodzi o to, że nie może takiego pliku zapisać powtórnie do bazy/gdziekolwiek

0

Tzn generalnie dokument uruchamiany jest z poziomu programu (na terminalu), w tymczasowym pliku tylko do odczytu. Użytkownik, może go zapisać jako... u siebie w katalogu domowym na serwerze.
Generalnie tak to wygląda: użytkownik autoryzuje się do programu poprzez kartę zbliżeniową typu MIFARE, lub poprzez login i hasło.
Są różne uprawnienia. Np. Dyrektor ma podgląd, i może nadawać zadania, zastępców. Nie może natomiast zmieniać danych w zadaniach. Do zadania można przypisać pliki, i właśnie pliki przypisywane są do zadania/przedmiotu nie do użytkownika. Natomiast, użytkownicy przypisani do zadania są zmienni (zastępstwa, przesunięcia do innych branż).
Generalnie pliki to głównie PDF i dokumenty MS Office, no czasem może jakieś zdjęcie.
Tak na prawdę warto implementować FILESTREAM? Ten moduł dodawania plików jest pomocniczy.
Główna baza jest na Oraclu (łączę się przez ODBC), natomiast ta z plikami to jest osobna baza w MS SQL Server...

1 użytkowników online, w tym zalogowanych: 0, gości: 1