UNIX 4. Uživatelé a skupiny v Unixu © Milan Keršlágerhttp://www.pslib.cz/ke/slajdy Obsah: ● uživatelé,

Slides:



Advertisements
Podobné prezentace
Hotel Tatra, Velké Karlovice 23. – 25. dubna 2007 S4U – Seminář o Univerzitním informačním systému 1 Osobní management Tomáš Procházka.
Advertisements

Datové schránky v praxi Lukáš Jelínek
Projekt Informační a vzdělávací portál Libereckého kraje I CZ.1.07/1.1.00/ I Školení pro uživatele portálu.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Petr Krčmář Virtualizace (především linuxová) InstallFest 2011.
Ověřené výstupy z ISKN elektronická značka Jiří Formánek
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
Počítačové sítě 8. Využití sítí © Milan Keršlágerhttp:// Obsah: ● sdílení v sítích.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
POČÍTAČOVÉ VIRY A ANTIVIROVÉ PROGRAMY. Viry a antivirové programy VIR program, který se dokáže sám šířit bez vědomí uživatele. pro množení se vkládá do.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Prostředí internetu Číslo DUM: III/2/VT/2/2/27 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Systém správy dokumentace akreditované zkušební laboratoře Bc. Jan Randl, 4912.
Informační bezpečnost VY_32_INOVACE _BEZP_15. DEFINICE  Informační bezpečnost chápeme jako zodpovědnost za ochranu informací během jejich vzniku, zpracování,
UNIX Uživatelé a skupiny © Milan Keršláger
Management počítačových sítí Počítačové sítě VUT v Brně Fakulta podnikatelská Lekce 4 – Management síťové vrstvyIng. Viktor Ondrák, Ph.D.strana 1 Lekce.
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr. Petra Šandová Název: VY_32_INOVACE_5B_INF3_16_ Téma: pro 4.,5.ročník ZŠ, vytvořeno:
Principy Základních registrů Ing. Ondřej Felix, CSc.
Síťové operační systémy OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
BEZPEČNOST NA KONTAKTNÍCH MÍSTECH Czech POINT. 2 Administrativní bezpečnost Režimová bezpečnost Ochrana spisové agendy Automatizované prostředky spisové.
Počitačová bezpečnost - je obor informatiky, který se zabývá zabezpečením informací v počítačích (odhalení a zmenšení rizik spojených s používáním počítače).
2. Ochrana statických dat ● Stupně ochrany dat ● Bezpečnostní logy ● Ochrana před fyzickým přístupem ● Ochrana před logickým přístupem ● Ochrana před zničením.
Software =je v informatice sada všech počítačových programů používaných v počítači, které provádějí nějakou činnost. - Software je protiklad k hardwaru,
Databáze © Mgr. Petr Loskot
UNIX 4. Uživatelé a skupiny v Unixu
Revoluce jménem GDPR Eduard Pavlar Risk Assurance.
PŘIHLÁŠENÍ K ELEKTRONICKÉ EVIDENCI TRŽEB
Přednáška pro předmět Operační systémy II ÚI PEF MENDELU
Microsoft Excel verze 2010 Mgr. Přemysl Kejzlar.
Počítačová bezpečnost 2. Bezpečnost v OS
Počítačová bezpečnost 8. Uživatelé a oprávnění
Počítačová bezpečnost Cvičení 2: Procesy a oprávnění
Ucelené řešení pro řízení lidských zdrojů, ekonomiky a logistiky
Počítačová bezpečnost 2. Bezpečnost v OS
TÉMA: Počítačové systémy
Operační systémy Soubory a adresáře
Evaluace předmětů studenty (Anketky)
Batové dávky Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Vojtěch Mrózek. Dostupné z Metodického portálu ISSN: ,
Inf Operační systémy a jejich funkce
Správa paměti - úvod Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Architektura UIS Bc. Tomáš Procházka Sekce jádra systému Vývojový tým Univerzitního informačního systému Mendelova zemědělská a lesnická univerzita v.
Přístupový systém aneb kontrola vstupů
UNIVERZITA PALACKÉHO V OLOMOUCI
Počítačová bezpečnost 2. Bezpečnost v OS
TÉMA: Počítačové systémy
Inf Ovládání operačního systému
Překladače Uživatelé a skupiny v Unixu
Databáze MS ACCESS 2010.
Financováno z ESF a státního rozpočtu ČR.
Souběh Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
1. ročník oboru Mechanik opravář motorových vozidel
Požadavky na hardware, software
kpt. Ing. Tomáš Hoffmann HZS Karlovarského kraje
Informatika pro ekonomy přednáška 8
GDPR: ochrana osobních údajů
Instalace OS Linux Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Microsoft Office Access
Technická Evidence Zdravotnických Prostředků 1
ŠKOLA: Gymnázium, Chomutov, Mostecká 3000, příspěvková organizace
Materiál byl vytvořen v rámci projektu
Remote login.
Název školy: Autor: Název: Číslo projektu: Název projektu:
Hledáme klíč k právům dětí
Přednášky z Distribuovaných systémů
Seminář AMG, Písek 2018 GDPR.
Uskutečněné a očekávané změny právních předpisů důležité pro zástupce ředitele Praha
Analýza informačního systému
prezentace informačního systému
Hromadné dokumenty opakující se pro kolekci osob
Digitální učební materiál
Informatika Počítačové viry.
Transkript prezentace:

UNIX 4. Uživatelé a skupiny v Unixu © Milan Keršlágerhttp:// Obsah: ● uživatelé, /etc/passwd, /etc/shadow ● skupiny, /etc/group, /etc/gshadow ● správa uživatelů a skupin, příkaz sudo ● adresářová služba (LDAP, NIS) ● bezpečnost (programátorská chyba, zranitelnost, exploit) ● SELinux, AppArmor, chroot, sandbox

Unixový systém ● víceúlohový ● nutné vzájemné oddělení úloh (procesů) ● proces nemůže zasahovat do paměti jiného ● nutná podpora procesoru – ochrana paměti – IBM PC: i386 (32bitový, Windows NT) – privilegovaný režim – dtto (nelze nebezpečné instrukce) – existovaly i systémy bez podpory CPU → problém ● víceuživatelský ● nutné vzájemné oddělení uživatelů ● pomocí oprávnění (soubory, adresáře, procesy) – nutná podpora v jádře operačního systému (+privileg. r.)

Uživatelé ● správce (administrátor) → root (UID=0) ● není jádrem OS omezován ● může se změnit na libovolného uživatele – využíváno při přihlašování (uvítací program jako root ) ● běžný uživatel → UID!=0 ● může zasahovat jen do vlastních souborů, procesů – využívá se systém oprávnění ● NEmůže se změnit na jiného uživatele ● jádro OS pracuje s UID (běžně 0 až 32767) ● ve výpisu se překládá na jméno (srozumitelnost)

Definice uživatelů ● uloženo v souboru /etc/passwd ● jednoduchá databáze ( chyba → zbytek se nepoužívá ) ● 1 řádek = 1 uživatel, položky odděleny znakem „ : “ ● login:passwd:UID:GID:FullName:HomeDir:shell ● využívá se při překladu UID → jméno uživatele ( ls -l ) ● založení uživatele ● prosté přidání dalšího řádku – lze i editorem ● nástroje (GUI, useradd, userdel) – používáme kvůli zamykání (editační konflikt)

Data o uživatelích ● jsou uložena v textových souborech ● /etc/passwd – definice uživatelů ● /etc/shadow – hesla v chráněném souboru (uživatel nemůže ani číst) ● /etc/group – seznam skupin + členství uživatelů ve skupinách ● /etc/gshadow – hesla skupin v chráněném souboru (jako /etc/shadow )

/etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin... huzva:x:500:500:René Hužva:/home/huzva:/bin/bash ● na prvním řádku je typicky root ● dále jsou tzv. systémové účty se speciálním využitím ● některé mají GUID=0, takže je to „malý root “ ● tři tečky naznačují řádky, které byly v ukázce smazány

Skrytá hesla (shadow passwords) ● heslo zakódováno jednosměrnou funkcí ● původně crypt(), později md5, sha1, sha2 – přidávána sůl (1 heslo = více zakódovaných tvarů) ● i tak lze použít útok hrubou silou – bereme všechny kombinace hesel (využití slovníku) – zakódujeme a porovnáme s uloženým tvarem – dnes tzv. „rainbow table“ → otázka vteřin (md5, sha1) ● ukrytí hesel do souboru /etc/shadow ● může číst jen root, běžný uživatel ne ● nevadí, protože před přihlášením oprávnění root

/etc/shadow ● opět jednoduchá databáze ● login:passwd:další:údaje:... ● další údaje upřesňují vlastnosti hesla – poslední změna hesla, platnost hesla, účtu, povinná změna, zákaz změny hesla uživatelem,... ● soubor může číst jen uživatel root – zašifrovaná hesla chráněna před zcizením – nelze použít útok hrubou silou – změna hesla uživatelem → SUID (speciální oprávnění) root:6$630fCdtG$:14632:0:99999:7::: huzva:465sWTI1pX/:14251:0:99999:7:::

Skupiny ● každý uživatel je členem alespoň 1 skupiny ● další skupiny v /etc/group ● primární skupina ● explicitně definována v /etc/passwd ● změna primární skupiny příkazem newgrp (nový shell) ● BSD systémy posuzují pouze primární skupinu ● SYSV systémy posuzují všechny skupiny najednou – dnes typické chování (v Linuxu volitelná vlastnost jádra)

/etc/group ● seznam skupin ● opět jednoduchá databáze ● názevsk:passwd:GID:login1,login2 ● BSD systémy ● všichni uživatelé ve skupině users ● SYSV systémy ● každý uživatel má vlastní stejnojmennou skupinu ● větší důraz na implicitní soukromí ● dá se nastavit (při vytváření uživatele) – /etc/default/useradd

/etc/gshadow ● stejná ochrana hesel, jako /etc/shadow ● názevsk:heslo:administrators:members ● typicky se hesla nepoužívají ● členství ve skupinách pevně dáno – nastaví se při přihlášení uživatele ● je-li však heslo nastaveno, může uživatel do skupiny vstoupit až po přihlášení – příkaz newgrp

Správa uživatelů a skupin ● různé nástroje pro GUI a příkazový řádek ● GUI se liší dle distribuce, řádkové stejné (standard) ● useradd, userdel, usermod ● groupadd, groupdel, groupmon ● passwd ● pro změnu hesla (uživatel vlastní, root všechny) ● id ● výpis aktuálních informací (UID, GID, skupiny) uid=500(huzva) gid=500(huzva) groups=500(huzva),501(www)

Nástroj sudo ● kontrolovaná elevace (zvýšení) oprávnění ● lze spustit příkaz jako jiný uživatel (i jako root ) ● /etc/sudoers → konfigurace ● použití: sudo příkaz – využívá distribuce Ubuntu (vkládá se heslo uživatele) ● příkaz su ● změna na jiného uživatele ● nutno znát jeho heslo ( root nemusí)

Adresářová služba ● externí databáze uživatelů ● nahrazuje nebo doplňuje lokální databázi (viz dříve) ● specializovaná databáze, replikace, distribuovanost ● uživatelé, skupiny, hesla, členství ve skupinách, jména tiskáren, počítačů,... ● optimalizace pro čtení a prohledávání ● aktualizace (změny) jen občasné ● LDAP ( Lightweight Directory Access Protocol ) ● NIS ( Network Information Service ) ● MS Active Directory, X.500, ale též DNS

LDAP ● původně protokol k X.500 ● model klient – server, používá TCP/IP ● jednotný globální prostor ● autentizace uživatelů, ACL ● podpora decentralizace ● podpora různých atributů ● na TUL jméno + heslo, ale též heslo pro WiFi apod. ● OpenLDAP, Fedora Directory Server ● open source implementace LDAP ● MS Active directory privátní implementací LDAP

Atributy LDAP ● dle X.520 ● C – country (CZ) ● SP – state or province (Liberecký kraj) ● L – locality (Liberec) ● O – organization (Technická univerzita) ● OU – organization unit (Fakulta mechatroniky) ● CN – common name (René Hužva) – CN=René Hužva, OU=Fakulta mechatroniky, O=Technická univerzita, L=Liberec, SP=Liberecký kraj, C=CZ

NIS ● původně Yellow Pages (YP) ● kolidovalo s ochrannou značkou v UK ● firma Sun Microsystem ● licencováno pro unixové systémy ● dnes spíše LDAP ( blíže k tomu, co má MS Windows ) ● uživatelé, hesla, názvy počítačů, ové aliasy, skupiny a členství ve skupinách,... ● novější verze: NIS+

Počítačová bezpečnost ● jedna celé disciplína kolem počítačů ● lze rozdělit na několik základních oblastí – fyzické zabezpečení ● zámky, mříže, hlídač, alarm,... – softwarové zabezpečení ● problém programátorských chyb (audity, aktualizace) ● výběr vhodného software (operační systém, ale i aplikace) ● správné nastavení software (oprávnění, šifrování, hesla,...) – personální opatření ● zaměstnanci – školení, zodpovědnost, hmotná odpovědnost... ● klienti – kompromis mezi omezením a volným přístupem

Bezpečnost v UNIXu ● bezpečnostní model tradičně typu DAC ● Discretionary Access Control podle TCSEC (USA) ● uživatel má přístup ke svým procesům a souborům – po „autentizaci“ (jméno+heslo) je uživatel „autorizován“ ● uživatel může poskytnout přístup jiným uživatelům ● slabým místem je uživatel root (správce systému) – root má absolutní oprávnění – → ovládne-li někdo jeho proces, ovládá celý systém ● alternativou je MAC model ● vše zakážu, selektivně povolím → RBAC (SELinux)

Zranitelná místa ● při návrhu ● chybně navržený nebo vybraný program či OS ● při implementaci ● programátorská chyba způsobí zranitelnost ● program využívající zranitelnost je exploit ● při provozu ● špatná implementace či nastavení ● typicky chyba obsluhy počítačového systému

Programátorská chyba ● opomenutí kontroly, logická chyba, překlep, … ● nebezpečné u nedůvěryhodných vstupů – např. data přicházející z počítačové sítě, Internetu – webový prohlížeč, ový klient, … ● často u složitých implementací – RPC → sdílení souborů v síti – SMB (!), NFS – a další síťové servery, ale i „běžné“ programy ● použití nebezpečných funkcí ● například strcpy() & spol. v jazyce C – jde o systematickou chybu (chybný přístup k řešení) – existují „příručky bezpečného programování“

Zranitelnost ● způsobeno programátorskou chybou ● děláme audity → ověřování bezpečnosti ● audit použitých zdrojových kódů – dělá se těžko u uzavřeného kódu (typicky komerčního) – certifikace systému podle nějaké specifikace ● většinou čistě formální záležitost (pro Windows) ● význam má u specializovaných systémů (OpenVMS) ● penetrační testy se typicky nedělají ● audit funkce a nastavení systému – přidělená oprávnění musí být vždy minimální nutná ● zaznamenáváme a analyzujeme činnost systému – „audit log“

Exploit ● konkrétní využití zranitelnosti ● typicky specializovaná aplikace – snadno dostupné pro starší zranitelnosti (Internet) – problém toho, že exploit má náskok ● black hat (to jsou ti zlí), white hat (to jsou ti hodní) ● často ve formě skriptu pro masivní útok – necílený útok, hledáme zranitelný počítač, službu – následuje snaha o elevaci (zvýšení) oprávnění ● nejdřív se dostane do počítače, pak se stane správcem systému ● forma exploitu ● remote explotit → ze sítě – nejnebezpečnější ● local exploit → ze stejného počítače – obtížnější

Aktualizace ● vydávání oprav → aktualizace ● řešíme pozdě, ale alespoň něco – tzv. zero-day zranitelnosti ● typicky není možné reagovat tak rychle, jak by bylo potřeba ● je nezbytně nutné aktualizace aplikovat – zajistit restart služby nebo celého počítače – Linux aktualizace prostřednictvím distribuce ● na rozdíl od Windows aktualizace pro celý systém ● antivirus zde nepomůže – chyba v programu → antivirus je obejit

SELinux ● doplňující zabezpečení pro Linux ● implementuje MAC (Mandatory Access Control) – přesněji RBAC → Role-based Access Control – na souborech jsou rozšířené atributy – definované role pro různé skupiny programů – → i proces běžící jako root může být omezen ● vytvořila NSA v USA (Národní úřad pro bezpečnost) – používá Fedora a klony RHEL (CentOS apod.) ● 3 režimy: – disabled, permissive (jen hlášení, bez omezení), enabled

AppArmor ● doplňující zabezpečení pro Linux ● implementuje MAC (jako SELinux) – nevyužívá rozšířené atributy → cesta k binárce ● vytvořila firma Novell – používáno v SLES, openSUSE, Ubuntu ● jednodušší správa – není tak komplexní, jako SELinux

chroot ● systémové volání jádra OS ● běžícímu procesu je změněn kořen FS – kořen je „posunut“ do zvoleného adresáře – vzniká problém s přístupem k dynamickým knihovnám ● dyn. knihovny musí být nakopírovány do chroot prostředí ● proces se „nedostane“ mimo chroot – neplatí pro uživatele root – chroot není zabezpečením, spíše ochranou proti chybě ● například nemožnost smazat soubory mimo chroot ● v unixových systémech velmi oblíbené

Sandbox ● bezpečnostní technika ● implementováno v jádře OS ● proces se může „odstřihnout“ od funkcí OS – typicky si proces vybere, které funkce znepřístupnit ● vybraná systémová volání přestanou fungovat ● v případě funkčního exploitu nejsou další akce povoleny – velmi dobře implementováno ve Windows ● bohužel to zcela využívá jen prohlížeč Google Chrome – v unixových OS neexistuje ucelená implementace ● sandbox lze vytvořit např. pomocí SELinuxu