Zabezpečení proti SQL injection

Podobné dokumenty
Zabezpečení proti SQL injection

Popis logování v aplikačním serveru

Synchronizace CRM ESO9 a MS Exchange

Vazba ESO9 na MS Outlook a MS Exchange

Mechanismus obarvení řádků browse

DUM 12 téma: Příkazy pro tvorbu databáze

1. DATOVÉ SCHRÁNKY OBECNÝ PŘÍSTUP K DATOVÉ SCHRÁNCE DATOVÉ ZPRÁVY... 3

Synchronizace číselníků

Databázové systémy Cvičení 5.2

Práva a povinnosti správce informačního systému

Nový design ESO9. E S O 9 i n t e r n a t i o n a l a. s. U M l ý n a , P r a h a. Strana 1 z 9

Uživatelská dokumentace

Překlady a jiné jazykové prostředí v ESO9

Obsah OLAP A ESO9... 3

Importy a exporty KLIENTSKÝ DOPLNĚK PRO PODPORU IMPORTŮ VERZE 3.2.0

Dokumentace. k modulu. podnikový informační systém (ERP) Datové schránky

Nastavení zabezpečení

Měřící systém se vzdáleným přístupem. Databáze

Novinky verze systému Spisové služby (SpS) e-spis LITE

Zaměstnanecký portál nastavení a práce v ESO9 PAM

1. KONSTRUKČNÍ KUSOVNÍK... 3

Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline

ZAMĚSTNANECKÝ PORTÁL nastavení a práce v ESO9 PAM

Už ivatelska dokumentace

ZMĚNY V DATABÁZI A SOUVISEJÍCÍ POLOŽKY S APLIKACÍ ESHOP...

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant

Modul IRZ návod k použití

APS Administrator.OP

SPRÁVA STÁTNÍCH HMOTNÝCH REZERV

Reliance 3 design OBSAH

Aplikace pro srovna ní cen povinne ho ruc ení

EIS JASU CS. Název souboru: Dokumentace EIS - Dokumentace EIS - Kontrola odběratelů v ISIR 1_7

Synchronizace kontaktů z ESO9 do MS Outlook

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

Portál Značení tabáku Uživatelská příručka pro registrované uživatele

Uživatelská dokumentace

Informační systém pro e-learning manuál

DATABÁZE MS ACCESS 2010

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová

Aplikace a služba Money Dnes Publisher v deseti krocích

OUTLOOK ADDIN PRO SYNCHRONIZACI S AKTIVITAMI RAYNET CRM - POUŽITÍ

Návod - katalog. ANTEE s.r.o. - tel.: , fax: , helpdesk: ,

1. ESO9 MAJETEK ZÁKLADNÍ VLASTNOSTI DOPORUČENÝ HW... 3

EPLAN Electric P8 2.7 s databázemi na SQL serveru

Nápověda pro systém ehelpdesk.eu

27 Evidence kasiček. Popis modulu. Záložka Organizované sbírky

Dokument stručně popisuje způsob propojení aplikací ESO9 s karetními terminály ČSOB.

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA

MBI - technologická realizace modelu

Nastavení složek systému Atollon Server Platform

Helios RED a Elektronická evidence tržeb (Helios RED verze 10)

Jazz Server osobní nastavení uživatele

Úvod do databázových systémů

ProjectWise V8 XM Edition

TMEGadget. by TMESolutions

Nápověda pro systém eintranet.net

POUŽITÍ DATABÁZÍ. Po ukončení tohoto kurzu budete schopni

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Přesunutí poštovní schránky ze stávajícího serveru do systému MS Exchange si vyžádá na straně uživatele změnu nastavení poštovního klienta.

Max Homebanking PS uživatelský manuál rozhraní pro automatické stahování dat

Platební systém XPAY [

VERZOVACÍ CYKLUS NEN FRAMEWORK

1. Webový server, instalace PHP a MySQL 13

VERZOVACÍ CYKLUS TEAF

Nastavení základní konfigurace

PROFI TDi s.r.o , Želetice 40 Návod k používání systému OTDI.CZ

HYDROEKOLOGICKÝ INFORMAČNÍ SYSTÉM VÚV TGM, v.v.i. Evidence úkolů řešených ve VÚV TGM, v.v.i. a jejich výstupů. Dokumentace evidence

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele

Evidence požadavků uživatelů bytů a nebytových prostor

Doplněk do Wordu. návod na instalaci a práci s doplňkem. Místo vydání: Brno Vydavatel: Citace.com Datum vydání: Verze doplňku: 3.

Jednorázová hesla pro zvýšení bezpečnosti vzdáleného přístupu mobilních uživatelů

1. Začínáme s FrontPage

ESO9 Reporting Server

ŘÍZENÍ POHLEDÁVEK A AUTOMATICKÉ UPOMÍNKY. Katalogový doplněk ABRA Gen

ZADÁVÁNÍ DAT DO SYSTÉMU PRO SPRÁVU MAJETKU

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Kontakty 08/ Obsah

plussystem Příručka k instalaci systému

Způsoby získání autentizačních údajů

Desktop systémy Microsoft Windows

KRONOS GUARD NET Obslužný software pro obchůzkový systém v reálném čase Active Guard. Instalace na pobočky

Databáze prodejců. Tlačítka. Vytvoří kartu nového prodejce (Alt+N); Změní vybraného prodejce Uloží nového prodejce nebo změnu (Alt+U);

Aplikace AWEG3 Profil SMS. Uživatelská příručka. Aktualizace:

Elektronická evidence tržeb v KelSQL / KelEXPRESS / KelMINI

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Registr práv a povinností

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Připravte se na konjunkturu se systémem řízení údržby SGM. SGM moderní nástroj pro řízení údržby nejen výrobních zařízení

14 Deník poradny. Popis modulu. Záložka Deník poradny

Průvodce aplikací FS Karta

WinFAS. informace. Doprovodná příručka ke školení Základy ovládání IS WinFAS

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

FIREBIRD relační databázový systém. Tomáš Svoboda

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod:

Instalace a konfigurace

Demoprojekt Damocles 2404

Athena Uživatelská dokumentace v

Produktový list Zboží.cz. PPC reklama Internetová reklama placená za proklik

Program slouží k provozní evidenci chemických látek, směsí, archivaci bezpečnostních listů a tvorbě rychlých přehledů.

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Návod - katalog. ANTEE s.r.o. - tel.: , fax: , helpdesk: ,

Transkript:

Zabezpečení proti SQL injection ESO9 intranet a.s. Zpracoval: Tomáš Urych U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 19.9.2012 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz Dne: 4.10.2012

Obsah 1. ZABEZPEČENÍ ODKAZŮ V APLIKACÍCH ESO9... 2 1.1 ZNEUŽITÍ PARAMETRŮ NA ODKAZU... 2 1.2 ZABEZPEČENÍ ODKAZŮ... 2 1.3 NASTAVENÍ ZABEZPEČENÍ ODKAZŮ... 2 1.4 CO PODLÉHÁ ŠIFROVÁNÍ... 2 1.5 KDE SE ŠIFROVÁNÍ PROVÁDÍ... 3 1.6 CO K ZABEZPEČENÍ ODKAZŮ POTŘEBUJI... 3 1.7 ZABEZPEČENÍ EXTERNÍCH ODKAZŮ... 3 1.7.1 Tabulka EXTERNIURL... 3 1.7.2 Zakládání externích odkazů... 3 1.7.3 Použití externích odkazů... 4 1.7.4 Kontrola externích odkazů... 4 Strana 1 z 4

1. Zabezpečení odkazů v aplikacích ESO9 1.1 Zneužití parametrů na odkazu Vzhledem k charakteru aplikací postavených na technologii ESO9 je každá z činností takové aplikace definována jednoznačným odkazem (hyperlinkem). Odkaz přitom může obsahovat celou řadu parametrů, které definují vlastnosti nebo chování cílového formuláře nebo sestavy. Pokud je uživatel přihlášen v aplikaci (tj. je ověřen), má možnost explicitním zápisem odkazu do adresního řádku internetového prohlížeče spustit potenciálně nežádoucí nebo nebezpečnou akci nebo se dostat k datům, k nimž nemá běžným způsobem práce v ESO9 přístup. Řešením tohoto problému je zabezpečení odkazů v aplikacích ESO9. 1.2 Zabezpečení odkazů Všechny odkazy v aplikacích ESO9 jsou konstruovány následovně: http://server/aplikace/esoform.asp?parametr=hodnota&parametr2=hodnota2&... Je-li použito nastavení zabezpečení odkazů, je veškerý text za klíčovým slovem esoform.asp zašifrovaný. Odkaz z předchozího příkladu tedy bude vypadat následovně: http://server/aplikace/esoform.asp?3gafplien4ywfyh5g78plcwed5i8/dneunvv9i44ncqw@ Potenciální útočník tak nemá jak zapsat do adresního řádku prohlížeče explicitní odkaz do aplikace ESO9. V zašifrovaném tvaru jsou předávány všechny odkazy v rámci celé aplikace a jejich zašifrování kontroluje aplikační server. Pokud přijde na aplikační server odkaz v otevřeném textu, je uživateli nahlášena chyba a příslušný odkaz se spolu s uživatelem, který jej spustil, zapíše do logovací databáze. Zašifrované odkazy obsahují časovou značku, která omezuje jejich platnost na dobu timeout na uživatelské sezení (ve Správci ESO9 parametr Uzavřít neaktivní spojení ). 1.3 Nastavení zabezpečení odkazů Šifrování lze nastavit na úrovni aplikace ESO9 v programu Správce ESO9 volbou Zabezpečení odkazů. Ve výchozím nastavení je zabezpečení vypnuté. Pro účely např. implementace je vhodné založit nad ostrou aplikací, v níž se odkazy šifrují, aplikaci virtuální, v níž se šifrovat nebudou a která bude přístupná pouze správcům systému. 1.4 Co podléhá šifrování Jak již bylo řečeno výše, je-li nastaveno zabezpečení odkazů na aplikaci ESO9, šifrují se všechny typy odkazů, které si mezi sebou předávají všechny tři vrstvy technologie ESO9, konkrétně: statické odkazy ve formulářích na další formuláře nebo sestavy (s vazbou i bez vazby) odkazy na číselníky akce v browse dostupné z kontextového menu odkazy na spuštění GS odkazy na nápovědu a vzájemné odkazy v rámci nápovědy odkazy do aplikací ESO9 ve stránkách volaných parametrem TPage (tj. odkazy ve statických stránkách ESO9 bez forem/bez dat) odkazy pro práci s dokumentovou databází (uložení souboru do DB a jeho stažení na klienta) odkazy z klienta pro akce volané s parametrem RepeatForQuery odkaz na vyhledávání fulltextem odkazy v Silverlight sestavách "strom činností" a "vyhodnocení událostí" odkazy v dočasných serverových sestavách (TempPrint) při načítání uložených sestav se kontroluje čas jejich posledního generování, pokud je sestava starší, než timeout na uživatelské sezení, sestava se Strana 2 z 4

vygeneruje znovu odkazy v navigaci 1.5 Kde se šifrování provádí Vzhledem k počtu vrstev technologie ESO9 je třeba zpřístupnit šifrování na všech třech vrstvách, kde dochází ke generování odkazů zpět do aplikace. Na straně aplikačního serveru a klienta provádí šifrování automaticky obě tyto komponenty, na straně aplikační databáze je k tomuto účelu k dispozici assembly (DLL knihovna). Assembly není standardní součástí verzového skriptu, do zákaznické databáze ji lze nahrát na základě požadavku zákazníka. 1.6 Co k zabezpečení odkazů potřebuji Možnost zabezpečení odkazů je v technologii ESO9 a v aplikacích ESO9Start od v4.5 doplněk č.1 ze září 2012. 1.7 Zabezpečení externích odkazů Jak již bylo řečeno v kapitole 1.2, neakceptuje aplikace ESO9 s nastaveným zabezpečením odkazů žádné odkazy v otevřeném formátu, tj. do aplikace ESO9 nelze vstoupit statickým odkazem např. na vybraný formulář nebo sestavu. Vzhledem k tomu, že se právě tento způsob vstupu do aplikace často využívá v zákaznických Profi řešeních, existuje i pro externí odkazy řešení založené na tabulce EXTERNIURL. V ESO9Start takové řešení nikde použité není, v případě požadavku zákazníka je tedy třeba jej implementovat vždy jako Profi úpravu. V ESO9Start však existuje pro externí odkazy následující podpora. 1.7.1 Tabulka EXTERNIURL Libovolné externí odkazy na stránky nebo sestavy v ESO9, které mají být v zabezpečené aplikaci povoleny, musí být předem zapsány v tabulce EXTERNIURL. Kromě URL vlastního obsahu zde lze ještě specifikovat způsob zabezpečení každého odkazu položkou VLZPUSOBZABEZPECENI: Hodnota 1 znamená, že odkaz má časově omezenou platnost (v intervalu DTPLATNOSTOD DTPLATNOSTDO). Hodnota 2 znamená, že odkaz má platnost omezenu počtem spuštění (vlastní počet je uložen v položce POCETSPUSTENI). Při každém spuštění odkazu je počet spuštění snížen o jeden. Hodnota 3 je kombinací obou předchozích podmínek. Každý odkaz může být povolen buď: všem uživatelům (položky IDUZIVATEL a IDSKUPUZIV prázdné) nebo pouze zadanému uživateli (vyplněna pouze položka IDUZIVATEL) nebo pouze zadané skupině uživatelů (vyplněna pouze položka IDSKUPUZIV, je-li vyplněna zároveň položka IDUZIVATEL, má vybraný uživatel přednost). Vlastní odkaz (URL) musí začínat klíčovým slovem ESOForm.asp (tj. spuštění je povoleno ze všech aplikačních serverů, na nichž je daná aplikace nakonfigurovaná). 1.7.2 Zakládání externích odkazů Externí odkazy se do tabulky EXTERNIURL zapisují procedurou spzadejexterniurl: ALTER PROCEDURE dbo.spzadejexterniurl @URL VARCHAR(4000), @VLZPUSOBZABEZPECENI SMALLINT, @DTPLATNOSTOD DATETIME = NULL, @DTPLATNOSTDO DATETIME = NULL, @POCETSPUSTENI INT = NULL, @IDSKUPUZIV INT = NULL, @IDUZIVATEL INT = NULL Strana 3 z 4

Pro daného uživatele, skupinu uživatelů a platnost je zapsané URL unikátní. 1.7.3 Použití externích odkazů Po vložení externího odkazu do tabulky povolených odkazů je samozřejmě třeba jej před použitím ještě zašifrovat. K tomu slouží funkce HashURLExternal: CREATE FUNCTION dbo. HashURLExternal ( @text [nvarchar](4000), @UserName [nvarchar](255), @AppName [nvarchar](255)) RETURNS [nvarchar](4000) Výstupem uvedené funkce je zašifrovaný odkaz, který může být použit externě. 1.7.4 Kontrola externích odkazů Každý externí odkaz je na vstupu aplikačního serveru ověřen proti tabulce EXTERNIURL. Kontrola se provádí procedurou spoverexterniurl: ALTER PROCEDURE dbo.spoverexterniurl @URL VARCHAR(4000), @IDUZIVATEL INT Pokud je v tabulce externích odkazů nalezen alespoň jeden s platným pověřením (tj. datem platnosti nebo počtem použití), bude proveden, jinak bude zakázán a informace o něm se zapíše do logovací databáze. Strana 4 z 4