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 uvažovat o bezpečnosti 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í data a jakékoli regulatorně požadované informace 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 vysvětlíme, proč je univerzální prohlížeč dokumentů od 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 povrchem ú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:

ThreatTypical ManifestationBusiness Impact
Data exfiltrationPřímé odkazy ke stažení, nezabezpečené API nebo klient‑side renderování, které posílá surové bajty do prohlížeče.Ztráta důvěrných smluv, úniky osobních údajů, 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 mění anotace a poté exportují změněný soubor bez auditních stop.Právní spory, falšované záznamy, porušení souladu.

Protože prohlížeče často musí 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 útoků. 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é server‑side

  • Zero data exposure – Surový soubor nikdy neopustí důvěryhodný backend. Do prohlížeče putují jen renderované obrázky nebo bezpečné HTML fragmenty.
  • Centralized policy enforcement – Šifrování, redakce a vizuální označení lze aplikovat jednotně před tím, než dokument dorazí k uživateli.
  • Scalable isolation – 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 dosah kompromitovaného požadavku.

Kdy je client‑side přijatelný

  • 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 firemní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. Prohlížeč nikdy nepotřebuje třetí strany pluginy a veškeré renderování pochází ze streamů, které vznikají v server‑side komponentě Viewer. Tento design eliminuje vzor „download‑the‑original‑file“, na který spadá mnoho nebezpečných řešení.

Jak zaregistrovat Doconut v ASP.NET Core pipeline

Místo úryvku kódu si představte registraci jako přidání middleware komponenty, která zachytí požadavky na Doconut image endpoint (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 a role uživatele pomocí standardního ASP.NET Core autentizačního pipeline.
  2. Provednout další business‑logic kontroly (např. ověření, že uživatel patří do správného oddělení nebo má konkrétní claim).
  3. Pokud kontroly projdou, zavolat Doconut’s 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’s Annotation Plugin funguje na úrovni stránky. Po potvrzení práv uživatele server vytvoří AnnotationManager pro požadovanou stránku. Pokud uživatel postrádá příslušný claim (např. CanAnnotate), server vrátí pouze read‑only view a jakýkoli pokus o odeslání změn anotací bude odmítnut s odpovědí 403. Tím se zajistí, že pouze 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 document streamy zpracovávané Doconut putují přes HTTPS a jsou šifrovány v klidu pomocí vámi zvoleného úložiště (Azure Blob, SQL Transparent Data Encryption, atd.). Prohlížeč dostává 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í (vodoznaky) 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ř. 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 umožňuje zachytit tiskový příkaz na serveru, ověřit roli uživatele a volitelně 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 anotací – přidání, úprava, smazání – vytváří 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 kontrolami na úrovni požadavku můžete rekonstruovat kdo co kdy a jak interagoval.

Bezpečné zpracování OCR

OCR je nezbytné pro prohledávatelné PDF, ale zavádí riziko: OCR engine může nechtěně vystavit surový text klientovi. Doconut provádí OCR server‑side a vrací jen indexová data 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 prohlížeče.

Soulad s regulacemi

Protože veškeré zpracování zůstává on‑premises (nebo v privátním cloudu, který kontrolujete), 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í SaaS endpointy. Architektura produktu také podporuje audit‑ready logs, což značně usnadňuje tvorbu compliance reportů.


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

Bezpečnostní požadavekFunkce DoconutObchodní přínos
Zero data exfiltrationServer‑side konverze a stream‑based renderováníDůvěrné soubory nikdy neopustí důvěryhodné prostředí.
XSS protectionSanitized HTML output, no client‑side script execution from documentsSnižuje povrch útoku bez nutnosti dalšího kódování.
Granular permission enforcementClaims‑aware middleware, per‑page annotation managerZapadá do existujících RBAC modelů a snižuje administrativní zátěž.
Controlled printing & visual markingsBuilt‑in tiskový workflow s overlayovými anotacemiOdrazuje od úniku dat a poskytuje forenzní sledovatelnost.
AuditabilityGetAnnotationXml(), request‑scoped streams, server logsZjednodušuje compliance reporting pro finance, právní a zdravotnické oddělení.
Scalable OCRServer‑side OCR plugin, searchable index returned as JSONUmožňuje okamžité vyhledávání v milionech stránek bez vystavení surového textu.
Cross‑platform deliveryHTML5 viewer works on any browser, integrates with React, Angular, Vue, or BlazorBudoucnost‑proofuje vaši investici napříč desktopem, mobilem i kiosky.

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

Vyzkoušejte to sami – Doconut nabízí bezplatnou zkušební verzi, která zahrnuje všechny pluginy pro prohlížeč, anotace, OCR i konverzi. Rozběhněte si ukázkovou ASP.NET Core aplikaci během několika minut a pocítíte, jaký je bezpečnostní model v praxi.


Klíčové závěry

  • Server‑side renderování a stream‑based delivery 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í) se aplikuje před tím, než data dorazí k klientovi.
  • Jemné kontroly claimů před otevřením dokumentu nebo povolením anotací zajišťují soulad s firemními RBAC politikami.
  • Kontrolovaný tisk a overlayové anotace odrazuje od úniku dat a poskytuje forenzní důkazy.
  • Neměnné auditní logy generované pomocí GetAnnotationXml() usnadňují regulatorní reportování.
  • HTML5 viewer funguje v jakémkoli moderním prohlížeči, což ho činí ideálním pro React, Angular, Vue nebo Blazor front‑endy.
  • 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?
A: Ne. Doconut’s Converter Plugin provádí všechny Office‑to‑PDF a další formátové konverze na serveru bez potřeby lokální instalace Office.

Q2: Mohu Doconut použít v air‑gapped prostředí?
A: Ano. Protože Doconut zpracovává dokumenty výhradně on‑premises 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á jen potřebné části do paměti. Tento paging přístup dobře funguje s background joby a velkými objemy zátěže.

Q4: Je prohlížeč 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 WCAG směrnice.

Q5: Kde získám bezplatnou zkušební verzi?
A: Navštivte oficiální stránku Doconut (https://doconut.com) a požádejte o trial licenci. Trial zahrnuje všechny hlavní pluginy – viewer, annotation, OCR i konverzi.

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