Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

IT Arkitektur og Sikkerhed Lektion 2 Version 1.00.

Lignende præsentationer


Præsentationer af emnet: "IT Arkitektur og Sikkerhed Lektion 2 Version 1.00."— Præsentationens transcript:

1 IT Arkitektur og Sikkerhed Lektion 2 Version 1.00

2 Dagsorden Sidste uge –Introduktion til netværk Denne uge –Introduktion til computere –Introduktion til OS –Virtuelle maskiner –RAID –SAN –NAS –Cluster –Load Balancing –Directories –LDAP & Microsoft AD –Server roller i IT infrastrukturen –Server based computing 2 2

3 Introduktion til Computere CPU Memory Video Controller Video Controller Keyboard Controller Keyboard Controller Floppy disk Controller Floppy disk Controller Hard Disk controller Hard Disk controller 3 3

4 Processor (CPU) CPU’en får instruktioner fra hukommelsen og eksekverer dem Alle CPU’er opererer på følgende måde –Fetch henter instruktioner fra hukommelsen –Decode fordeler instruktionen til relevante dele af CPU’en –Execute CPU’en udfører instruktionen –Writeback Skriver eventuelt resultatet af de udførte instruktioner tilbage til hukommelse Der findes flere typer af CPU arkitekturer –RISC (Reduced Instruction Set Computer) –CISC (Complex Instruction Set Computer) 4 4

5 Processor (CPU) De fleste CPU opererer i mindst to forskellige modes (privilege modes): –User mode – CPU har kun adgang til et subset af instruktionerne og mindre hardware –Kernel mode (supervisor mode) – CPU afvikle alle instruktioner i et instruktionssæt. Og har adgang til den faktiske hardware Hypervisor mode er et nyt koncept der blandt andet er introduceret af Intel og AMD i de nyere CPU arkitekturer – Hypervisor er vigtig at bide mærke i.f.t. virtualisering 5 5

6 Hukommelse (Memory) Hukommelsen bruges til at gemme instruktioner og data, mens et program eksekverer. Man designer typisk hukommelse ud fra tre kriterier: –Hastighed –Pris –Kapacitet Intet hukommelse er optimalt på alle områder Man taler derfor om et hukommelse hierarki inde i en computer 6

7 Hukommelse 7

8 I/O enheder Som nævnt tidligere styrer OS også I/O enheder VIGTIGT et typisk brugerprogram kan IKKE tilgå I/O enheder direkte En I/O enhed består typisk af to dele: –En device controller som er en chip (eller flere). Typisk en lille microcontroller der er uafhængig af CPU’en og som kun er programmeret til at styre enheden. –Enheden selv Eksempler: –Et grafikkort eller en monitor –En harddisk controller og selve harddisken –En printer controller med tilhørende printer –….. En device controller kaldes ofte også for et kort eller en adapter (SCSI) 8

9 I/O enheder OS tager fat i device controlleren. Device controlleren tager derefter direkte fat i hardwaren. Den del af OS der taler med device controlleren hedder en device driver. En device controller vil typisk have forskellige device drivers for hvert operativsystem: Enhed Manufacturer A controller Manufacturer B controller Manufacturer C controller Linux driver Windows XP driver Solaris driver ……………… …… HardwareSoftware Linux OS Win XP OS Win XP OS Solaris OS Solaris OS 9

10 I/O enheder og drivere En device driver arbejder tæt sammen med kernefunktioner i operativsystemet og skal derfor typisk køre i kernel mode eller i et trusted ring mode. Der er typisk tre måder at loade en driver i et operativsystem: –Relink OS kærnen med driveren og reboote systemet De fleste Unix typer virker sådan. –Ved at lave et entry i konfigurationsfilen for operativsystemet og fortælle den at den skal loade driveren ved boot. Typisk for Windows –Load og accepter driveren mens operativsystemet kører. Giver mulighed for hot-plugging (Plug and Pray?). Kaldes for ”dynamic loading”. Man behøver ikke her at reboote. De fleste OS’er arbejder i den retning. USB behøver typisk dynamic loading. 10

11 Hvad er et Operativ System (OS)? Et program der bliver startet af BOOT processen. Et program der tilgås via. –Et applikationsprogram interface (API) –En brugergrænseflade (GUI) Styrer brugen af CPU’en, herunder multi-tasking af applikationer Styrer brugen af den interne hukommelse i systemet Styrer input til og output fra tilknyttet hardware; såsom diske, printere, m.m. Sender beskeder til applikationer og brugere om status på operationer der udføres, og eventuelle fejl der sker. 11

12 Hvor bliver OS brugt? Flere og flere steder… På desktop og servere –MAC OSX Server –Windows NT, 2000, XP, 2003 og VISTA –BSD –Linux varianter; Kommercielle såvel som Open Source Novell/SuSE (OpenSuSE) RedHat (Fedora) Debian Ubuntu Gentoo –Kommercielle UNIX varianter: Solaris (BSD), AIX (AT&T), HPUX (AT&T) –Andre; OpenVMS, OS/400, m.fl. På netværksudstyr –Routere 12

13 Hvor bliver OS brugt? PDA’er –PalmOS –Windows Mobile –Embedded Linux Mobiltelefoner –Symbian OS –Windows Mobile Spillekonsoller –Xbox, Xbox360 –PSP, PS2, PS3 Andet –Biler –Lyd & Billede 13

14 UNIX 14 Ken Thompson starter med at arbejde på UNIX i 1969 Bill Joy starter med at arbejde på BSD i 1976 Avie Tevanian starter med at arbejde på MACH i 1985 Steve Jobs starter med at arbejde på NextStep i 1985 Richard Stallman starter med at arbejde på GNU i 1984 Linus Thorvaldsen starter med at arbejde på Linux i 1991

15 BOOT processen Eksempel, PC –Når maskinen startes, initieres basic input-ouput system (BIOS) der er gemt på systemets read-only memory (ROM). –BIOS udfører først en POST check for at sikre at systemets komponenter er tilstede og virker. –BIOS er konfigureret til at vide hvor den skal finde OS. Normalt kigger den på disk, og herefter på CD-ROM. Rækkefølgen kan ændres. –Når BIOS har bestemt hvor OS er, indlæser den første sektor (512-byte) på disken med Master Boot Record (MBR) –MBR starter OS setup, og henter kærnen af OS ind i systemets hukommelse. 15

16 OS er lagdelt 16

17 Kærnen Kærnen ”kernel” er den inderste og grundlæggende del af OS, som bliver startet af BOOT processen og lagt ind i hoved hukommelsen. Kærnen er ALTID i hoved hukommelsen. Det varierer fra OS til OS hvad kærnen indeholder. 17

18 Typer af kærner Monolitiske kærner –Hele kærnen kører i hukommelsen og udstiller alle systemkald til services såsom netværk, process styring, hukommelsesstyring m.m. –Det betyder i teorien at alt funktionalitet i kærnen bliver initieret ved systemstart. Moderne monolitiske kærner understøtter dog loadable modules dynamisk kan hentes ind i kærnen. –Eksempler: DOS, Linux, BSD, Solaris m.fl. 18

19 Typer af kærner Mikrokærner –En minimal kærne kører i hukommelsen og udstiller kun de mest basale systemkald til services såsom process styring, hukommelsesstyring m.m. –Andre services der ellers ville være forventet i kærnen leveres af programmer uden for kærnen kaldt servers. –Mikrokærner er blevet interessante i de senere år pg.a. sikkerhed. –Eksempler: AmigaOS, SymbianOS m.fl. 19

20 Typer af kærner Hybride kærner –Kombinerer elementer fra monolitiske- og mikrokærner. Ideen er at have en kærne lig en mikrokærne, men implementeret som en monolitisk kærne. Alle servers kører i kærnen. –Eksempler: MAC OSX, Windows NT, 2000, 2003, XP & VISTA 20

21 OS bloat Der har gennem tiden været en tendens, startende fra BSD med at inkludere flere og flere services til OS.. OS Bloats. Der kører heftige debatter om hvilke kærne typer der er bedst. Den voldsomeste og længstlevende debat er mellem Andrew S. Tanenbaum og Linus Torvalds Google: The Tanenbaum-Torvalds Debate 21 Op. Sys.SLOCOp. Sys.SLOC Windows NT16 millionerRed Hat Linux 7.1 30 millioner Windows 200029 millionerDebian 3.1213 millioner Windows XP40 millionerSun Solaris7.5 millioner Windows VISTA50 millionerMAC OS X 10.486 millioner Linux kernel 2.66 millioner

22 Modes og Processer Modes –Normalt kører processer i user mode Processer –En proces er en instans af et kørende program. En proces består af fem dele –En kopi af koden i programmet –Hukommelse (real memory eller virtual memory) der indeholder koden, og proces specifik data –OS ressourcer (descriptors) der er allokeret til processen –Sikkerheds attributter, såsom proces ejer og proces rettigheder –Processens kontekst 22

23 Multitasking For at flere processer kan køre samtidigt og deles om de samme ressourcer, såsom CPU, er der behov at multitaske. CPU’en kan kun give opmærksomhed til én proces ad gangen, d.v.s. at CPU’en aktivt udfører instruktioner for denne proces. Med multitasking skemalægges hvilken proces der får opmærksomhed hvornår, og hvornår den næste proces for opmærksomhed Det kaldes context switch når CPU’en skifter opmærksomhed fra en proces til en anden. Hvis context switching sker hurtigt nok, virker det som om processerne kører i parallel Selv med computere med flere CPU’er (multiprocessor maskiner) hjælper multi-tasking med at køre flere processer end der er CPU’er 23

24 Multithreading Multitasking lader programmørerne udvikle programmer der kører i flere samtidige processer (eksempelvis en til at samle data, en til at behandle data, en til at skrive resultatet til disk). Det kræver at flere programinstanser kan tilgå en process samtidigt. En Thread er en mappe for information som er tilknyttet én programinstans i en proces, d.v.s. at der kan findes flere threads under en process, dette kaldes Multithreading 24

25 Hukommelsesstyring Når flere programmer kører på engang, så risikerer man at et dårligt skrevet (eller bevidst ødelæggende) kørende program overskriver et andet kørende programs hukommelsesallokering. OS sørger derfor at allokere hukommelse til et kørende program, og sikre at programmet ikke får lov til at tilgå hukommelse udenfor allokeringen. En måde for et OS at øge den tilgængelige memory er ved at benytte en swap fil eller swap partition (virtual memory). 25

26 Filsystemer Den sidste store ting, et OS hjælper med, er et filsystem. Filsystemer –Hierarkisk WIN: FAT, FAT32, NTFS MAC: HFS, HFS+, NTFS (ro), FAT32 (ro), ZFS (10.5) Linux/Unix: ext2, ext3, ReiserFS, Reiser4, UDF, UFS, UFS2, XFS, ZFS, FAT32, NTFS (ro) –Distribueret AFS NFS SMB –Distribueret (fault-tolerant – delt over flere noder) CODA DFS –Record-orienteret Mainframe: VSAM, ISAM m.fl. (en samling records) 26

27 Hvilket OS skal jeg vælge? Afhænger af opgave og kompetence Hvert OS har forskellige interfaces –Programmer skrives specifikt til OS –En applikation til et OS kører ikke på et andet Trends –Cross-over som f.eks WINE, VMWare, Parallels, CodeWeavers 27

28 Virtuel maskine En virtuel maskine er En kopi af hardware Inkluderer kernel og user mode hardware emulering Har I/O, Interrupts og alt hvad en rigtig maskine har Typisk kan en virtuel maskine køre ethvert OS oven på sig. 28

29 Virtuel maskine 29

30 Data beskyttelse - RAID RAID søger at beskytte mod datatab pga. diskfejl Afhængigt af RAID level vil RAID kunne recover data fra en fejlet disk Nogle gange indeholder RAID hotswap andre gange er det software baseret RAID LevelBeskrivelse 0Striping 1Mirroring 2Hamming Code Parity 3Byte Level Parity 4Block Level Parity 5Interleaved Parity 6Double Parity (udvidelse af 5) 10 (0 + 1)Striping & Mirroring 30

31 Storage Area Network (SAN) Hvad er en SAN løsning? –Typisk et high speed network, med både LAN og Channel karakteristika, som etablerer en forbindelse mellem filsystemer (servere) og storage elementer –Tænk på det som en kæmpe lagringsbus, som er sat sammen af tilsvarende teknologier, som man bruger på LAN og WAN, altså: repeaters, hubs, bridges, switches, converters og extenders –SAN interfaces er typisk Fibre Channel… og ikke Ethernet eller ATM Hvorfor SAN? –Reduktion af TCO –Bedre styring af ressourcer –Skalerbar storage –Nemt at bruge, ligner bare endnu en fysisk disk 31

32 NAS –Alle snakker om NAS. –NAS bruger typisk eksisterende IP netværk og ligner typisk bare en appliance –Giver typisk CIFS support –iSCSI er er meget brugt buzzword 32

33 Storage design Følgende er vigtige features: Real-time konfiguration Fokus på space management i modsætning til drive management At man kan tilføje nye drev UDEN at tage storage sytem offline Virtuelle drev trækkes fra alle spindler snarere end udvalgte  Performance OS uafhængighed At topoligien kan udvides konstant, hvis man har behov for det (nye servere) At virtuelle drev kan rekonfigureres (udvides, slettes osv.) online Ændre databeskyttelsesskema online At man kan mixe drevstørrelser og hastighed 33

34 Logiske volumer Logisk lag over fysiske diske Fordele –Sammensæt flere fysiske diske til logiske diske –Ændre på størrelse af logiske diske ”On the fly” 34

35 Cluster Hvad er cluster og hvordan virker det? 35

36 Load Balancing Hvad er det i forhold til et cluster? 36

37 Load Balancing (fortsat) 37

38 Forskel 38

39 Directory Services Grundlæggende er en directory service en netværksbaseret applikation der indeholder information om netværksbrugere, netværksressourcer og. lign. En telefonbog er et meget godt eksempel. Hvad er typisk forskellen på en directory og en database? Er optimeret for mange læsninger og for avancerede søgninger Er duplikeret og replikeret Er en hierarkisk træ struktur Der er grundlæggende tre typer directory services: NOS directories (AD, Novell eDirectory) Applikations directories (ePost, SAP, og. lign.) Generelle directories (Almindelig opslag, de hvide sider) 39

40 LDAP LDAP står for Lightweigth Directory Access Protocol og er en protokol til at snakke med directory services LDAP er baseret på X.500. X.500 er Directory Model i OSI. DAP (Directory Access protocol) kører over OSI netværksprotokollen og er meget kompleks og tung. 40

41 LDAP Der findes et hav af LDAP Directory implementeringer: Microsoft Active Directory and ADAM Computer Associates eTrust Directory 8 IBM Tivoli Directory Server 5.x Nexor Directory 5.1 Novell eDirectory 8.7.x Oracle Internet Directory v 10g Sun Microsystems Sun ONE Directory Server 5.2 41

42 LDAP forespørgsel Sådan kunne en typisk LDAP forespørgsel se ud: # ldapsearch ”sn=Strand” cn telephoneNumber Svar: cn=Michael Strand, ou=managers, O=netcompany, c=dk telephoneNumber=45454545 42

43 Objekt træ Data er repræsenteret i directory services som hierarki af objekter Toppen af hierarkiet kaldes normalt for ”root” Hvert objekt (kaldes også ”entry”) har en parent entry, og en eller flere child entries Hver entry består af en ObjectClass Hver ObjectClass består af nul eller flere attributer 43

44 Data Information Tree DIT 44

45 Data Information Tree DIT Alle objekter har et unikt navn, kaldet en DN (Distinguished Name) som er opbygget af relative navne kaldet RDNs (Relative Distinguished Names) som findes ved at ”vandre træet” 45

46 LDAP operationer LDAP understøtter en række forskellige operationer Binding og Unbinding Search efter objekter der opfylder søge kriterier Add objekt Delete objekt Modify objekt Modify DN eller RDN (Move) Compare objekter 46

47 Active Directory Microsoft Active Directory (AD) er et såkaldt NOS struktureret som et LDAP directory. AD indeholder information om objekter og deres attributter; såsom brugere, ressourcer (objekter) og services. AD bruges til at give netværksadgang, og tilladelser til ressourcer og -services, samt som generelt opslagsværk. Har været tilgængeligt siden Windows 2000 server Supporterer LDAP v2 og v3 standarderne 47

48 Typiske serverroller i en virksomhed I stort set alle danske virksomheder vil I møde følgende serverroller: DHCP DHCP serveren uddeler IP adresser + andre ting efter behov En pr. subnet Alle miljøer 48

49 Typiske serverroller i en virksomhed Fil og Print Central fildeling Central Printeropsætning Alle miljøer Intern og Ekstern DNS Hvorfor begge dele? Stort set alle miljøer Mail server Er en mail server en maskine? Alle miljøer 49

50 Typiske serverroller i en virksomhed Database server Central server Måske cluster Oftest ”Don’t touch” Oracle, MySQL eller SQLServer typisk Stort set alle miljøer ERP system Lige så central Helt sikkert også ”Don’t touch” Concorde, Navision, PeopleSoft, Oracle, SAP Stort set alle miljøer 50

51 Typiske serverroller i en virksomhed RIS server (Remote Installation Server) Bruges til unattended OS installation af klienter/servere typisk via PXE Boot Kan være Altiris, IBM eller MS Oftest i miljøer med +50 PC’er Overvågningsserver Overvågning af maskiner og services i miljøet Typisk IBM Tivoli, HP OpenView, CA Unicenter eller MS MOM Oftest i miljøer med +50 PC’er 51

52 Typiske serverroller i en virksomhed Software Distribution Distribution af softwarepakker til klienter og servere Oftest i miljøer med +200 PC’er SMS, Altiris, Tivoli, SUS/WSUS??? WWW Web server Stort set alle miljøer IIS, Apache 52

53 Typiske serverroller i en virksomhed Firewall Kan enten være en ”sort boks” eller en software firewall Beskytter virksomheden mod angreb udefra Cisco PIX, CheckPoint og Microsoft ISA server Mange hjemmeroutere tilbyder FW funktionalitet Alle steder VPN Server Giver remote adgang til virksomheden Lader folk logge på hjemmefra, som sad de i virksomheden Cisco 3000 VPN, Microsoft RRAS (ISA), Nortel + 40 brugere 53

54 Typiske serverroller i en virksomhed Terminal Server… Giver ”terminal adgang” til udvalgte maskiner/applikationer X11, IBM Mainframes (3270), Citrix, MS Terminal Server, MS Remote Desktop Bringer os videre til ”Server Based Computing” 54

55 Server baseret processering Idéen bag Server Based Computing er grundlæggende at intelligensen ligger på serversiden, hvor vi nemmere kan styre den Klienter skal være så dumme og tynde så muligt 55

56 Server baseret processering Applikationer eksekverer altid på server Appliaktionen eksekverer 100% på server Det er kun skærmbilleder, musetryk og tastaturtryk, der går over netværket Applikationen tilgås fra en normal desktop eller en tynd klient 56

57 Citrix arkitektur 57

58 Citrix klient krav Ved Server Based Computing er der stort set ingen krav til klienten. F.eks. supporterer Citrix i dag blandt andet: Symbion, Alle Windows platforme, Linux, BSD, HPUX, Solaris, PalmOS, AIX + mere general purpose Java klienter Virkelig lav ”footprint” og typisk under 2 MB Krav til båndbredde er ca: Citrix 20 kbps MS Terminal Server 128 kbps 3270 14 kbps X11 1 mbps 58

59 Mere Citrix Man kan publicere applikationer gennemsigtigt for brugere Redirecte links Mappe printere automatisk Mappe lokale drev Lave loadbalancing mellem servere i ”farm” Isolere applikationer Rent praktisk: installer W2K3, installer applikationer, installer Terminal Server, installer Citrix 59

60 Klient Klient/Server applikationsmodel Klient/server arkitekturen er et populært design for distribuerede applikationer. I klient/server modellen er applikationerne opdelt i to dele. Klient delen fungerer i forgrunden ved at præsentere information for brugeren Server delen fungerer i baggrunden og manipulerer og behandler data for klienten. Ved en sådan opdeling opnås en række fordele f.eks. kan arbejdstunge opgaver løses af server computeren, der normalt er kraftigere end klient computeren. Endvidere kan server computeren servicere flere klienter samtidig. Klient Server Klient(er)server 60

61 Klient 3-lags applikationsmodel Applikations distribuering over flere lag; Præsentation/web; Applikationsslogik; Data; flere lag. Klient Server Præsentation/webApplikationsslogikData 61

62 3-lags applikationsmodel Fordele –Skalerbarhed horisontalt og vertikalt –Tilgængelighed og performance –Sikkerhed på flere niveauer Gængse problemstillinger –Load balancing –Sessionshåndtering (”sticky sessioner”) –Isolering af Fejl 62

63 J2EE applikationsramme J2EE (Java 2 Enterprise Edition) er flere lags, komponentbaseret applikationsmodel En SUN-specifikation - et teknisk dokument, der detaljeret beskriver J2EE- platformen og dens API'er En SUN-referenceimplementation, der fungerer dels som proof-of-concept i forhold til specifikationen, og dels som et supplement til specifikationen (er der tvivl om platformens opførsel i et givent tilfælde, gælder referenceimplementationens opførsel som specifikation) Et værktøj, der tester kompatabilitet af en forelagt serverplatform med J2EE- specifikationen (via en række test cases) En række "J2EE blueprints" - principper for og tips til fornuftig applikationsudvikling på J2EE-platformen Implementeringer: BEA WebLogic, IBM WebSphere, Red Hat JBOSS 63

64 J2EE applikationsramme Applikationslogik er defineret i komponenter En J2EE applikation er sammensat af komponenter såsom servlets, JSP, enterprise beans. De forskellige komponenter kan afvikles på forskellige maskiner Arkitekturen søger også at løse tværgående problemer ("cross-cutting concerns") som sikkerhed, transaktionsunderstøttelse og samtidighed ved at realisere det såkalte "component/container"-princip: Komponenters offentligt udstillede services tilgås kun indirekte gennem en container (en applikation, der indkapsler komponenten), som så kan håndtere CCC-problemerne 64

65 Opgaver


Download ppt "IT Arkitektur og Sikkerhed Lektion 2 Version 1.00."

Lignende præsentationer


Annoncer fra Google