Rozważania dotyczące bezpieczeństwa przeglądarek dokumentów .NET w aplikacjach korporacyjnych
← Back to Blog9 min read

Rozważania dotyczące bezpieczeństwa przeglądarek dokumentów .NET w aplikacjach korporacyjnych

Wprowadzenie

Architektura bezpieczeństwa dla osadzonych przeglądarek dokumentów .NET z Doconut
Architektura bezpieczeństwa dla osadzonych przeglądarek dokumentów .NET z Doconut

Budowanie przeglądarki dokumentów opartej na .NET oznacza, że od samego początku musisz myśleć o bezpieczeństwie. Gdy osadzasz przeglądarkę w aplikacji korporacyjnej .NET, kluczowe pytanie brzmi jak zachować poufność treści, jednocześnie zapewniając użytkownikom bogate, interaktywne doświadczenie. Niezależnie od tego, czy tworzysz system zarządzania dokumentami (DMS), portal klienta, czy przepływ pracy w branży legal‑tech, musisz chronić własność intelektualną, dane osobowe oraz wszelkie informacje wymagane przepisami na każdym etapie łańcucha wyświetlania. W tym artykule przeprowadzimy starszych programistów i architektów przez najczęstsze wektory ataków, wybory architektoniczne minimalizujące ryzyko oraz wyjaśnimy, dlaczego uniwersalna przeglądarka dokumentów Doconut została zbudowana jako bezpieczna podstawa dla każdej .NET‑owej aplikacji skoncentrowanej na dokumentach.


1. Krajobraz zagrożeń dla osadzonych przeglądarek

Nawet pięknie zaprojektowany interfejs może stać się powierzchnią ataku, jeśli przeglądarka wycieka dane lub uruchamia niezweryfikowany kod. Poniżej trzy kategorie zagrożeń, z którymi najprawdopodobniej się spotkasz:

ZagrożenieTypowa manifestacjaSkutek biznesowy
Eksfiltracja danychBezpośrednie linki do pobrania, niezaszyfrowane API lub renderowanie po stronie klienta, które przesyła surowe bajty do przeglądarki.Utrata poufnych umów, naruszenia danych osobowych (PII), kary regulacyjne.
Cross‑site scripting (XSS) i wstrzykiwanieZłośliwy znacznik wewnątrz pliku PDF lub Office, który wywołuje wykonanie skryptu podczas renderowania.Przejęcie sesji, kradzież poświadczeń, pivot ransomware.
Nieautoryzowana manipulacjaUżytkownicy dodający lub modyfikujący adnotacje, a następnie eksportujący zmieniony plik bez ścieżki audytu.Spory prawne, sfałszowane rekordy, naruszenia zgodności.

Ponieważ przeglądarki często muszą renderować złożone formaty (PDF, DOCX, DWG itp.) i obsługiwać funkcje takie jak adnotacje i OCR, ścieżki kodu rosną – a większe powierzchnie ataku są bardziej kuszące. Pierwsza linia obrony? Utrzymanie wyraźnego rozdzielenia zaufanego przetwarzania po stronie serwera i kontrolowanej interakcji po stronie klienta.


2. Renderowanie po stronie serwera vs. po stronie klienta w .NET

Dlaczego renderowanie po stronie serwera ma znaczenie

  • Zero ekspozycji danych – Surowy plik nigdy nie opuszcza zaufanego backendu. Do przeglądarki trafiają jedynie renderowane obrazy lub bezpieczne fragmenty HTML.
  • Centralne egzekwowanie polityk – Szyfrowanie, redakcja i oznaczenia wizualne mogą być stosowane jednolicie, zanim dokument trafi do jakiegokolwiek użytkownika.
  • Skalowalne izolowanie – Ciężkie konwersje (np. przekształcanie CAD DWG w obraz rastrowy) mogą działać w odizolowanych zadaniach w tle, ograniczając zasięg potencjalnego naruszenia.

Kiedy renderowanie po stronie klienta jest dopuszczalne

  • Podglądy o niskiej wrażliwości (publiczne broszury), gdzie najważniejsza jest niska latencja.
  • Środowiska, w których cała infrastruktura jest odizolowana (air‑gapped) i klient działa na zaufanym urządzeniu korporacyjnym.

Zrównoważona architektura Doconut

Doconut utrzymuje ciężkie konwersje, OCR i przygotowanie adnotacji na serwerze, jednocześnie dostarczając lekką, przeglądarkę opartą na HTML5, działającą w dowolnej nowoczesnej przeglądarce. Przeglądarka nie wymaga wtyczek firm trzecich, a wszystkie renderowane strumienie pochodzą z komponentu Viewer po stronie serwera. To rozwiązanie eliminuje wzorzec „pobierz‑oryginalny‑plik”, na którym opierają się wiele niebezpiecznych rozwiązań.

Jak zarejestrować Doconut w potoku ASP.NET Core

Zamiast fragmentu kodu, potraktuj rejestrację jako dodanie komponentu middleware, który przechwytuje żądania do punktu końcowego obrazu Doconut (np. DocImage.axd) i kieruje je przez silnik renderujący Doconut. Middleware weryfikuje każde żądanie względem istniejącej logiki uwierzytelniania/autoryzacji, zanim zezwoli na przesłanie strumienia obrazu do klienta. Konfigurując middleware tak, aby odrzucał każde żądanie nie spełniające kryteriów bezpieczeństwa, zapewniasz, że renderowane są wyłącznie zweryfikowane dokumenty.


3. Kontrola dostępu, uwierzytelnianie i autoryzacja

Strategia kontroli dostępu

Zamiast udostępniać statyczną ścieżkę pliku lub publiczny URL, zintegruj Doconut z istniejącym dostawcą tożsamości. Gdy użytkownik żąda dokumentu, kod po stronie serwera powinien:

  1. Zweryfikować tożsamość i role użytkownika za pomocą standardowego potoku uwierzytelniania ASP.NET Core.
  2. Wykonać dodatkowe kontrole logiki biznesowej (np. sprawdzić, czy użytkownik należy do właściwego działu lub posiada określone roszczenie).
  3. Jeśli kontrole przejdą, wywołać przeglądarkę Doconut, aby wygenerować bezpieczny strumień dla żądanej strony dokumentu. Strumień jest powiązany z bieżącym żądaniem HTTP, więc nie może być ponownie użyty po zakończeniu sesji.

Uprawnienia do adnotacji

Plugin Annotation firmy Doconut działa na poziomie pojedynczej strony. Po potwierdzeniu praw użytkownika serwer tworzy AnnotationManager dla żądanej strony. Jeśli użytkownik nie posiada odpowiedniego roszczenia (np. CanAnnotate), serwer zwraca widok tylko do odczytu, a każda próba wysłania zmian adnotacji zostanie odrzucona z odpowiedzią 403. Dzięki temu tylko upoważniony personel może dodawać lub modyfikować komentarze recenzenckie.


4. Zapobieganie wyciekom danych: szyfrowanie, oznaczenia wizualne i kontrolowane drukowanie

Szyfrowanie end‑to‑end

Wszystkie strumienie dokumentów obsługiwane przez Doconut przemieszczają się przez HTTPS i są szyfrowane w spoczynku przy użyciu wybranego dostawcy przechowywania (Azure Blob, Transparent Data Encryption w SQL itp.). Przeglądarka otrzymuje jedynie rasteryzowane strony, nigdy oryginalny plik, więc klient nie uzyskuje bezpośredniego dostępu do źródłowego dokumentu.

Oznaczenia wizualne (znaki wodne) za pomocą adnotacji

Ponieważ renderowanie odbywa się po stronie serwera, możesz dodać adnotację specyficzną dla użytkownika — na przykład półprzezroczysty nakład tekstowy zawierający imię, e‑mail i znacznik czasu przeglądającego — przed wysłaniem strony do przeglądarki. Takie podejście zniechęca do robienia zrzutów ekranu i dostarcza dowodów kryminalistycznych w razie wycieku, pozostając w granicach zweryfikowanych możliwości adnotacji Doconut.

Kontrolowane drukowanie

Wiele firm wymaga, aby dokumenty były drukowane tylko na autoryzowanych urządzeniach lub z ograniczoną liczbą kopii. Funkcja Controlled Printing Doconut pozwala przechwycić polecenie drukowania po stronie serwera, zweryfikować rolę użytkownika i opcjonalnie wstawić notatkę „Wydrukowano” do generowanego PDF. Zadanie drukowania jest tworzone po stronie serwera, więc klient nigdy nie otrzymuje nieoznakowanej wersji dokumentu.


5. Audyt, logowanie i zgodność dla OCR i adnotacji

Nieodwracalne ścieżki audytu

Każda operacja adnotacji — dodanie, modyfikacja, usunięcie — generuje ładunek XML, który może być zapisany w nieodwracalnym logu (np. Azure Append Blob lub niezmienialnej tabeli bazy danych). Metoda GetAnnotationXml() Doconut zwraca dokładny stan po każdej zmianie, co umożliwia przechowywanie XML wraz ze znacznikiem czasu i identyfikatorem użytkownika. W połączeniu z kontrolą bezpieczeństwa na poziomie żądania możesz odtworzyć kto co widział, kiedy i jak wchodził w interakcję.

Bezpieczne przetwarzanie OCR

OCR jest niezbędny do przeszukiwalnych PDF‑ów, ale wprowadza ryzyko: silnik OCR może nieumyślnie udostępnić surowy tekst klientowi. Doconut uruchamia OCR po stronie serwera i zwraca jedynie indeks danych do wyszukiwania. Skanowany obraz pozostaje zaszyfrowany, a tekst przeszukiwalny znajduje się w pamięci tylko do odczytu, respektującej te same zasady cyklu życia żądania co reszta przeglądarki.

Zgodność regulacyjna

Ponieważ całe przetwarzanie odbywa się w Twojej infrastrukturze (lub w prywatnej chmurze, którą kontrolujesz), Doconut pomaga spełnić wymogi GDPR, HIPAA i PCI‑DSS, które zakazują przesyłania chronionych danych do zewnętrznych usług SaaS. Architektura produktu wspiera także logi gotowe do audytu, co znacznie upraszcza przygotowanie raportów zgodności.


6. Jak Doconut przekształca wymagania bezpieczeństwa w przewagę konkurencyjną

Wymóg bezpieczeństwaFunkcja DoconutKorzyść biznesowa
Zero eksfiltracji danychKonwersja po stronie serwera i renderowanie strumieniowePoufne pliki nigdy nie opuszczają zaufanego środowiska.
Ochrona przed XSSSanitowany output HTML, brak wykonywania skryptów po stronie klienta z dokumentówRedukuje powierzchnię ataku bez dodatkowego kodu.
Granularna egzekucja uprawnieńMiddleware świadomy roszczeń, menedżer adnotacji na poziomie stronyZgodność z istniejącymi modelami RBAC i mniejsze obciążenie administratorów.
Kontrolowane drukowanie i znaki wodneWbudowany workflow drukowania z nakładkami adnotacjiZniechęca do wycieków i zapewnia ślady forensyczne.
AudytowalnośćGetAnnotationXml(), strumienie scoped do żądania, logi serweraUłatwia raportowanie zgodności dla finansów, prawa i ochrony zdrowia.
Skalowalne OCRPlugin OCR po stronie serwera, indeks przeszukiwalny zwracany jako JSONUmożliwia natychmiastowe wyszukiwanie w milionach stron bez ujawniania surowego tekstu.
Dostawa wieloplatformowaPrzeglądarka HTML5 działa w każdej przeglądarce, integruje się z React, Angular, Vue lub BlazorZapewnia przyszłościową inwestycję na desktop, mobile i kioski.

Obsługując ciężkie operacje po stronie serwera, Doconut pozwala Ci skupić się na logice biznesowej — czy to routing kontraktu przez wieloetapowy proces akceptacji, czy udostępnianie rysunków inżynieryjnych w bezpiecznym portalu. Ten sam kod bazowy działa na .NET 6, .NET Core i najnowszym .NET 8, dając doświadczenie bez uzależnienia od jednego dostawcy.

Wypróbuj sam – Doconut oferuje darmowy okres próbny, który obejmuje wszystkie wtyczki przeglądarki, adnotacji, OCR i konwersji. Uruchom przykładową aplikację ASP.NET Core w kilka minut i zobacz, jak model bezpieczeństwa sprawdza się w praktyce.


Najważniejsze wnioski

  • Renderowanie po stronie serwera i dostarczanie strumieniowe eliminują ataki polegające na wykorzystaniu przestarzałych linków i utrzymują surowe pliki wewnątrz zaufanego perymetru.
  • Centralne egzekwowanie polityk (szyfrowanie, redakcja, oznaczenia adnotacyjne) odbywa się przed dotarciem danych do klienta.
  • Precyzyjne kontrole roszczeń przed otwarciem dokumentu lub włączeniem adnotacji zapewniają zgodność z korporacyjnymi modelami RBAC.
  • Kontrolowane drukowanie i nakładki adnotacyjne zniechęcają do wycieków i dostarczają dowody forensyczne.
  • Nieodwracalne logi audytowe generowane przez GetAnnotationXml() upraszczają raportowanie regulacyjne.
  • Przeglądarka HTML5 działa w każdej nowoczesnej przeglądarce, co czyni ją idealną dla front‑endów opartych na React, Angular, Vue lub Blazor.
  • Darmowy okres próbny Doconut pozwala zweryfikować bezpieczeństwo, wydajność i doświadczenie deweloperskie przed podjęciem decyzji.

Najczęściej zadawane pytania

P1: Czy Doconut wymaga zainstalowanego Microsoft Office na serwerze do konwersji Worda lub Excela?
O: Nie. Plugin Converter Doconut wykonuje wszystkie konwersje Office‑do‑PDF i inne formaty po stronie serwera bez potrzeby lokalnej instalacji Office.

P2: Czy mogę używać Doconut w środowisku odizolowanym (air‑gapped)?
O: Tak. Ponieważ Doconut przetwarza dokumenty wyłącznie w miejscu (on‑premises) i nie zależy od zewnętrznych usług SaaS, działa w sieciach odizolowanych.

P3: Jak Doconut radzi sobie z dużymi plikami?
O: Doconut strumieniuje strony dokumentu na żądanie, ładowując do pamięci jedynie niezbędne fragmenty. Takie podejście stronicowania sprawdza się w zadaniach o dużej skali i przy dużych obciążeniach.

P4: Czy przeglądarka jest dostępna dla osób niepełnosprawnych?
O: Przeglądarka HTML5 stosuje standardowe praktyki dostępności i może być rozszerzona o atrybuty ARIA, aby spełniać wytyczne WCAG.

P5: Gdzie mogę uzyskać darmowy okres próbny?
O: Odwiedź oficjalną stronę Doconut (https://doconut.com) i poproś o licencję próbną. Okres próbny obejmuje wszystkie podstawowe wtyczki — przeglądarkę, adnotacje, OCR i konwersję.

#document viewer#security#.NET#enterprise architecture#OCR#annotation#przeglądarka dokumentów#bezpieczeństwo#architektura korporacyjna#adnotacja