Czech Sun Training Day 2009 - Solaris

273
-1

Published on

Presentation from training day for Sun Solaris customers to explain some important features of Solaris 10.
Presentation covers following themes:
- Solaris and virtualization (XEN, VirtualBox, LDom, zones)
- Solaris and production (ZFS, DTrace)
- Solaris and security (privileges, trusted extension)

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
273
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Czech Sun Training Day 2009 - Solaris

  1. 1. Training Day 2009 Technologické výhody Solarisu Martin Červený M.Cerveny@computer.org
  2. 2. Obsah Solaris pro virtualizaci virtualizace na míru pomocí logických domén, xVM hypervizoru/xen, xVM VirtualBoxu a kontejnerů (zóny a řízení zdrojů) Solaris pro provoz nelimitovaná data na souborovém systému ZFS a dokonalý přehled o systému s DTrace Solaris pro bezpečnost zabezpečený provoz systému s použitím privilegií procesů a bezpečnostních rozšíření
  3. 3. pro virtualizaci
  4. 4. Virtualizace systémů • důvody a požadavky virtualizace > rozdělení nebo vyhrazení zdrojů, přebytek výkonu > bezpečné oddělení a ochrana > redundance a vysoká dostupnost > spravovatelnost • druhy virtualizace > hw rozdělení výkonných počítačů (DSD,partitions) > paravirtualizace (PVM, kooperativní) (xVM hypervisor/xen, LDom) > plná virtualizace (HVM, emulace systému (zařízení), výjimečně i procesoru) (xVM hypervisor/xen, xVM VirtualBox) > rozdělení na úrovni operačního systému (zóny)
  5. 5. APPAPP G OS APP IPC HW OS APP APP IPC RPC OS HW přímý přístup APP APP syscall přímý přístup hypercall hypervisor (VMM) APP H OS APPAPP G OS výjimka trap APPAPP G OS APPEMUL H OS APPAPP G OS hypervisor&trap DSDxen/LDom VB/xen APPAPPAPP syscall přímý přístup APP OS APPAPP syscall emulátor kontejner/zóna HW HW HW
  6. 6. Plná virtualizace - xVM VirtualBox • plná virtualizace architektury x86/x64 > „desktopová“ virtualizace > dynamické nalezení kolizních instrukcí > procesory s rozšířením Intel VT-x, AMD-V > hostitel - Solaris, Linux, Windows, OS X • speciality > uživatelsky příjemné GUI, ale i příkazová řádka > modul v jádře (nezavádí se hypervizor před startem OS) > 3D akcelerace hostů (některé typy) > uživatelsky orientované rozšíření „guest additions“ (grafika, integrace myši, clipboard, USB, sdílený adresář, audio ...) > vzdálený přístup ke grafice RDP
  7. 7. Paravirtualizace a plná virtualizace - xVM hypervisor / xen • paravirtualizace architektury x86/x64 > hostitel (Dom0) - Solaris, Linux, NetBSD > hostovaný (DomU) - Solaris, Linux, *BSD, Netware, Minix, Plan9, Hurd • plná virtualizace pro hostované systémy > jen procesory s rozšířením Intel VT-x, AMD-V > emulace zařízení QEMU • speciality > migrace za běhu > virtualizace na úrovni PCI > virtualizace CPU a paměti > hybridní práce IO se síťovými zařízeními > řízení spotřeby > vzdálený přístup ke grafice VNC
  8. 8. Paravirtualizace - Logical Domains • paravirtualizace architektury sun4v > hypervizor součástí OBP > paravirtualizované OS – Solaris 10 ≥U4, Linux ≥2.6.23 > speciality – CPU přiřazení dynamické – hybridní IO práce se síťovými zařízeními • role ve virtualizovaném systému > control domain - rozděluje zdroje systému > service domain - virtualizuje sítě, disky a konzole do „Logical Domain Channels“ > io domain - zpřístupňuje IO zařízení (PCI sběrnice) > guest domain - využívá přidělené CPU/MEM a virtualizované zdroje
  9. 9. hardware app app app app jádrojádrojádro jádro app app hypervizor free cpu/mem io bus io busio bus vsw vdsk vsw vdsk control+service+io guest guest+io guest+service+io cmd vsan ldc vlan ldc
  10. 10. Kontejner Solarisu • rozdělení na úrovni operačního systému (zóny) > nezávislý běh instance operačního systému od procesu init (sdílené jádro Solarisu) > izolace softwarových chyb aplikací > bezpečnostní oddělení (méně privilegií) > možnost připojení citlivých části souborového systému jen pro čtení > žádné změny v API aplikací > branding - emulace chování jiného jádra operačního systému (linux na x86, solaris 8/9 na sparc)
  11. 11. hardware systému jádro Solarisu app app konfigurace globální zóna app app Solaris zóna RPC IPC app app brandz zóna lx sol8, sol9 syscall emulátor syscall
  12. 12. Kontejner Solarisu • řízení zdrojů > podle procesorů (dynamic resource pools, processor sets) > přiřazení poměrného výkonu procesorů (resource/workload manager, FSS plánovač procesů (cpu-shares), projects) > limit přiřazení fyzické paměti > podle toků na IP úrovni (IP QoS)
  13. 13. system 8 cpu pool1 2-4 cpu pool2 2 cpu zone3 1 share zone2 10 shares zone4 2 shares zone5 1 share zone1 20 shares project1 3 shares project2 2 share project3 1 share task2 proc4 proc3 task1 proc2 proc1 4 ∗ 20 1020 ∗ 2 123 = 8 9
  14. 14. pro provoz
  15. 15. Robustnost při provozu • diskový subsystém > UFS/SVM, SAMfs/QFS, ZFS > MPxIO, FC, iscsi, IB > projekt COMSTAR • řízení zdrojů > DRP, FSS, projekty • dohledovatelnost > na úrovni systému a aplikací - statistiky, dtrace > na úrovni hardware - FMA > posmrtná analýza systému a aplikací
  16. 16. Zettabyte File System • vysoká integrita dat > end-to-end kontrolní součty > transakce • „storage pool“ > RAID-0, RAID-1, RAID-Z, RAID-Z2 • kapacita (128bit) • jednoduchá „online“ administrace • řízení přístupu NFSv4/NT ACL • snapshot, clone • vzdálená replikace • komprimace • nezávislé na platformě (x86-SPARC)
  17. 17. volume manager filesystem dmu storage pool allocator nezávislý blokový přístup ochrana pomocí žurnálu synchroní zápis úplná resychronizace po výpadku transakce vše-nebo-nic ve všech bodech zfs klasickýmodefs-vm zfs
  18. 18. 1 2 3 4 možný snapshot mirror A B C aktuální uberblock zfstransakcezfsresilvering
  19. 19. Dtrace • sondy > dynamické vložení přerušení do kódu > nulové náklady, pokud není sonda aktivní > pro jádro Solarisu, uživatelské programy a interpretry java, javascript, python, PHP, ruby … > „provider“ pro sondy – ~ 80000 sond generických (funkce kernelu) – ~ 2500 sond specifických • úplný popis sondy a akce provider:module:function:name /logický výraz podmínky akce/ { příkazy akce; … }
  20. 20. Dtrace syscall - sondy na vstupu/výstupu systémových volání dtrace – vnitřní sondy DTrace lockstat - sondy pro zámky a zamykání profile - pravidelně spouštěné sondy (časovač) fbt - sondy na vstupu/výstupu všech funkcí kernelu sdt - “staticky definované sondy” explicitně zakopilované v kódu sysinfo - sondy statistik kernelu pro mpstat a sysinfo vminfo - sondy statistik kernelu pro virtuální paměť proc - sondy vytváření a zánik procesů/LWP sched - sondy plánovače CPU io - sondy pro sledování diskových IO mib - SNMP MIB sondy systémového managementu pid - sondy sledování funkcí a instrukcí v procesech ... „provider“ pro sondy
  21. 21. libdtrace(3lib) lockstat(1m) dtrace(1m) intrstat(1m) plockstat(1m) sondy&akce (DOF) výsledky (DIF) fbt(7d) sdt(7d) syscall(7d) vmstat(7d) dtrace(7d), logika a D-interpret text/code trap USR SYS
  22. 22. pro bezpečnost
  23. 23. Bezpečnostní rámec Solarisu • otevřené standardy > POSIX, XPG, SUS, SVID, ANSI ... • otevřená platforma • otevřený kód • ověřený kód > certifikace Common Criteria (ISO 15408) • AAA > Authentication – autentizace vstupu – nsswitch, pam > Authorization – autorizace přístupu – RBAC, privilegia jádra, Trusted Extension, ACL, IP filter, TCP wrapper, IP sec, IP qos > Audit – účtování provozu – audit událostí v jádru Solarisu, accounting, BART, SST
  24. 24. Role Based Acces Control • 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) – nelze se přímo přihlásit, jen pomocí „su“ z autorizovaných kont > programové autorizace (authorizations) > profily (profiles, rights), profily pro spuštění programů včetně bezpečnostních privilegií jádra (exec attributes, privileges)
  25. 25. Privilegia • bezpečnostní oprávnění pro jádro Solarisu, která nahrazují privilegovaný test „euid==0“ • 68 privilegií > například: "file_dac_read" Override file's read perms "file_dac_search" Override dir's search perms "net_privaddr" Bind to privilege port (<1023+extras) "proc_exec" Allow use of execve() "proc_fork" Allow use of fork*() calls "proc_info" Examine /proc of other processes • součástí informací jádra o procesu • nastavení privilegií > RBAC > privilegované programy (setuid) > v rámci startovací sekvence (SMF)
  26. 26. Privilegia • informace v jádru 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 • pro spouštění setuid se použije pro E a P obsah L Interpretace v jádru Solarisu
  27. 27. Trusted extension • autorizace > Discretionary Access Control (DAC) (certifikace CA PP & RBAC PP na EAL4+) – subjekt (uživatel a jeho procesy, ověřená identita uživatele) – UID, GID – objekt (soubory, sdílená paměť, jiné procesy, síť ...) – rwx bity – POSIX ACL, ZFS/NFSv4 ACL > Mandatory Access Control (MAC) (certifikace LS PP na EAL4+) – subjekt – DAC + clearance label, accreditation label range, account label range, session label range – objekt – DAC + sensitivity label
  28. 28. Trusted extension • označení > klasifikace (classification, level) – vertikální hierarchická úroveň bezpečnosti – příklad: „public“ < „company conf.“ < „secret“ < „top secret“ > oddělení (compartments, categories) – horizontální příslušnost do žádného, jednoho i více oddělení bezpečnosti – příklad: „education“, „marketing“, „management“, „accounting“ > vyhodnocení – dominance subjektu nad objektem – subjekt má stejnou nebo vyšší klasifikaci než objekt – subjekt obsahuje všechna oddělení objektu – write-up + read-down – Compartmented Mode Workstations (CMWs) Definice „label“
  29. 29. Trusted extension • firemní rozložení > klasifikace: „public“ < „company confidental“ < „secret“ > oddělení: „education“, „management“, „accounting“ … • NISPOM rozložení > klasifikace: „confidental“ < „secret“ < „top secret“ • NATO rozložení > klasifikace: „nato resticted“ < „nato confidental“ < „nato secred“ < „cosmic top secred“ > oddělení: „atomal“ • demo rozložení > klasifikace: „unclassified (U)“ < „confidental (C)“ < „secred (S)“ < „top secred (TS)“ > oddělení: „A“, „B“ • firewall > klasifikace: „system“ > oddělení: „inside“, „outside“ Příklady konfigurace
  30. 30. SYSTEM INSIDE OUTSIDE SYSTEM OUTSIDE SYSTEM INSIDE SYSTEM sw install audit web server application DB internet trusted gw
  31. 31. Děkuji za pozornost Martin Červený M.Cerveny@computer.org

×