1 / 59

Using Cache’s Security Features

Using Cache’s Security Features. Štefan Havlíček. Proč se starat o zabezpečení aplikací. Když to neuděláte: Vaše rodina bude prodána do otroctví Strávíte zbytek žívota v táborech pro malomocné v deltě Mississipi Když to uděláte: Splníte požadavek dnešní doby

Download Presentation

Using Cache’s Security Features

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Using Cache’s Security Features Štefan Havlíček

  2. Proč se starat o zabezpečení aplikací • Když to neuděláte: • Vaše rodina bude prodána do otroctví • Strávíte zbytek žívota v táborech pro malomocné v deltě Mississipi • Když to uděláte: • Splníte požadavek dnešní doby • Informační systémy jsou v současnosti ohrožovány řadami hrozeb a každým dnem přibývají nové metody útoku. • Získáte konkurenční výhodu • Provedete výše uvedené body vašim konkurentům

  3. Co je potřeba mít na paměti • V teorii není rozdíl mezi teorií a praxí. V praxi tomu tak není!!! • Bezpečnost je hlavně proces. • Celková míra zabezpečení systému není dána jen použitým software, ale má i své další složky, z nichž velmi důležitou je rozhodně i organizační dimenze. • Bezpečnostní politika a standardy • Organizace bezpečnosti • Logická a fyzická bezpečnost …. • Certifikace software

  4. Evaluation Assurance Level (EAL) • The Evaluation Assurance Level (EAL1 through EAL7) of an IT product or system is a numerical grade assigned following the completion of a Common Criteria security evaluation, an international standard in effect since 1999. • The EAL level does not measure the security of the system itself, it simply states at what level the system was tested to see if it meets all the requirements of its Protection Profile.

  5. Evaluation Assurance Level (EAL) • Úrovně certifikatů EAL • EAL1: Functionally Tested • EAL2: Structurally Tested • EAL3: Methodically Tested and Checked • EAL4: Methodically Designed, Tested and Reviewed • EAL5: Semiformally Designed and Tested • EAL6: Semiformally Verified Design and Tested • EAL7: Formally Verified Design and Tested

  6. Jsme certifikováni …. • Caché má certifikát , že splňuje požadavky pro EAL Level 3 Common Criteria Assurance Certification. • Tento certifikát je uznáván ve 24 zemích světa.

  7. EAL 3 • EAL3: Methodically Tested and Checked • EAL3 is applicable in those circumstances where developers or users require a moderate level of independently assured security.

  8. Certifikace Common Criteria • Kritériem přiznání certifikátu je funkcionalita produktu z hlediska bezpečnosti: • utajení (confidentiality) • integrita • dostupnost • z pohledu funkčnosti databázového serveru tzn.: • potřebu zajistit identifikaci a autentifikaci (ověření) uživatelů • řízení přístupu • šifrování a audit operací

  9. Bezpečnostní model InterSystems Caché Advanced Security (od verze 5.1) • Jednoduchá unifikovaná architektura • Konsistentní vysoce výkonná infrastruktura pro podporu aplikací • Minimální režie systému • Založena na prověřených průmyslových standardech a certifikovaných technologiích

  10. Bezpečnostní model InterSystems … • Zabezpečení databáze Caché • Zdroje (Resources) • Šifrování (Encryption) • Audit (System events auditing) • Umožnit vývojářům zabudovat bezpečnostní mechanismy do jejich aplikací • Delegovaná autentikace, ověřování autorizace, eskalace rolí • Audit aplikačních událostí • Zabezpečená komunikace klienta SSL/TLS

  11. Bezpečnostní model InterSystems … • Pracovat efektivně s bezpečnostními technologiemi operačního prostředí • Autentikace: • Kerberos • Caché Login • LDAP • Server SSL/TLS

  12. 3 úrovně programového prostředí Chrání zdroje a poskytované služby Nabízí infrastrukturu pro implementaci a zprovoznění bezpečnostních pravidel na úrovni aplikace. Prostředky pro efektivní interakci s ostatními nástroji.

  13. Dobře nastavená bezpečnost pokrývá 3 úrovně • Prevence • Autentikace • Autorizace • Zabezpečená komunikace • Šifrovaná databáze • Detekce • Audit • Reakce

  14. Prevence -> Nastavení bezpečnosti Caché

  15. System Management Portal • Webové rozhraní • Umožňuje vzdálenou správu systému • Minimalizuje závislost na verzi systému • Slučuje funkcionalitu nástrojů: • Configuration manager • Control panel • Explorer • SQL manager

  16. Správa bezpečnostního nastavení

  17. Konfigurace CAS při instalaci • Nastavuje počáteční konfiguraci pro Služby a Zabezpečení: • Typy konfigurací: • Minimal • Normal • Locked Down

  18. Konfigurace CAS při instalaci … • Rozdíly v uživatelském zabezpečení: • Maska pro zadávání hesla (3.32ANP nebo 8.32ANP) • Účet _SYSTEM (aktivován/zablokován) • Role účtu UnknownUser (%All, None) • Rozdíly ve vlastnostech služeb: • Které Služby jsou aktivovány • Zda oprávnění Use Service je Public • Zda služba vyžaduje autentikaci a jakého typu

  19. Způsoby připojení ke Caché

  20. Autentikace

  21. Autentikace • Neautentikovaný přístup • Caché login • Operační systém • LDAP • Delegovaná autentikace • Kerberos

  22. Autentikace na bázi OS • Uživatel je indetifikován na základě účtu OS • Je aplikována pouze na procesy běžící na straně serveru, (např. apliace s terminálovým přístupem) • Typické použití na systémech Unix, OpenVMS • Pro WIN je použitelné pouze pro lokální přihlašování

  23. LDAP • Implementováno od verze 2007.1 • Rozšiřuje LDAP schema o atributy obsahující důležité informace pro autentikaci uživatelů Caché • Caché username • Caché roles • Default namespace • Použitelné jak s Active Directory tak s LDAP servery jiných stran

  24. LDAP konfigurace LDAP přístupové atributy Nové Atributy (fields) získané z LDAP

  25. Delegovaná autentikace • Uživatelsky definovaná autentikace • Použitelná: • V aplikacích • Ve službách Caché • Účel: • Re-use existujících mechanismů autentikace implementovaných do stávajících aplikací.

  26. Implementace …

  27. Implementace …

  28. Autentikována “Logged In” “Logging in” znamená že: Autentikace byla úspěšná bez ohledu na způsob autentikace (Kerberos, LDAP, …) Oprávnění asociovaná s cílovám jmenným prostorem jsou v pořádku Jakmile jeuživatel “přilogován”, je možná další interakce s prostředím Caché 2 systémové proměnné jsou automatickyvytvořeny: $USERNAMEobsahujeuživatelské jménopoužíté při autentikaci $ROLESobsahujeseznamrolípřiřazených uživateli

  29. Autorizace

  30. Autorizace

  31. Autorizace … • Definuje co smí autentikovaný uživatel dělat a k jakým prostředkům (zdrojům) má přístup • Terminologie: • Asset: něco co je chráněno (např. databáze, připojení k databázi, správcovské činnosti) • Resource (zdroj): něco co chrání Asset • Database Resource (%DB_Samples) • Administrative Resource (%Admin_Manage) • Development Resource (%Development) • Service Resource (%Service_CSP) • User Defined

  32. Autorizace … • Permission (oprávnění): umožňuje vykonat určitou akci • Read (R) – vidět obsah zdroje, např. data a rutiny • Write (W) – vidět a měnit obsah zdroje • Use (U) – používat daný zdroj, např. aplikaci nebo službu • Privilege (výsada): uděluje povolení vykonat něco se zdrojem chránícím jeden nebo více assetů  • Zápis: • %DB_Samples:Read • Mohou být veřejná (Public)

  33. Role • Role: pojmenovaná kolekce výsad (privileges) • Více uživatelů potřebuje stejnou sadu výsad • Tato sada může být definována jednou a pak sdílena • Uživatel může mít více rolí

  34. Role …

  35. Role-Based Access Control (RBAC)

  36. Role … • Předdefinované role: • Jsou nastaveny během instalace Caché a nejsou modifikovány během povýšení na novou verzi • Př.: %All, %Manager, %Development, … • Uživatelsky definované role • Vytvářeny uživatelem

  37. Role %ALL • Předdefinovaná role • Vlastní všechna oprávnění ke všem zdojům systému • Nelze ji odstranit ani modifikovat • Vždy musí existovat alespoň jeden uživatel, který má přiřazenu roli %ALL

  38. Šifrování Databáze

  39. Šifrování databáze • Navrženo pro ochranu uložených dat před uživateli bez oprávnění přistupovat k těmto datům • Základní požadavky: • Šifrování dat v databázi musí být založeno na časem prověřených průmyslových standardech • Šifrování dat nesmí mít zásadní dopad na výkonnost databáze • Tato funkcionalita existuje nezávisle na CAS !!!

  40. Šifrování databáze … • Využívá standard AES (Advanced Encryption Standard) • Nastavuje se pro každou databázi při vytváření databáze, ale lze šifrovat i dodatečně • Šifrování dat se provádí během během přístupu k nim • Položky v souboru WIF (Write Image Journal) jsou šifrovány též • Je možné šifrovat i databázi CACHETEMP, stejně jako žurnálovací soubory

  41. Šifrovací klíče • Každá instalace Caché si může vytvořit jedinečný šifrovací klíč určený pro ochranu databáze • Délka klíče: 128, 192, 256 bitů • Klíč je používán pro všechny databáze na serveru • Je uložen v souboru Encryption Key File • Je asociován s účtem, který má na starost správu šifrovacích klíčů • Jakmile je vytvořen je dobré ho uložit na bezpečné místo

  42. Klíč aktivován při startu systému • Jakmile je klíč aktivován je vhodné ho ze systému odebrat

  43. Vytvoření šifrované databáze • Databázi lze zašifrovat v okamžiku jejího vytvoření • Před zapnutím šifrování db nebo jejím montování musí být aktivován šifrovací klíč • Je možné též šifrovat databáze CACHETEMP a žurnálovací soubory

  44. Vypnutí a zapnutí šifrování • Zašifrování existující nešifrované databáze a obrácený proces lze provést pomocí utility „cvencrypt“ • Utilita je ve složce: • <cache_install>\bin • Volání utility: • cvencrypt cache.dat

  45. Caché Audit

  46. Caché audit • Loguje určité klíčové události do zabezpečené databáze • Typy logovaných událostí: • Povinné systémové události, • Logovány vždy (např. startup, shutdown) • Volitelné systémové události • Logovány v případě explictního nastavení • Uživatelsky definované události • Musí být nastaveny explicitně. Aplikace mohou generovat vlastní záznamy pro audit pomocí $System.Security.Audit()

  47. Audit - přehled

  48. Co není automaticky auditováno • Aktivity spojené s databázovými operacemi • Všechny operace insert, update, delete • Toto mohou zajistit aplikace ve svém kódu pomocí objektových metod nebo triggerů

  49. Zobrazení dat auditu • Log je uložen v chráněném souboru CACHEAUDIT • Databáze je žurnálována a zálohována • Chráněný zdrojem %DB_CACHEAUDIT • Caché nabízí několik standardních reportů prostřednictvím portálu • Portál umožňuje: • Kopírovat vybrané položky do specifikovaného jmenného prstoru • Exportovat vybrané položky do souboru • Čistit (mazat) vybrané položky z logu

  50. Row-level Security

More Related