Bezpečnostní úvahy pro .NET prohlížeče dokumentů v podnikových aplikacích
← Back to Blog8 min read

Bezpečnostní úvahy pro .NET prohlížeče dokumentů v podnikových aplikacích

Úvod

Bezpečnostní architektura pro vložené .NET prohlížeče dokumentů s Doconut
Bezpečnostní architektura pro vložené .NET prohlížeče dokumentů s Doconut

Budování .NET‑based prohlížeče dokumentů znamená, že musíte myslet na bezpečnost od prvního dne. Když vložíte prohlížeč do podnikového .NET aplikace, hlavní otázkou je jak udržet obsah důvěrný a zároveň uživatelům poskytnout bohatý, interaktivní zážitek. Ať už vytváříte DMS, zákaznický portál nebo workflow pro právní technologie, musíte chránit duševní vlastnictví, osobní údaje i informace vyžadované regulacemi v každém kroku zobrazovacího řetězce. V tomto článku provedeme senior vývojáře a architekty nejčastějšími vektory útoků, architektonickými volbami, které udržují riziko nízké, a proč je univerzální prohlížeč dokumentů Doconut postavený jako bezpečný základ pro jakékoli .NET řešení zaměřené na dokumenty.


1. Hrozby pro vložené prohlížeče

I když je UI krásně navrženo, může se stát povrch útoku, pokud prohlížeč uniká data nebo spouští nedůvěryhodný kód. Níže jsou tři kategorie hrozeb, se kterými se pravděpodobně setkáte:

HrozbaTypická manifestaceObchodní dopad
Data exfiltrationPřímé odkazy ke stažení, nezabezpečené API nebo client‑side renderování, které odesílá surové bajty do prohlížeče.Ztráta důvěrných smluv, úniky osobních údajů (PII), regulatorní pokuty.
Cross‑site scripting (XSS) & injectionŠkodlivý markup uvnitř PDF nebo Office souboru, který spustí skript při renderování.Převzetí relace, krádež přihlašovacích údajů, ransomware pivot.
Unauthorized manipulationUživatelé přidávají nebo upravují anotace a poté exportují změněný soubor bez auditních stop.Právní spory, falšované záznamy, porušení souladnosti.

Protože prohlížeče často potřebují renderovat složité formáty (PDF, DOCX, DWG atd.) a podporovat funkce jako annotation a OCR, rozšiřují se kódové cesty – a tím i povrchy útoku. První obranná linie? Udržet jasné oddělení mezi trusted server‑side processing a controlled client‑side interaction.


2. Server‑side vs. client‑side renderování v .NET

Proč je důležité renderování na serveru

  • Žádné úniky dat – Surový soubor nikdy neopustí důvěryhodný backend. Do prohlížeče putují jen renderované obrázky nebo bezpečné HTML fragmenty.
  • Centralizovaná vynucení politik – Šifrování, redakce a vizuální označení lze aplikovat jednotně před tím, než dokument dosáhne jakéhokoli uživatele.
  • Škálovatelná izolace – Náročná konverze (např. převod CAD DWG na rastrový obrázek) může běžet v izolovaných background jobech, čímž se omezuje dopad kompromitovaného požadavku.

Kdy je akceptovatelné renderování na klientovi

  • Náhledy s nízkou citlivostí (veřejné brožury), kde je hlavní prioritou latence.
  • Prostředí, kde je celá infrastruktura air‑gapped a klient běží na důvěryhodném korporátním zařízení.

Vyvážená architektura Doconut

Doconut udržuje těžkou konverzi, OCR a přípravu anotací na serveru, zatímco poskytuje lehký, HTML5‑based viewer, který běží v jakémkoli moderním prohlížeči. Viewer nikdy nevyžaduje třetí‑stranné pluginy a veškeré renderování pochází ze streamů, které vznikají v server‑side komponentě Viewer. Tento design eliminuje vzor „stáhnout‑originální‑soubor“, na který se mnoho nebezpečných řešení spoléhá.

Jak zaregistrovat Doconut v ASP.NET Core pipeline

Místo ukázky kódu si představte registraci jako přidání middleware komponenty, která zachytí požadavky na Doconut endpoint pro obrázky (např. DocImage.axd) a nasměruje je přes renderovací engine Doconut. Middleware ověří každý požadavek vůči vaší existující autentizační/autorizační logice, než povolí odeslání image streamu klientovi. Nastavením middleware tak, aby odmítl jakýkoli požadavek, který nesplňuje vaše bezpečnostní kritéria, zajistíte, že budou renderovány jen prověřené dokumenty.


3. Řízení přístupu, autentizace a autorizace

Strategie řízení přístupu

Místo vystavení statické cesty k souboru nebo veřejné URL integrujte Doconut s vaším existujícím poskytovatelem identity. Když uživatel požaduje dokument, váš server‑side kód by měl:

  1. Ověřit identitu uživatele a role pomocí standardního ASP.NET Core autentizačního pipeline.
  2. Proved další kontrolu obchodní logiky (např. ověření, že uživatel patří do správného oddělení nebo má konkrétní claim).
  3. Pokud kontroly projdou, zavolat Doconut viewer k vygenerování secure stream pro požadovanou stránku dokumentu. Stream je svázán s aktuálním HTTP požadavkem, takže po ukončení relace nelze znovu použít.

Oprávnění k anotacím

Doconut Annotation Plugin funguje na úrovni jednotlivých stránek. Po potvrzení práv uživatele server vytvoří AnnotationManager pro požadovanou stránku. Pokud uživatel postrádá odpovídající claim (např. CanAnnotate), server vrátí pouze read‑only view a jakýkoli pokus o odeslání změn anotací bude odmítnut odpovědí 403. Tím je zajištěno, že jen oprávněný personál může přidávat nebo měnit recenzní komentáře.


4. Prevence úniku dat: šifrování, vizuální označení a kontrolovaný tisk

End‑to‑End šifrování

Všechny dokumentové streamy zpracovávané Doconut přenáší HTTPS a jsou šifrovány v klidu pomocí vámi zvoleného úložiště (Azure Blob, SQL Transparent Data Encryption atd.). Viewer přijímá jen rasterizované stránky, nikdy originální soubor, takže klient nikdy nezíská přímý přístup ke zdrojovému dokumentu.

Vizuální označení (watermarks) pomocí anotací

Protože renderování probíhá na serveru, můžete před odesláním stránky do prohlížeče přidat uživatelskou anotaci – například poloprůhledný textový overlay obsahující jméno, e‑mail a časové razítko prohlížeče. Tento přístup odrazuje od screenshotování a poskytuje forenzní důkaz v případě úniku, přičemž zůstává v rámci ověřených anotací Doconut.

Kontrolovaný tisk

Mnoho podniků vyžaduje, aby dokumenty byly tisknutelné pouze na autorizovaných zařízeních nebo s omezeným počtem kopií. Funkce Controlled Printing v Doconut vám umožní zachytit tiskový příkaz na serveru, ověřit roli uživatele a případně vložit poznámku „Printed on“ do generovaného PDF. Tisková úloha je vytvořena na serveru, takže klient nikdy neobdrží neoznačenou verzi dokumentu.


5. Auditing, logging a soulad pro OCR a anotace

Neměnné auditní stopy

Každá operace s anotacemi – přidání, úprava, smazání – vytvoří XML payload, který lze uložit do neměnného logu (např. Azure Append Blob nebo neměnná databázová tabulka). Metoda Doconut GetAnnotationXml() vrací přesný stav po každé změně, což vám umožní uložit XML spolu s časovým razítkem a identifikátorem uživatele. V kombinaci s bezpečnostními kontrolami na úrovni požadavku můžete rekonstruovat kdo co viděl, kdy a jak s tím interagoval.

Bezpečné zpracování OCR

OCR je nezbytné pro prohledávatelné PDF, ale zavádí také riziko: OCR engine může nechtěně vystavit surový text klientovi. Doconut provádí OCR server‑side a vrací jen data indexu pro vyhledávání. Originální naskenovaný obrázek zůstává šifrovaný a prohledávatelný text žije v read‑only cache, která respektuje stejné pravidla životního cyklu požadavku jako zbytek vieweru.

Soulad s regulacemi

Protože veškeré zpracování zůstává on‑premise (nebo v privátním cloudu pod vaší kontrolou), Doconut vám pomáhá splnit požadavky GDPR, HIPAA a PCI‑DSS, které zakazují odesílání chráněných dat na třetí‑stranné SaaS endpointy. Architektura produktu také podporuje audit‑ready logy, což značně usnadňuje tvorbu souladových zpráv.


6. Jak Doconut promění bezpečnostní požadavky v konkurenční výhodu

Bezpečnostní požadavekFunkce DoconutObchodní výhoda
Zero data exfiltrationServer‑side konverze a renderování na bázi streamuDůvěrné soubory nikdy neopustí důvěryhodné prostředí.
XSS protectionSanitizovaný HTML výstup, žádné spouštění skriptů na klientovi z dokumentůSnižuje povrch útoku bez nutnosti dalšího kódování.
Granular permission enforcementClaims‑aware middleware, per‑page annotation managerSoulad s existujícími RBAC modely a menší administrativní zátěž.
Controlled printing & visual markingsVestavěný tiskový workflow s overlay anotacemiOdrazuje od úniku dat a poskytuje forenzní stopu.
AuditabilityGetAnnotationXml(), request‑scoped streams, server logsZjednodušuje souladové reportování pro finance, právní a zdravotnické oddělení.
Scalable OCRServer‑side OCR plugin, vyhledávací index vrácený jako JSONUmožňuje okamžité vyhledávání v milionech stránek bez vystavení surového textu.
Cross‑platform deliveryHTML5 viewer funguje v jakémkoli prohlížeči, integruje se s React, Angular, Vue nebo BlazorZajišťuje budoucí kompatibilitu napříč desktopem, mobilem i kiosky.

Tím, že těžkou práci provádí server, Doconut vám umožní soustředit se na obchodní logiku – ať už jde o směrování smlouvy skrze víceúrovňový schvalovací workflow nebo o zpřístupnění technických výkresů v zabezpečeném portálu. Stejný kód funguje napříč .NET 6, .NET Core i nejnovějším .NET 8, což vám poskytuje řešení bez vendor lock‑in.

Vyzkoušejte to sami – Doconut nabízí free trial, který zahrnuje všechny pluginy pro viewer, anotace, OCR i konverzi. V během několika minut si nasadíte ukázkovou ASP.NET Core aplikaci a pocítíte, jak bezpečnostní model funguje v praxi.


Klíčové poznatky

  • Server‑side renderování a stream‑based doručení eliminují útoky pomocí zastaralých odkazů a udržují surové soubory uvnitř důvěryhodného perimetru.
  • Centralizovaná politika (šifrování, redakce, vizuální označení pomocí anotací) se aplikuje před tím, než data dorazí k uživateli.
  • Jemné kontroly claimů před otevřením dokumentu nebo povolením anotací zajišťují soulad s firemními RBAC politikami.
  • Kontrolovaný tisk a overlay anotace odrazují od úniku dat a poskytují forenzní důkaz.
  • Neměnné auditní logy generované metodou GetAnnotationXml() zjednodušují regulatorní reportování.
  • HTML5 viewer funguje v jakémkoli moderním prohlížeči, což jej činí ideálním pro front‑endy v React, Angular, Vue nebo Blazor.
  • Doconut’s free trial vám umožní ověřit bezpečnost, výkon i vývojářskou zkušenost před závazným nasazením.

Časté otázky

Q1: Vyžaduje Doconut instalaci Microsoft Office na serveru pro konverzi Word nebo Excel souborů?
A: Ne. Doconut Converter Plugin provádí všechny konverze Office → PDF a další formáty na serveru bez nutnosti lokální instalace Office.

Q2: Můžu Doconut použít v prostředí bez připojení k síti (air‑gapped)?
A: Ano. Protože Doconut zpracovává dokumenty výhradně on‑premise a nevyžaduje externí SaaS služby, funguje i v izolovaných sítích.

Q3: Jak Doconut zachází s velkými soubory?
A: Doconut streamuje stránky dokumentu na vyžádání, načítá do paměti jen požadované části. Tento paging přístup dobře spolupracuje s background joby a velkými pracovními zátěžemi.

Q4: Je viewer přístupný pro uživatele s postižením?
A: HTML5 viewer dodržuje standardní postupy přístupnosti a lze jej rozšířit o ARIA atributy tak, aby splňoval požadavky WCAG.

Q5: Kde mohu získat free trial?
A: Navštivte oficiální stránku Doconut (https://doconut.com) a požádejte o trial licenci. Trial zahrnuje všechny hlavní pluginy – viewer, anotace, OCR i konverzi.

#document viewer#security#.NET#enterprise architecture#OCR#annotation#prohlížeč dokumentů#bezpečnost#podniková architektura#anotace