PB001: Uvod do informačních technologií Luděk Matýska Fakulta informatiky Masarykovy univerzity podzim 2014 Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 1/21 Ochrana a bezpečnost Client-server model Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií I podzim 2014 2 / 21 • Obecná ohrožení: • Přístup (čtení) • Nezanechává přímo stopy • Zápis (modifikace) • Následné využití útočníkem modifikovaných dat • Zahrnuje i smazání/přepsání • Znepřístupnění služby (denial of service) • Možné útoky • Přihlášení, impersonifikace, .. . • Trojský kůň • Viry Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 3/21 Ochrana a bezpečnost • Sociální inženýrství • Uhodnutí nebo získání hesla • Využívá důvěřivosti a naivity lidí • Technologie může pomoci jen do jisté úrovně • Nutnost koordinované shody dvou či více lidí - 7 klíčů k korunovačním klenotům • Kombinace fyzických nástrojů a tajemství (po krádeži karty je třeba ještě získat pin a naopak, samotný pin bez karty není k ničemu) • Využití technických nedostatků • Bezpečnostní ,,díry", „zadní vrátka" apod. • Je možné minimalizovat korektními programátorskými praktikami • a pravidelnou aplikací záplat • Automatizované nástroje pro „oťukání" systému • Botnety • Sítě již napadených počítačů • Využitelné k dalším útokům Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 4/21 Ochrana a bezpečnost • Zveřejnění šifrovacích a souvisejících algoritmu • Standardní nastavení = žádný přístup • Správce/uživatel musí aktivně rozhodnout, co komu dovolí o Minimální oprávnění • Pravidelné kontroly • ,,Díry", nadbytečná oprávnění, .. . • Jednoduchý a uniformní mechanismus • Složitost vede k nepochopení a to k chybám • Úrovně oprávnění • Delegace oprávnění na konkrétní akci Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 5/21 Ochrana a bezpečnost • Základní operace: • čtení, zápis (včetně vytvoření), smazání, prodloužení a spuštění souboru • Základní ochrana • Různá pro různé operace • Specifikace, kdo smí co: Ochranné domény: • Skupina, která má stejná práva • Statické versus dynamické • Např.: Já, moji přátelé, ostatní • POSIX (UNIX): user:group:other • Možná i jiná schémata Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 6/21 Ochrana a bezpečnost Access Control List, ACL (seznamy přístupových oprávnění) • ke každému souboru je připojen seznam přístupových oprávnění • sestává se z uspořádaných dvojic fdoména,operace) Zjednodušená varianta (z UNIXových systémů): • pouze tři záznamy: u uživatel, g skupina, o: ostatní • operace: • r: čtení souboru (čtení obsahu adresáře) • w: zápis souboru (včetně vytvoření) • x: spuštění (sestoupení do podadresáře) • Příklad • rw-r----- • Uživatel může číst i zapisovat, skupina smí jen číst, ostatní nesmí nic Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 7/21 Ochrana a bezpečnost Plné ACL: • libovolný počet záznamu • více práv: smazání, změna oprávnění... • negativní záznamy (explicitní odepření operace) • dynamická dědičnost - propagace změn do podadresářů • např. AFS, Windows od verze 2000, ext4 s ACL Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 8/21 Ochrana a bezpečnost Capability List, CL • Uspořádání podle domén, nikoliv podle souborů • Schopnost (capability) tj. práva přístupu patří procesu a ten je může: • předávat dalším procesům (delegace) • modifikovat (degradovat, nemůže rozšířit práva) • smazat • Proces se při přístupu k souboru prokazuje odpovídající schopností • Možnost transferu schopností mezi procesy: vhodné pro distribuované systémy Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 9/21 Ochrana a bezpečnost • Kernel a uživatelský prostor • Oddělení na hw úrovni • Každá stránka někomu patří • Pouze kernel má přístup k hardware • Kontroluje práva přístupu • Obsluhuje zařízení (pro všechny) • Garantuje serializaci přístupu • Uživatelské procesy používají volaníkernelu (jádra) • Korektnost kernelu kritická Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 10 / 21 Ochrana a bezpečnost • Příslušnost virtuálních stránek k procesu • Výpadek stránky: nepovolený přístup o Ochrana • Mezi procesem a jádrem o Mezi procesy • Uvnitř procesu Luděk Matýska (Fl MU) PB001: Úvod do informačních techn Client-server • Distribuované počítaní • Využití prvků (počítače) propojených počítačovou sítí • Dekompozice úlohy na podúlohy • Paralelní vykonávaní podúloh • Na různých systémech propojených sítí • Client-server model • Speciální případ distribuovaného počítání • Více strukturované • Asymetrické: klient posílá požadavek na zpracování serveru • Server pro jednoho klienta může být klientem pro jiný server. Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 12 / 21 • Klient a server samostatné procesy • Na stejném nebo různých počítačích • Interní informace je „soukromá" pro každý proces • Klient i server se mohou vzájemně prokázat (autentizace) • Komunikují duplexním protokolem • Komunikace může být šifrovaná Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 13 / 21 Client-server • Interoperabilita • Klient a server mohou běžet na zcela odlišných systémech • Portabilita • Stačí zajistit u klientů • Integrace • Transparence • Klient vidí jen „svůj" server, nikoliv jeho další komunikaci • Bezpečnost • Autentizace klienta i serveru • Šifrovaná komunikace • Důvěryhodný server Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 14 / 21 Client-server • telnet, ssh • X Window systém na Unixu • Světová pavučina (World Wide Web) • Distribuované systémy souborů (AFS, NFS, Samba/CIFS) Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 15 / 21 mim • Základní rozčlenění • Data • Logika • Prezentace • Sousední možno kombinovat/rozdělit (tj. např. Logika může být součástí datové i prezentační vrstvy, a to i současně) Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 16 / 21 Client-server • Platí pro server i klient, podstatné zejména v souvislosti s klienty • „Tlustý" (fat) klient: • Značná spotřeba lokálních zdrojů (CPU, pamětí, disk) • Komplexní provedení i instalace • Příklad: Mozilla • „Tenký" (thin) klient: • Jednodušší • Snadná správa a přenositelnost • Menší škálovatelnost (příliš mnoho práce dělá server) • Zpravidla vyšší nároky na propustnost sítě Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 17 / 21 • Software zajišťující funkcionalitu distribuovaných systémů • „Zkratka" v rámci protokolů • Stojí „nad" operačním systémem, ale ,,pod" aplikací • Propojuje oddělené komponenty distribuovaného systému • Dovoluje aplikacím komunikaci přímo na vyšší abstraktní úrovni • Realizuje jednu (RPC) nebo více (DCE) funkcí Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 18 / 21 Client-server • Primitivní: přenos souborů • Základní: RPC (Remote Procedure Call) • Integrované: DCE (Distributed Computing Environment) • Distribuované objektové služby: CORBA, OGSA (Open Grid Service Architecture), Web Services Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 19 / 21 Client-server • Common Object Request Broker Architecture • Základem ORB: vrstva, která zprostředkovává komunikaci (middleware pro middleware) • Kompomenty: • Rozhraní (řetězce) • Umožňují volání procedur mezi klientem a serverem • Pojmenování (naming service) • „Obchodní" služba (trader) • Vyhledávání vhodného serveru • A mnoho dalších Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 20 / 21 • Využívají standardní protokoly zavedneé v rámci WWW konsorica (W3C) • Určeny pro interakci mezi počítači přes počítačovou síť • WSDL (Web Services Description Language) • Popisuje rozhraní služby • SOAP (Simple Object Access Protocol) o Protokol pro výměnu zpráv • XML (extensible Markup Language) • Značkovací jazyk používaný pro popis objektů a vlastní komunikaci Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2014 21 / 21