Sdílet prostřednictvím


Zabezpečený přístup k datům

Pokud chcete napsat zabezpečený ADO.NET kód, musíte porozumět mechanismům zabezpečení dostupným v podkladovém úložišti dat nebo v databázi. Musíte také zvážit vliv na zabezpečení jiných funkcí nebo součástí, které vaše aplikace může obsahovat.

Ověřování, autorizace a oprávnění

Při připojování k Microsoft SQL Serveru můžete použít ověřování systému Windows, označované také jako integrované zabezpečení, které používá identitu aktuálního aktivního uživatele systému Windows, místo předání ID uživatele a hesla. Použití ověřování systému Windows se důrazně doporučuje, protože přihlašovací údaje uživatele se v připojovací řetězec nezpřístupní. Pokud se nemůžete připojit k SQL Serveru pomocí ověřování systému Windows, zvažte vytvoření připojovací řetězec za běhu pomocí nástroje SqlConnectionStringBuilder.

Přihlašovací údaje používané k ověřování je potřeba zpracovat jinak podle typu aplikace. Například v aplikaci model Windows Forms může být uživatel vyzván k zadání ověřovacích informací nebo je možné použít přihlašovací údaje windows uživatele. Webová aplikace ale často přistupuje k datům pomocí přihlašovacích údajů zadaných samotnou aplikací, nikoli uživatelem.

Jakmile budou uživatelé ověřeni, rozsah jejich akcí závisí na oprávněních, která jim byla udělena. Vždy dodržujte princip nejnižší úrovně oprávnění a udělte pouze oprávnění, která jsou naprosto nezbytná.

Další informace najdete v následujících materiálech.

Resource Popis
Ochrana informací o připojení Popisuje osvědčené postupy a techniky zabezpečení pro ochranu informací o připojení, jako je použití chráněné konfigurace k šifrování připojovací řetězec.
Doporučení pro strategie přístupu k datům Poskytuje doporučení pro přístup k datům a provádění databázových operací.
Tvůrci připojovacích řetězců Popisuje, jak sestavit připojovací řetězec ze vstupu uživatele za běhu.
Přehled zabezpečení SQL Serveru Popisuje architekturu zabezpečení SQL Serveru.

Parametrizované příkazy a injektáž SQL

Použití parametrizovaných příkazů pomáhá chránit před útoky prostřednictvím injektáže SQL, ve kterých útočník "vloží" příkaz do příkazu SQL, který ohrožuje zabezpečení na serveru. Parametrizované příkazy chrání před útokem prostřednictvím injektáže SQL tím, že zajišťují, aby hodnoty přijaté z externího zdroje byly předány pouze jako hodnoty, a ne jako součást příkazu Transact-SQL. V důsledku toho se příkazy Jazyka Transact-SQL vložené do hodnoty nespustí ve zdroji dat. Spíše se vyhodnocují výhradně jako hodnota parametru. Kromě výhod zabezpečení poskytují parametrizované příkazy pohodlnou metodu pro uspořádání hodnot předaných pomocí příkazu Transact-SQL nebo uložené procedury.

Další informace o použití parametrizovaných příkazů najdete v následujících zdrojích informací.

Resource Popis
Parametry adaptéru dat Popisuje, jak používat parametry s parametrem DataAdapter.
Úpravy dat pomocí uložených procedur Popisuje, jak zadat parametry a získat návratovou hodnotu.
Správa oprávnění pomocí uložených procedur na SQL Serveru Popisuje použití uložených procedur SQL Serveru k zapouzdření přístupu k datům.

Zneužití skriptů

Zneužití skriptu je další forma injektáže, která používá škodlivé znaky vložené na webovou stránku. Prohlížeč neověřuje vložené znaky a zpracuje je jako součást stránky.

Další informace najdete v následujících materiálech.

Resource Popis
Přehled zneužití skriptů Popisuje, jak chránit před skriptováním a zneužitím příkazů SQL.

Testování útoků

Útočníci často používají informace z výjimky, jako je název serveru, databáze nebo tabulky, k připojení útoku na váš systém. Vzhledem k tomu, že výjimky můžou obsahovat konkrétní informace o vaší aplikaci nebo zdroji dat, můžete aplikaci a zdroj dat lépe chránit jenom zveřejněním základních informací klientovi.

Další informace najdete v následujících materiálech.

Resource Popis
Zpracování a vyvolání výjimek v .NET Popisuje základní formy zpracování výjimek try/catch/finally.
Doporučené postupy pro výjimky Popisuje osvědčené postupy pro zpracování výjimek.

Ochrana zdrojů dat Microsoft Accessu a Excelu

Microsoft Access a Microsoft Excel můžou fungovat jako úložiště dat pro aplikaci ADO.NET, pokud jsou požadavky na zabezpečení minimální nebo neexistující. Jejich funkce zabezpečení jsou účinné pro odstrašování, ale nemělo by se spoléhat na to, aby se více než odrazilo v přístupu neinformovanými uživateli. Fyzické datové soubory pro Access a Excel existují v systému souborů a musí být přístupné všem uživatelům. Díky tomu jsou zranitelné vůči útokům, které by mohly způsobit krádež nebo ztrátu dat, protože soubory je možné snadno zkopírovat nebo změnit. Pokud je vyžadováno robustní zabezpečení, použijte SQL Server nebo jinou serverovou databázi, kde fyzické datové soubory nejsou čitelné ze systému souborů.

Další informace o ochraně dat Accessu a Excelu najdete v následujících zdrojích informací.

Resource Popis
Důležité informace o zabezpečení a pokyny pro Access 2007 Popisuje techniky zabezpečení pro Access 2007, jako je šifrování souborů, správa hesel, převod databází na nové formáty ACCDB a ACCDE a použití dalších možností zabezpečení.
Úvod do zabezpečení Accessu 2010 Poskytuje přehled funkcí zabezpečení, které nabízí Access 2010.

Podnikové služby

Com+ obsahuje vlastní model zabezpečení, který spoléhá na účty Windows a zosobnění procesů a vláken. Obor System.EnterpriseServices názvů poskytuje obálky, které aplikacím .NET umožňují integrovat spravovaný kód se službami zabezpečení MODELU COM+ prostřednictvím ServicedComponent třídy.

Další informace najdete v následujícím prostředku.

Resource Popis
Zabezpečení na základě rolí Popisuje, jak integrovat spravovaný kód se službami zabezpečení MODELU COM+.

Spolupráce s nespravovaným kódem

Rozhraní .NET Framework poskytuje interakci s nespravovaným kódem, včetně komponent MODELU COM, služeb MODELU COM+, knihoven externích typů a mnoha služeb operačního systému. Práce s nespravovaným kódem zahrnuje přechod mimo hraniční síť zabezpečení spravovaného kódu. Kód i jakýkoli kód, který ho volá, musí mít nespravované oprávnění ke kódu (SecurityPermission se zadaným příznakem UnmanagedCode ). Nespravovaný kód může do vaší aplikace zavést neúmyslná ohrožení zabezpečení. Proto byste se měli vyhnout spolupráci s nespravovaným kódem, pokud to není nezbytně nutné.

Další informace najdete v následujících materiálech.

Resource Popis
Spolupráce s nespravovaným kódem Obsahuje témata popisující, jak vystavit komponenty modelu COM rozhraní .NET Framework a jak vystavit komponenty rozhraní .NET Framework modelu COM.
Pokročilá interoperabilita modelu COM Obsahuje pokročilá témata, jako jsou primární sestavení vzájemné spolupráce, řetězení a vlastní zařazování.

Viz také