Bezpečnostní prvky OpenSolarisu. Martin Červený M.Cerveny@sh.cvut.cz



Podobné dokumenty
Kontejnery v OpenSolarisu CZOSUG #27. Martin Červený M.Cerveny@computer.org

Přednáška 5. Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení. Úvod do Operačních Systémů Přednáška 5

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Identita uživatele (procesu)

Jak efektivně ochránit Informix?

Identita uživatele. predn_04.odt :47:03 1

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Mobilní malware na platformě Android Přednáška 2. Ing. Milan Oulehla

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

Administrace OS Unix. Úvodní informace Principy administrace Uživatelé

a co je operační systém?

Programové vybavení OKsmart pro využití čipových karet

Tomáš Borland Valenta

IT ESS II. 1. Operating Systém Fundamentals

Využití identity managementu v prostředí veřejné správy

Michal Andrejčák, Klub uživatelů ŘS MicroSCADA, Hotel Omnia Janské Lázně, SDM600 Stručný popis a reference.

Použití čipových karet v IT úřadu

Alcatel-Lucent VitalQIP DNS/DHCP & IP Management Software

Úvod do operačního systému Linux Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek

Digitální identita. zlý pán nebo dobrý sluha? Martin Jelínek, ASKON INTERNATIONAL s.r.o.

Č á s t 1 Příprava instalace

Internet Information Services (IIS) 6.0

BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM. Petr Dolejší Senior Solution Consultant

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Pokročilé architektury počítačů

Virtualizace. Lukáš Krahulec, KRA556

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 13

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Brno. 30. května 2014

Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Extrémně silné zabezpečení mobilního přístupu do sítě.

Struktura pamětí a procesů v DB Oracle. Radek Strnad

Úvod Bezpečnost v počítačových sítích Technologie Ethernetu

Bezpečnost sítí

Bezpečn č os o t t dat

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Windows Server Novinky. Petr Špetlík Cloud & Server PTA

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

AUTENTIZAČNÍ SERVER CASE BEZPEČNÁ A OVĚŘENÁ IDENTITA

Architektura systému GNU/Linux. Bohdan Milar

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Petr Vlk KPCS CZ. WUG Days října 2016

VirtualBox desktopová virtualizace. Zdeněk Merta

X36PKO Jmenné služby Jan Kubr - X36PKO 1 4/2007

Fakulta informačních technologií Božetěchova 2, BRNO

Novell Identity Management. Jaromír Látal Datron, a.s.

IBM Informix 11.7 Edice

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Bezpečný cloud šifrování a silná autentizace. Ing. Petr Slaba ASKON International s.r.o.

Technická bezpečnostní opatření nejen ve smyslu ZKB. Jan Zdvořáček ASKON International s.r.o.

Česká pošta, s.p. na Linuxu. Pavel Janík open source konzultant

Souborové služby. Richard Biječek

SSL Secure Sockets Layer

Windows 2008 R2 - úvod. Lumír Návrat

Nastavení DCOM. Uživatelský manuál

Dodávka nových switchů a jejich integrace do stávající IT infrastruktury inspektorátu SZPI v Praze

Testovací protokol čipová karta etoken PRO SmartCard 32K

NAS 109 Použití NAS s Linux

Testovací protokol USB token etoken PRO 32K

Testovací protokol USB Token Cryptomate

HP JetAdvantage Management. Oficiální zpráva o zabezpečení

edice Windows 10 je pro vás nejvhodnější? Firemní prostředí Kancelářské a uživatelské prostředí Správa a nasazení Home Pro Enterprise Education

SMART KARTY V LINUXU A PROČ BY VÁS MĚLY ZAJÍMAT JAKUB JELEN, RED HAT

Koncept centrálního monitoringu a IP správy sítě

Novinky v RHEV 3.1 Představení Red Hat Identity Managementu Radek Langkramer, konzultant

Úvod. unx-predn_01-uvod.odt :13:43 1

Identita uživatelů, přístupová práva. Linux

Zajištění kvality služby (QoS) v operačním systému Windows

Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.

Bezpečnostní projekt Případová studie

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

2 Popis softwaru Administrative Management Center

Virtualizace na Linuxu

<Insert Picture Here> Jak garantovat bezpečnost systémů ve státní správě

Základní typy struktur výpočetních systémů

Aktivní bezpečnost sítě

Připojení k eduroam.cz: Nastavení síťových komponent Meraki a konfigurace ISE

Šifrování ve Windows. EFS IPSec SSL. - Encrypting File System - Internet Protocol Security - Secure Socket Layer - Private Point to Point Protocol

Efektivní provoz koncových stanic

VPN - Virtual private networks

Instalační a uživatelská příručka

Na co se ptát poskytovatele cloudových služeb?

Radim Dolák Gymnázium a Obchodní akademie Orlová

Operační systém GNU/Linux

Alternativy k SAP HANA appliance? Představení možnosti TDI a cloudové infrastruktury

Příloha č. 1 k Č.j.: OOP/10039/ Specifikace zařízení

Mobilní komunikace a bezpečnost. Edward Plch, System4u

Cloud Slovník pojmů. J. Vrzal, verze 0.9

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

SIMATIC Virtualization as a Service. TIA na dosah

Virtualizační platforma ovirt

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Bezpečná autentizace přístupu do firemní sítě

Memory Management vjj 1

NOVÉ SLUŽBY CESNET PRO eidas. Jiří Bořík CESNET. konference e-infrastruktury CESNET 2019 Praha

CCNA Network Upgrade

Transkript:

Bezpečnostní prvky OpenSolarisu Martin Červený M.Cerveny@sh.cvut.cz

Přehled bezpečnostních prvků OpenSolarisu OpenSolaris Role Based Access Control OpenSolaris kontejner / zóna OpenSolaris Cryptographic Framework

Přehled bezpečnostních prvků OpenSolarisu

Cíle bezpečnosti přehled otevřené standardy POSIX, XPG, SUS, SVID, ANSI... otevřená platforma otevřený kód ověřený kód Common Criteria (ISO 15408) AAA CAPP EAL4+ RBACPP EAL4+ Authentication autentizace vstupu Authorization autorizace přístupu Audit účtování provozu

Autentizace vstupu přehled AAA konfigurovatelné jmenné služby pro identitu uživatele Name Service Switch nsswitch.conf moduly pro unix, LDAP, NIS, NIS+ typy služeb od passwd,... RBAC, project konfigurovatelné ověření identity Plugable Authentication Modules pam.conf moduly pro unix, LDAP, NIS+, kerberos, čipové karty

Autorizace přístupu přehled AAA přístup k privilegovaným a administrativním nástrojům Role Based Access Control oprávnění pro přístup k privilegovaným funkcím kernelu Privileges soubory POSIX Access Control List sítě IP filter TCP wrapper IPsec IP QoS

Audit provozu přehled AAA audit v kernelu Basic Security Module 257 událostí kernelu 77 událostí aplikací informace o běhu aplikací Extended Accounting syslog souborový audit Automated Security Enhancement Tool Basic Audit Reporting Tool audit obsahu a bezpečnostní nastavení konfigurace Solaris Security Toolkit (JASS)

OpenSolaris Role Based Access Control

Cíle a komponenty RBAC cíl umožnit delegaci administrace systému definice programových autorizací snížit počet setuid programů princip minimálních oprávnění komponenty RBAC administrativní role (administrative roles) programové autorizace (authorizations) profily (profiles, rights), profily pro spuštění programů včetně bezpečnostních oprávnění kernelu (exec attributes, privileges)

Administrativní role RBAC komponenty standardní uživatelské konto, ale: nelze se přímo přihlásit aktivace pomocí su z autorizovaných kont práce v Solaris Management Console použitý Profile Shell konfigurace roleadd(1m), rolemod(1m), roledel(1m) user_attr(4) doplňující soubor pro passwd(4) a shadow(4) user:::type=normal role; roles=users; auths=auths; profiles=profiles; defaultpriv=priv; limitpriv=priv; project=project; lock_after_retries=yes no

Programové autorizace RBAC komponenty hierarchický jmenný prostor solaris.admin.printer.delete solaris.admin.printer.modify solaris.device.allocate solaris.jobs.admin solaris.jobs.grant solaris.jobs.user solaris.system.shutdown... využití v aplikacích getauthattr(3secdb) smc(1m), allocate(1m), crontab(1), at(1)... konfigurace auth_attr(4) auth::short descr:long descr:help=help

Profily RBAC komponenty 1) profil definuje další atributy prof_attr(4) profile:::descr:help=help; auths=auths; profiles=profiles; privs=privs 2) profil přiřazuje privilegia pro spouštění programů implementace pomocí Profile Shell použití místo exec(2) transparentní externí spuštění setuid pfexec(1) exec_attr(4) profile:suser solaris:cmd:::prog: euid=uid; uid=uid; egid=gid; gid=gid; privs=privs; limitprivs=privs

Příklad profilu RBAC passwd jack:x:100:1:insidejack:/home/jack:/bin/sh killer:x:200:1:killer:/home/killer:/bin/pfsh user_attr jack:::type=normal;roles=killer killer:::type=role;profiles=killer prof_attr Killer:::Process killer: exec_attr Killer:suser:cmd:::/usr/bin/kill:euid=0

Privilegia RBAC bezpečnostní oprávnění pro kernel, která nahrazují uid==0 48 privilegií ve skupinách FILE oprávnění přístupu k souborům IPC oprávnění přístupu k sdílené paměti, frontám zpráv a semaforům NET oprávnění přístupu k síti PROC - oprávnění přístupu k procesům SYS - oprávnění přístupu k systémovým zdrojům součástí informací kernelu o procesu nastavení privilegií RBAC privilegované programy (setuid) v rámci startovací sekvence

Přehled privilegií RBAC privilegia contract_event Process/Request critical/reliable events contract_observer Obsever events other than euid "cpc_cpu Access to per-cpu perf counters "dtrace_kernel" DTrace kernel tracing "dtrace_proc" DTrace process-level tracing "dtrace_user" DTrace user-level tracing "file_chown" Change file's owner/group IDs "file_chown_self" Give away (chown) files "file_dac_execute" Override file's execute perms "file_dac_read" Override file's read perms "file_dac_search" Override dir's search perms "file_dac_write" Override (non-root) file's write perms "file_link_any" Create hard links to diff uid files "file_owner" Non-owner can do misc owner ops "file_setid" Set uid/gid (non-root) to diff id "ipc_dac_read" Override read on IPC, Shared Mem perms "ipc_dac_write" Override write on IPC, Shared Mem perms "ipc_owner" Override set perms/owner on IPC "net_icmpaccess" Send/Receive ICMP packets "net_privaddr" Bind to privilege port (<1023+extras) "net_rawaccess Raw access to IP "proc_audit Generate audit records "proc_chroot Change root (chroot) "proc_clock_highres" Allow use of hi-res timers "proc_exec" Allow use of execve() "proc_fork" Allow use of fork*() calls "proc_info" Examine /proc of other processes "proc_lock_memory" Lock pages in physical memory "proc_owner" See/modify other process states "proc_priocntl" Increase priority/sched class "proc_session" Signal/trace other session process "proc_setid" Set process UID "proc_taskid" Assign new task ID proc_zone Signal/trace processes in other zones sys_acct Manage accounting system (acct) sys_admin System admin tasks (node/domain name) "sys_audit" Control audit system "sys_config" Manage swap "sys_devices" Override device restricts (exclusive) "sys_ipc_config" Increase IPC queue "sys_linkdir" Link/unlink directories "sys_mount" Filesystem admin (mount,quota) "sys_net_config" Config net interfaces, routes, stack "sys_nfs" Bind NFS ports and use syscalls "sys_res_config" Admin processor sets, res pools "sys_resource" Modify res limits (rlimit) "sys_suser_compat" 3rd party modules use of suser "sys_time" Change system time

Privilegia procesu RBAC privilegia informace kernelu o procesu Effektive set (E) aktuální oprávnění, dají se přidávat a odebírat shora omezené podle (P) Permitted set (P) horní omezení pro oprávnění (E) a (I), dají se pouze odebírat Inheritable set (I) nastavení výchozích oprávnění (nové E a P) pro synovský proces Limited set (L) horní omezení pro dědičná oprávnění (I) a nemůže nikdy růst příznak PRIV_AWARE spouštění setuid pro nepřeprogramované (nejsou PRIV_AWARE) procesy se v kernelu ověřuje jiné E a P E' = (euid == 0? L : E) P' = ((euid == 0 ruid == 0 suid == 0)? L : P))

Nastavení privilegií RBAC privilegia RBAC nástroj ppriv(1) zjištění privilegií u procesu nastavení privilegií pro spouštěný proces testování potřebných privilegií nástroj truss(1) testování potřebných privilegií nastavení při startu OS Service Management Facility definice v popisu (manifestu) aplikace zobrazení nástrojem svcprop(1) API set/getpflags(2), set/getppriv(2)

RBAC DEMO >>>>

OpenSolaris kontejner / zóna

Principy oddělení běhu aplikací kontejner důvody bezpečnostní oddělení rozdělení nebo vyhrazení zdrojů redundance a vysoká dostupnost horizontální škálovatelnost možnosti dokonalého oddělení oddělené systémy dynamické hw rozdělení výkonných počítačů (hardware partitioning) virtuální (emulovaný) hardware (virtual hardware monitors) rozdělení na úrovni operačního systému (OS virtualization)

Kontejner OpenSolarisu kontejner kontejner rozdělení na úrovni operačního systému (zóny) nezávislý běh instance operačního systému od úrovně init (sdílený kernel) izolace softwarových chyb bezpečnostní oddělení (méně privilegií) vytvoření zdrojů podle procesorů (dynamic resource pools, processor sets) vytvoření zdrojů podle výkonu procesorů na nižší úrovni (resource/workload manager, FSS scheduler (cpu-shares), projects) vytvoření zdrojů podle řízení toků na IP úrovni (IP QoS)

Zóna OpenSolarisu kontejner zóna konfigurace - zones(5) zonecfg(1m) jméno kořenový adresář zóny souborové systémy síťové rozhraní další zařízení řízení zdrojů instalace, spuštění a vypnutí zoneadm(1m) stav zóny configured, incomplete, installed, ready, running, shutting_down, down zpřístupnění zlogin(1), zonename(1)

Příklad kontejner zóna zonecfg z zone1 zonecfg:zone1> create zonecfg:zone1> set zonepath=/zone1 zonecfg:zone1> set autoboot=true zonecfg:zone1> add net zonecfg:zone1:net> set address=192.168.1.100 zonecfg:zone1:net> set physical=gani0 zonecfg:zone1:net> end zonecfg:zone1 > add fs zonecfg:zone1:fs> set dir=/usr/local zonecfg:zone1:fs> set special=/zone1/local zonecfg:zone1:fs> set type=lofs zonecfg:zone1:fs> end zonecfg:zone1> add device zonecfg:zone1:device> set match=/dev/ecpp0 zonecfg:zone1:device> end zonecfg:zone1> verify zonecfg:zone1> commit zoneadm z zone1 install zoneadm z zone1 boot zlogin C zone1

Další vlastnosti zóny kontejner zóna žádné změny v API citlivé části souborového systému jen pro čtení omezení na zařízeních odebraná privilegia cpc_cpu, dtrace_kernel, dtrace_proc, dtrace_user, gart_access, gart_map, net_rawaccess, proc_clock_highres, proc_lock_memory, proc_priocntl, proc_zone, sys_config, sys_devices, sys_ipc_config, sys_linkdir, sys_net_config, sys_res_config, sys_suser_compat, sys_time upravené nástroje ps(1), prstat(1m), truss(1), iostat(1m), mpstat (1m), vmstat(1m), psrinfo(1m), sar(1)... upravená prezentace z kernelu sysconf(3c), getloadavg(3c), kstat(3kstat), autofs, fd(4), mnttab(4), kill(2), SysV IPC, streams... instalace aplikací pkgmap(4), pkginfo(4)

Řízení zdrojů kontejner zdroje konfigurace - dynamic resource pool pooladm(1m), poolcfg(1m), poolbind(1m), poolstat(1m), poold(1m) pbind(1m), psrinfo(1m), psradm(1m), psradm(1m) konfigurace - FSS(7) resource_controls(5) zonecfg(1m) zones.cpu-shares rctladm(1m) prctl(1) projadd(1m), projmod(1m), projdel(1m), projects(1), project(4), newtask(1) project.cpu-shares

Rozdělení zdrojů kontejner zdroje system 8 cpu pool1 2-4 cpu pool2 4 cpu zone1 20 shares zone3 1 share project1 3 shares project2 2 share project3 1 share zone4 2 shares zone1 10 shares task1 proc1 proc2 task2 proc3 proc4 zone5 1 share

kontejner DEMO >>>>

OpenSolaris Cryptographic Framework

Vlastnosti krypto. systému krypto důvody sjednocení kryptografických knihoven jednotné API (PKCS#11v2) škálovatelnost a vyšší stabilita propojení s HW akcelerátory možnost centrální administrace architektura infrastruktura v uživatelské vrstvě (ucf) infrastruktura v kernelu (kcf)

ucf krypto web server access mgr directory srv web services appl server architektura SecureShell IKE SSL GSS API SASL Java JCE kerberos veřejné klíče GSS-API Digest - MD5 CRAM - MD5 JCE provider certifikační systém privátní klíče certifikáty ověření klíčů kryptografický systém ucf vazba na kernel kcf softwarový modul Smart Card rozhraní PKCS#11 customer PKCS#11 provider Smart Card systém

kcf krypto architektura /dev/cryptoadm /dev/crypto GSS API kerberos SSL IPsec TCP IP kryptografický systém kcf hardwarové akcelerátory softwarový modul KCAPI customer KCSPI provider crypto síťový ovladač budoucí rozšíření

Možnosti krypto konfigurace cryptoadm(1m) například výběr FIPS140 algoritmů uživatelské nástroje encrypt(1), digest(1), mac(1) a pktool(1) algoritmy pkcs11_softtoken.so DES, 3DES, AES, RC4 (<=128 bit) RSA, DSA, DH MD5, SHA1, SSL HMAC pkcs11_softtoken_extra.so >128 bit

krypto DEMO >>>>

dotazy?

díky za pozornost