Notes

Zapiski predavanj

UVOD V PREDMET

Nekaj kontaktnih podatkov Gašper Fele-Žorž:

Stran predmeta: kpov.fri.uni-lj.si

  • Vsebina predmeta - predstavitev snovi
  • Pogoji za opravljen predmet
  • Literatura (v zapiskih)
  • Ponovitev snovi

Kaj je PROTOKOL?

Pravila oz. dogovor kako je potrebno kominicirati. Gre za komunikacijo med dvema osebkoma (entitetini par).

VARNOST

Preprečevanje prisluškovanja in vmešavanja med komunikacijski proces ter prepoznavanje(zagovatvljanje avtoritete) pošiljatelja.

PONOVITEV ISO/OSI PLASTI:

  • Fizična plast
  • Povezavna plast
  • Omrežna plast(Komunikacija dveh osebkov, ki nista neposredno pvoezana, naslavljanje, usmerjanje,...)
  • Transportna plast(tcp, udp)
  • ....

Komunikacija vedno poteka med entitetnim parom na isti plasti!

ANALOGIJA DELOVANJA:

1.Problem: Pošiljatelj in prejemnik ne govorita istega jezika, zato se ne znata sporazumeti. Rešitev: Najameta prevajalca, ki govori skupni jezik.

2.Problem: Komunikacija poteka na veliki razdalji, kjer se pošiljatelj in prejemnik ne vidita/slišita. Rešitev: Najdeta ponudnika storitve (npr.: Telegraf, faks, pošta....), ki pošlje prevedeno sporočilo od pošiljatelja do prejemnika (njegovega prevajalca).

Vsaka plast ima svoje protokole.

ISO/OSI plasti:

V praktični uporabi od ISO/OSI plasti je ostal samo standard x.500

INTERNET: - Lokalno povezovanje med(inter) mrežami(net).

ENKAPSULACIJA(zavijanje):

Lahko si predstavljamo kot dodajanje ovojev, kajti vsaka plast doda sporočilu svojo glavo, da naslednja plast ve, kaj mora s sporočilom storiti. Obratno, na prejemnikovi strani "odvijamo" sporočilo v originalno obliko, dokler ne pride prvotno sporočilo do prejemnika(client).

OMREŽNA VARNOST

  • Na začetku so ustvarjalci interneta si med seboj zaupali ker jih je bilo malo, zato takrat ni bilo potrebe po različnih varnostnih mehanizmih.
  • Protokol so razvijali sproti, po potrebi. Ta način imenujemo kot metodologijo »krpanja«.
  • Varnost je potrebno upoštevati na vseh plasteh ISO-OSI modela. (Vsaka plast ima različne zahteve.)
  • Transport plast(tcp, udp)

Je področje ki:

  • Analizira možnosti vdorov v sisteme.
  • Načrtuje tehnike in obrambe pred napadi.
  • Snuje varne arhitekture, ki so odporne pred vdori.

Kako lahko napadalec škoduje sistemu:

  • Prisluškovanje (prestrezanje sporočil): Napadalec samo prebira podatke, je pasiven.
  • Ponarejanje sporočil v komunikaciji:Napadalec lahko podatke vmes tudi spreminja.
  • Kraja identitete(impersonacija):Napadalec se s pomočjo ponarejanja izvornega naslova, izdaja za drugo osebo z upanjem, da pridobi informacije, ...
  • Prevzem povezave (hijacking):Napadalec prevzame vlogo originalnega pošiljatelja/prejemnika,...
  • DoS(Denial of service):Napadalec onemogoči uporabo storitve z napadom nanjo. (Preobremenitev, stradanje, …)

Elementi varne komunikacije (so neodvisni med sabo):

  • Zaupnost-kdo sme prebrati sporočilo? (enkripcija):
    • Substitucijske (menjava znakov)
    • Transpozicijske(vrstni red znakov)
    • Simetrične(enkripcijski in dekripcijski ključ sta enaka, E=D - DES, AES)
    • Asimetrične (enkripcijski in dekripcijski ključ sta različna, E =/= D - RSA)
  • Ponarejanje sporočil v komunikaciji:
    • Dokaz, da si res ti (identifikacija - povej, kdo si, brez dokaza)
    • Izziv - odgovor
    • Zaupanje tretni strani
    • Avtentikacija z javnimi ključi.
  • Razpoložljivostin nadzor dostopa-preprečevanje nelegitimne rabe virov (avtorizacija– ugotavljanje, ali nekaj smeš storiti, accounting - storitve beleženja uporabe)
  • Integriteta sporočila je bilo med prenosom spremenjeno?
  • Preprečevanje zanikanja:(nonrepudiation)–res si poslal/res si prejel.

V praksi:

  • Požarni zidovi, sistemi za zaznavo vdorov (intrstion and detection)
  • Varnost na aplikacijski, transportni, omrežni in povezavni plasti.

Vrsta kriptografije:

Asimetrična: Javni in zasebni ključ (RSA algoritem)

 

Simetrična: Samo en ključ.

Integriteta

Integriteta uporabnikov: Dokazuje, kdo je sporočilo poslal in da je pravi prejemnik prejel.

Integriteta uporabnikov:

  • Dokazuje, da je sporočilo nespremenjeno.
  • Uporabljamo zgoščevalno (hash) funkcije, ki računajo podpis sporočila.

Certifikati:

  • Sistem PKI vsebuje certifikacijske agencije (angl. Certification authority), ki izdajajo, hranijo in preklicujejo certifikate.
  • Certifikati so definirani s standardom X.509 (RFC 2459)
  • Certifikat vsebuje:
    • naziv izdajatelja,
    • ime osebe, naslov, ime domene in druge osebne podatke,
    • javni ključ lastnika
    • digitalni podpis (podpisan z zasebnim ključem izdajatelja).

VAJE 1

Vaja se je začela tako ,da smo si najprej prenesli poljubno linux distribucijo. V virutualni napravi smo nato ,sledili postopku,ki nas je pripeljal do same namestitve izbrane linux distribucije:

1.korak - klik na NEW (ustvarimo poljubno ime za navidezno napravo,tip ter verzijo)
2.korak - (sledi klik na next) nastavimo velikost spomina(priporočena in prevzeta vrednost je 256 MB)
3.korak - naredimo trdi disk za virtualno napravo (priporočena velikost je 8 GB)
4.korak - nastavimo še tip trdega diska(VirtualBox Disk Image)
5.korak - nastavimo vrsto shranjevanja na fizičnem disku(dinamično alociranje)
6.korak - ta korak je zelo pomemben ,saj je treba na D disku ustvari poljubno mapo ter v njo premakniti izbrano distribucijo linux ,kjer bo potekala sama namestitev te.
7.korak - namestimo linux distribucijo(sledimo korakom)
8.korak - Krairamo uporabnika,ter geslo. user:kpov pass:BoyWonder

Po končani namestitvi restartamo navidezno napravo.
Kliknemo na settings(v sami navidezni napravi) -< Networks -< Attach to(spremenimo NAT v Bridge Adapter)
To smo naredili ,zato da se lahko s pomočjo naslednih ukazov povežemo na "sosedov računalnik".

  • apt-get install openssh-server
  • ssh -l kpov(ip_soseda npr 192.168.182.92, svoj ip dobimo tako, da v cmd vpišemo ifconfig)
  • export DISPLAY=:0 XMESSAGE "I'M BATMAN!"

Uporaba slednjega ukaza x11vnc kontrolira premikanje miške na "sosedovem računalniku"

DOSTOP DO ZAKLENJENEGA RAČUNALNIKA:

1.BIOS
2.BOOTLOADER(grub)
3.Naloži jedro,init ram disk
4.Init,upstarts
5.uporabne storitve(login,http)

Po samem zagonu v VM stistnemo tipko e ter zamenjamo quiet z init=/bin/bash

  • mount -o remount,rw /
  • lahko spremenimo geslo z ukazom passwd
  • mount -o remount,ro /
  • sync (ko se izvede vemo,da so podatki zapisani na disk(oz.sprememba diska))

Priklop in zagon naprave

Zagon računalnika

CPU ob priklopu na napajanje nastavi vrednost programskega števca na točno določeno vrednost. V pomnilniku se na mestu, kjer CPU prične z delom nahaja BIOS.

Bios je sestavljen iz:

  • Kode, ki se začne izvajati ob zagonu.
  • Gonilnikov za V/I enote

Koda izkoristi gonilnike za dostop do zunanjih enot in z njih naloži program, ki mu pravimo operacijski sistem. S tem je strojna oprema obuta (boot).

OS je vmesnik med uporabniškimi programi in strojno opremo ter skrbi za ravnanje z viri (V/I enote, datoteke, procesorski čas)

Prvotno je OS izkoriščal za delo z V/I enotami gonilnike iz biosa, vendar pa je ROM je v primerjavi z RAM-om majhen, zato so bili gonilniki v biosu neprijazni in neučinkoviti.

Operacijski sistemi so zato začei uporabljati svoje gonilnike.

BIOS najde na disku na točno določenem mestu nek program, ki pa ni nujno operacijski sistem. Lahko je v primeru Linuxa bootloader/GRUB, ki nato v naslednjem koraku izbere in naloži operacijski sistem.

BIOS ta program najde na prvem bloku V/I enote - master boot record (MBR).

BIOS pa lahhko ta program naloži tudi z omrežja (s strežnika).

Prednosti:

  • Ne potrebujemo diska na računalniku.
  • Preprosto zamenjamo OS na vseh računalnik v omrežju tako, da zamenjamo OS na strežniku.
  •  

Slabosti:

  • Ranljivost, počasnost in varnost (oziroma njena odsotnost).

DNS

Storitev DNS preslikuje med črkovnim nizom in številko. Lahko uporabimo tudi preslikovalno tabelo v datoteki /etc/hosts(Linux) oziroma C:\Windows\System32\drivers\etc\hosts (Windows).

Strežnik DNS mora za to, da lahko najde druge strežnike DNS, poznati njihove IP naslove. Ti se ponavadi nahajajo v datoteki /etc/namedb/named.root. (Shranjeni računalniki, ki vedo “vse”)

DNS storitev uporablja vrata številka 53. Nimamo storitve, ki bi preslikovala imenom DNS in 53. V /etc/services imamo zapisano storitve in vrata, ki jih te storitve uporabljajo.

DNS uporablja UDP pakete. V glavi teh paketov označimo, da gre za UDP paket s številko 17. Tudi tu nimamo storitve, ki bi preslikovala med UDP in 17. Imamo pa preslikovalno tabelo v etc/protocols (nastavljeno udp=17).

Vse te številke so posledica svetovnega dogovora. Številke hrani in oglaša IANA - The Internet Assigned Numbers Authority (www.iana.org).

Nalaganje operacijskega sistema z omrežja

Koraki:

  • 1. Računalnik poišče strežnik, s katerega bo naložil operacijski sistem.
  • 2. Temu sledi samodejna konfiguracija nastavitev računalnika, ki so prilagojene zahtevam strežnika.
  • 3. Nato sledi prenašanje operacijskega sistema na računalnik ter
  • 4. nazadnje še namestitev in zagon. (enako kot pri nalaganju z diska).

Za izvedbo prvih dveh korakov poskrbi protokol "bootp", za 3. korak pa protokl tftp.

Protokol BOOTP

Protokol BOOTP je definiran v RFC 951, BOOTSTRAP PROTOCOL

BOOTP uporablja UDP. Koračni pogovor med odjemalcem in strežnikom: odjemalec vpraša in strežnik odgovori. Lahko je hkrati prisotnih več strežnikov in lahko hrati več odjemalcev želi naložiti OS.

Odjemalec na začetku ne pozna IP naslova strežnika, zato razpošlje (broadcast) na 2. plasti na lokalni mreži željo po nalaganju OS.

Strežnik dodeli odjemalcu IP naslov (ali pa ne) ter mu sporoči, kje se nahaja odjemalčev OS ni nujno, da na lokalni mreži. Tukaj se pogovor zaključi

Protokol TFTP

Definiran v RFC 1350 Zelo poenostavljena funkionalnost ftp protokola-ohranjena predvsem možnost prenosa podatkov. Ni izpisa imenika, avtentifikacije in kriptiranja, dovoljuje zelo velike pakete, ne more naložiti datoteke večje od 1 TB. Pomembna razlika med FTP in TFTP protokolom je ta, da TFTP ne zagotavlja zanesljivih uslug,saj za prenos podatkov uporablja UDP protokol.

TFTP - primer pogovora

 

  • 1.odjemalec pošlje zahtevo po branju (RRQ)
  • 2.strežnik odgovori z DATA paketom in podatki, ki jih je zahteval odjemalec; poslani so z novih vrat in vsa komunikacija z odjemalcem mora odslej potekati preko teh vrat
  • 3.Na vsak paket podatkov odjemalec odgovori z ACK paketom, nakar strežnik pošlje naslednji paket (prejšnja točka) – če potrditve ni v določenem času, strežnik ponovno pošlje paket
  • 4. Posebnost je zadnji paket, ki je manjši od največje dovoljene velikosti.

Nekateri računalniki imajo svoj disk in si sami naložijo OS, vendar se želijo priključiti v omrežje:

  • stalna IP številka deluje samo pri stacionarnih računalnikih
  • mobilni računalniki potrebujejo vsakič drugo številko
  • ponudniki želijo poslužiti več strank, kot imajo IP naslovov

Protokol bootp v prvem koraku odjemalcu pošlje tudi podatke za nastavitev IP naslova in nastavitev IP naslova prehoda ideja!! – uporabimo bootp protokol

Ideja ni slaba, le težave: Poleg IP naslova, potrebujemo še naslov prehoda, naslov DNS strežnika, naslov vmesnega (proxy) strežnika, ...

Rešitev: Uporabimo / spremenimo namen polja vend (vendor specific) v bootp protokolu.

Protokol DHCP

DHCP protokol je naslednik protokola BOOTP, deluje v načinu odjemalec/strežnik.

Odjemalcem omogoča samodejno pridobivanje omrežnih nastavitev iz DHCP strežnika. Najbolj pomemben podatek, ki ga odjemalcu dodeli DHCP strežnik je omrežni IP naslov. Mogoči so naslednji načini:

  • Ročna nastavitev: Administrator nastavi določen IP vsaki postaji na DHCP strežniku in strežnik nato posreduje ta naslov.Ta način administrator običajno le redko uporabi. Vendar je potreben za nastavitev strežnikov, ki so preko DNS povezani s točno določenimi naslovi. Administrator bi lahko naslove nastavil tudi neposredno na vsaki postaji, toda DHCP zagotavlja, da ne pride do podvojevanja naslovov.
  • Samodejna nastavitev: DHCP strežnik zagotavlja odjemalcem IP naslove, ki se nahajajo v množici, odjemalci jih dobijo v stalno uporabo. Samodejno dodeljevanje naslovov je pogosto ugodna rešitev za omrežja, ki imajo na voljo dovolj naslovov. Stalni naslov zmanjša DHCP promet med odjemalci in strežnikom. Tudi nadzorovanje prometa in dogajanja v omrežju je enostavnejše, saj vsi apketi z istim IP naslovov vedno pripadajo isti postaji.
  • Dinamična nastavitev: DHCP strežnik zagotavlja odjemalcem IP naslove, ki se nahajajo v množici. Odjemalci morajo periodično obveščati strežnik o uporabi tega naslova. V primeru ne odziva odjemalca, se naslov vrne v množico neoddanih naslovov.Dinamično dodeljevanje IP naslovov popolnoma avtomatizira proces in dovoljuje administratorju največ svobode. Takšen način pa nepovabljenemu gostu v omrežju olajša dostop, saj je vključitev v omrežje enostavno, ker mu podatkov ni potrebno poznati, saj mu jih poda strežnik sam. V kolikor je v omrežju potrebna velika varnost, se DHCP ne uporablja.

VAJE X?

Navodila za vaje

1. Postavi DHCP, TFTP, BOOTP v PXE
2. Postavi NFS in nanj datoteke z živega ploščka
3. Usposobi boot preko mreže
4. Razpakiraj squashfs
5. Dodaj Hedgewars na živi plošček

Potek vaj:

  • Namestitev DHCP (apt-get install isc-dhcp-server)
  • Konfiguracija DHCP v /etc/dhcp/dhcpd.conf
  • Ponovni zagon DHCP z ukazom "service isc-dhcpd-server restart"
  • Namestitev TFTP (apt-get install tftpd-hpa)
  • Konfiguracija TFTP v /etc/default/tftpd-hpa
  • Kreiranje novega direktorija /srv/tftp
  • Ponovni zagon TFTP z ukazom "service tftpd-hpa restart"
  • Premik potrebnih datotek za zagon v direktorij /srv/tftp (ekstrahiran netboot.tar.gz - http://http.us.debian.org/debian/dists/wheezy/main/installer-i386/curre…)
  • Konfiguracija client računalnika, da naj se zažene preko mreže
  • Za zagon preko mreže z živim ploščkom potrebujemo še NFS za montiranje ploščka (mount)

Uporabno:

VAJE 2

Na tokratnih vajah smo reševali pozkusni kolokvij. Ustavljali smo se predvsem pri ukazih in obenem obnavljali ter dopolnjevali znanje iz Basha.

Najprej smo se ustavili pri ukazih export in env.

Ukaz export (na primeru iz prejšnjih vaj):
export DISPLAY =: 0

Ukaz export nastavi okoljsko spremenljivko, DISPLAY= je v našem primeru ime spremenljivke, :0 pa vrednost spremenljivke. Če želimo dobiti vrednost naše spremenljivke, napišemo dolarDISPLAY. Če pa želimo izpisati njeno vrednost, moramo spredaj dodati še ukaz echo dolarDISPLAY.

Z ukazom env pa lahko prikažemo, nastavljamo ali odstranjujemo okoljske spremenljivke, ali pa izvedemo ukaz znotraj določenega okolja. (http://www.ss64.com/bash/env.html)

Na kratko še o okoljskih oziroma izvoženih spremenljivkah:
Takšne spremenljivke so dostopne vsem procesom, ki jih ustvarimo v podlupini oz. vedno, ko v lupini ustvarimo ustvarimo nov proces, ta deduje izvožene spremenljivke. Vedeti je potrebno, da se izvožene spremenljivke le kopirajo in njihovo spreminjanje znotraj enega procesa se ne odraža v ostalih. (Mihelič J., et al. "Koncepti operacijskih sistemov z Linuxovo lupino in programiranjem v Bashu", 2013)

LSB – Linux Standard Base
Linux Standard Base je projekt, v sklopu katerega se določa privzeta konfiguracija imenikov (kako kaj izgleda):

  • /bin – programi, ki morajo delati, “četudi se pol sistema vsuje”
  • /sbin – enako kot prej, vendar le za super uporabnika (root)
  • /boot – jedra, initframes, bootloader,…
  • /lib – osnovne knjižnice, v /lib/modules se nahajajo gonilniki
  • /var – direktorij, kamor programi shranjujejo svoje podatke, ob ponovnem zagonu se ti podatki ohranijo
  • /etc – imenik, kamor programi shranjujejo svoje nastavitve (na Linuxu ni registra!)
  • /usr – imenik, ki vsebuje vse programe
  • /mount – imenik za dodatne diske
  • /media – ustvari imenike za CD, USB,…
  • /home – domači imenik (navadno /home/uporabnik)
  • /root – poseben domači imenik
  • /dev – vse naprave (diski, terminali, naprave na PCI,…), vsaka naprava ima eno datoteko v /dev
  • /proc in /sys – dostop do lastnosti procesov, naprav itd.; del Linux, a ne Unix distribucij!
  • ~/ - $HOME (domači imenik)
  • ~-/ - $OLDPWD (pwd pred zadnjim cd-jem)
  • ./ - trenutni imenik
  • ../ - imenik višje
  • ~file – navadno ime datoteke
  • .file – isto kot ~file
  •  

Poti in z njimi povezane spremenljivke

PATH - seznam imenikov, kjer lupina išče naprave. Na Windowsih vsebuje trenutni imenik, na Linuxih ne; če želimo na Linuxih doseči tak efekt, uporabimo ukaz PATH=$PATH:~/bin.

Opomba:
Če se ~ pojavi na sredini navedene poti (npr. cd ../../~/..) pomeni zgolj symbol ~ in ne domačega imenika!

Preusmerjanje

  • PROG < DAT - stdout PROG preusmeri v DAT
  • PROG 2< DAT - stderr preusmeri v DAT
  • PROG 2<&1 - stderr NA stdout
  • PROG << DAT - stdout preusmeritev na konec datoteke
  • PROG > DAT - DAT NA stdin PROG
  • PROG1 | PROG2 - stdout PROG1 NA stdin PROG2

Uporabni programi

  • cut datoteka - izpiše vsebino datoteke datoteka na stdout
  • head –n X - izpiše prvih X vrstic
  • tail –n X - izpiše zadnjih X vrstic
  • grep - filtriranje (iskalni niz ipd.)
  • wc - prešteje znake

Zaporedno izvajanje programov

  • P1 ; P2 - najprej P1, nato P2, neodvisno od izhodnega statusa enega ali drugega programa
  • P1 & P2 - P1 potisnemo v ozadje, obenem (istočasno) pa poženemo P2
  • P1 && P2 - če se uspešno izvede P1, se izvede tudi P2, drugače ne
  • {P1 ; P2 ; P3 && P4} & P5 - vse kar je v zavitih oklepajih si predstavljajmo kot zaporedje ukazov znotraj ene škatle, ki jo postavimo v ozadje, obenem pa poženemo program P5

Še ukazi

  • ifconfig [-a] - izpiše omrežne lastnosti. Stikalo -a uporabimo, če želimo izpisati tudi naprave, ki jim nismo dodelili naslova
  • ps [-x][-a][-f] - stikalo –x uporabimo, če želimo izpisati procese brez terminalov, stikalo -a uporabimo, če želimo videti programe vseh uporabnikov, stikalo –f pa izpiše drevo procesov (forest)
  • top - prikaže procese, ki trenutno tečejo
  • netstat - prikaže informacije o omrežju

Omrežja

  • 127.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 10.0.0.0/8
  • 169.254.0.0/16

Nadzor in upravljanje z omrežji

Kaj je upravljanje z omrežjem in zakaj je potrebno? Da lahko upravljamo z omrežjem, moramo imeti pregled nad omrežjem, pregled nad tem, kaj se dogaja z napravami v tem omrežju…

Definicija

Upravljanje z omrežjem vključuje vpeljavo, integracijo in koordinacijo s strojno opremo, programsko opremo in človeškimi viri z namenom opazovanja, testiranja, konfiguriranja, analiziranja in nadzorovanja omrežnih virov, pri katerih želimo zagotoviti delovanje v realnem času (ali delovanje z ustrezno kakovostjo - QoS) za sprejemljivo ceno. Z rastjo interneta in lokalnih omrežij so se majhna omrežja povezala v VELIKO infrastrukturo. Zato je s tem narasla tudi potreba po SISTEMATIČNEM upravljanju strojnih in programskih komponent tega sistema. Pogosta vprašanja:

 

Kateri viri so na razpolago v omrežju?

Koliko prometa gre skozi določeno omrežno opremo?

Kdo uporablja omrežne povezave, zaradi katerih direktor prepočasi dobiva elektronsko pošto?

Zakaj ne morem pošiljati podatkov določenemu računalniku?

Primeri aktivnosti upravljanja

  • zaznavanje napake na vmesniku računalnika ali usmerjevalnika: programska oprema lahko sporoči administratorju, da je na vmesniku prišlo do težave (celo preden odpove!) in mora o tem obvestiti upravljalca oz.nadzornika omrežja
  • nadzorovanje omrežnega prometa: administrator lahko opazuje pogoste smeri komunikacij in najde ozka grla (npr. imamo spletno storitev, ki jo prodajamo svetu, na drugem računalniku nekdo drug uporablja Youtube in zaradi tega naša storitev ni na voljo…),
  • nadzorovanje delovanja računalnikov in analiza omrežja
  • zaznavanje hitrih sprememb v usmerjevalnih tabelah: ta pojav lahko opozarja na težave zusmerjanjem ali napako v usmerjevalniku,
  • nadzorovanje nivoja zagotavljanja storitev: ponudniki omrežnih storitev nam lahko jamčijo razpoložljivost, zakasnitev in določeno prepustnost storitev; administrator lahko meri in preverja ,
  • zaznavanje vdorov: administrator je lahko obveščen, če določen promet prispe iz sumljivih virov; zaznava lahko tudi določen tip prometa (npr. množica SYN paketov, namenjena enem samem vmesniku)

Primeri aktivnosti: nadzorovanje delovanja računalnikov in analiza omrežja (odkrivanje topologije omrežja), nadzorovanje omrežnega prometa (profiltriranje), nadzorovanje nivoja zagotavljanja storitev (pretok podatkov), nadzorovanje delovanja računalnikov in analiza omrežja (popis IP naslovov), nadzorovanje delovanja računalnikov in analiza omrežja (diagnostika in odkrivanje napak) à kako dobra je povezava med računalniki, če je prepočasna, kje je problem, katera povezava je problematična? Težave na požarnem zidu? Če je prišlo do vdora, stvar seveda popravit. … Vse te stvari bi želeli opazovat IN nadzorovat (opazujemo, kaj se je dogajalo in kaj potrebujemo, da se to odpravi? Potrebujemo ZAPISE (log-e), ki podatke zberejo, podatke pregledamo in nato potrebujemo različna orodja za reševanje težav.

//LOG -< zapis (sled) o dogodkih na računalniku

4 vrste upravljanja:

  • Upravljanje s konfiguracijami ( Vse nastavitve lahko upravljamocentralno, ali pa ne (v Windowsih ima vsak user svoj desktop)
  • Upravljanje z varnostjo (dostop do tiskalnika mora bit dovoljen recimo le nekaterim)
  • Upravljanje z beleženjem dostopov (kdo se je prijavil, kdaj se je prijavil
  • Upravljanje z napakami (če pride do napak na sistemu, če printerju zmanjka papirja…)

Programska oprema za upravljanje

CLI(Command Line Interface):

Vse poteka prek ukazne vrstice. V večini primerov se uporablja ta način. Je zelo pomemben, ker obstajajo sistemi za nadzor, ki uporabljajo ukazno vrstico za pridobivanje podatkov. Je hitrejši in zasede manj prostora ter omogoča natančno upravljanje. Problem nastane edino pri poznavanju sintakse ter pri shranjevanju konfiguracije.

Kje so log-I shranjeni na Linuxu? var/log/

GUI (Graphical User Interface):

Vizualno je lepši ter omogoča pregled delovanja cele naprave oz. omrežja. Je dogodkovno gnan - ko klikneš se nekaj zgodi. Problem pa je v velikosti, saj so grafični vmesniki požrešnejši.

Infrastruktura za upravljanje

Kompomente sistema za upravljanje

Ko zbiramo podatke, imamo 3 osnovne gradnike (vsi sistemi za nadzor so sestavljeni tako):

  • Tisti, ki prikazuje podatke (ki jih mora zbirat) à upravljalni sistem
  • Na upravljani napravi mora biti nameščen agent, ki omogoča dostop do podatkov in do konfiguriranja
  • Način, kako agent in upravljalec govorita (protokol)

Definirali bi radi standard, da bi delovalo za vse naprave….pridemo do protokola za upravljanje.

Protokoli za upravljanje

  • X.500 standardi za certificate
  • X.600 standardi za e-pošto
  • X.700 standardi za upravljanje
  • OSI CMIP (Common Management Information Protocol)
  • SNMP (Simple Network Management Protocol)
  • Vse naprave v omrežju poznajo protokol SNMP.

Podatki za upravljanje

MIB je standard, ki Iz 723 v semantiko pomena te beside. MIB vgradi v svoj tiskalnik agenta, ki sporoča različne podatke (opis podatkov je v MIB). Ko opisuje podatke, zna povedat, koliko IP/UDP paketov je sprejel. En MIB za vse tiskalnike v podjetju. Upravljalec ima svoj MDB ( Management Database), kjer za vsako upravljano napravo hrani konkretne vrednosti za njihove MIB objekte/parameter.

PAZI: MIB je šifrant, niso podatki. Podatki so v MDB!

Kupiš novo napravo, kaj moraš za novo napravo definirat? MIB (vgrajena datoteka)
Kaj pa, če kupim 20 naprav? Ravno tako dobim en MIB (oz. dobiš jih 20, a so enaki)
Kaj pa za novo programsko opremo, npr. MS Word? Lahko dodaš v MIB recimo, koliko ljudi uporablja angleški jezik, koliko slovenski…
Kaj sploh želiš v MIB-u povedat? Povedat želiš, katere parameter bi rad nadzoroval.

SMI: programski jezik za definicijo objektov v MIB (Management Information Base):

Z njim lahko formalno definiramo MIB. Parametric imajo določene vrednosti (preskenirali smo n listov…), zato rabimo osnovne tipe, poleg tega lahko tipe sestavimo na različne načine (tipe definira SMI jezik).

SMI object: ima podatkovni tip, status, opis pomena. Te stvari lahko združujemo v module (module bomo dodali v opis), ki so lahko “standardizirani” ali “vendor-specific”.

Za standardizacijo MIB modulov za usmerjevalnike, vmesnike in drugo omrežno opremo, je zadolžena IETF (Internet Engineering Task Force), za tem gredo v IANA-o. potrebno je poimenovanje standardnih component, na natančen in relativno preprost način. Kako posamezne elemente poimenovat, saj bo potrebno te stvari enoznačno sporočat med računalniki?

Vsak object ima ime, sestavljen iz zaporedja številčnih identifikatorjev od korena drevesa do lista. S številkami se pomikamo po drevesu identifikatorjev (primer: 1.3.6.1.2.1.7 pomeni UDP protokol à 1:ISO, 3:ISO identified organization, 6:UsDoD…).

Protokol SNMP (SImple Netwok Managment Protokol)

Je protokol za izmenjavo informacij, ki jih izmenjujeta na podlagi MIB-a.

2 NAČINA DELOVANJA:

  • Zahteva-odgovor (request-response) bere in nastavlja vrednosti
  • Obvestilo (trap message) naprava obvesti upravljalca o dogodku

SNMP: tipi sporočil
Dejansko imamo 5 tipov sporočil:

  • Zahteva (GetRequest, GetNextRequest, GetBulkRequest)
  • Odgovor (Response)
  • informRequest je protokol med upravljalci
  • SetRequest za nastavljanje vrednosti
  • Trap je obvestilo upravljalcu o izrednem dogodku

Pod njim je UDP protokol in njegova omejitev je (poleg tega, da je nepovezavni, ne zagotavlja potrditve in re-senda), da obstoji sporočilo v enem samem datagramu. Povsod, kjer imamo UDP mora za to poskrbet aplikacija.

 

Verzije SNMP

  • SNMPv1: prešibek za implementacijo vseh potrebnih zahtev (ni bilo možne povratne komunikacije)
  • SNMPv2: izboljšan SNMPv1 na področjih hitrosti, komunikacij med upravljalci. Ni bilo varnosti (skupino naprav si lahko dal v isto skupnost -<prek tega si nadzoroval naprave)
  • SNMPv3: dodatni varnostni mehanizmi ( DES kriptografija(simetrična) redko uporabljena v praksi, problem: izmenjava ključev). Omogoča kritpografijo, avtentikacijo, integriteto, zagotavlja zaupnost

Varnost

 

Naprava lahko prek ključa preveri, ali je določena oseba res tista, za katero se izdaja. Varnost moramo zagotoviti v obe smeri. Varnostni elementi so vpeljani šele v SNMPv3, prejšni dve različici jih nista imeili. SNMPv3 ima vgrajeno varnost na osnovi uporabniških imen.

SNMP Varnostni mehanizmi

1. Kriptiranje vsebine paketov (PDU): uporablja se DES
2. Integriteta: uporabimo zgoščevalno funkcijo (ključ, ki ga poznata pošiljatelj in prejemnik
3. Zaščita proti ponovitvi že opravljene komunikacije (napad pred ponavljanjem): uporaba žetonov
4. Kontrola dostopa: na osnovi uporabniških imen (pravice določajo, kateri uporabniki lahko berejo oziroma nastavljajo informacije)

Kodiranje vsebine PDU

Problem:

  • pošiljatelj pošlje sporočilo v svoji obliki, prejemnik pa se naj znajde kakor ve in zna. Problem: naučiti se moramo preveč "jezikov", npr tiskalnik mora znati vse jezike -< problem: rabimo veliko pomnilnika in procesorja.
  • nek vmesna prezentacijska storitev

Prezentacijska storitev: možne rešitve:

1. pošiljatelj upošteva obliko podatkov, ki jo uporablja prejemnik (pretvori v obliko, ki jo razume prejemnik in mu jo pošlje)
2. pošiljatelj pošlje podatke v svoji obliki, nato prejemnik na svoji strani pretvori v lastno obliko, ki jo razume
3. pošiljatelj pretvori v neodvisno obliko in jo pošlje, prejemnik pa to obliko pretvori v svojo obliko. (ASN.1)

Pri zapisovanju tipov se uporablja pravila BER. Ta pravila definirajo zapis podatkov po principu TLV (Type, Length, Value).

Drugi pristopi za nadzor (konfiguracija naprav)

  • Problem: ni standardizacije.
  • Rešitev: XML & SOAP (aplikacijski nivo)

XML: omogoča nazoren in hierarhičen način kodiranja podatkov (preprosto se da izluščit podatke, sami lahko določamo strukturo, najbolj pomembno je, da ga vsi razumejo --< standard!)
SOAP: preprost protokol, ki omogoča izmenjavo XML dokumentov v omrežju (vendar nima MIB-a)

Dogodkovno gnano oprazovanje:

  • RMON (komplement SNMP-ju): zbira in analizira meritve lokalno, rezultate pošlje oddaljeni nadzorni postaji (ima svoj MIB).

VAJE 3

Ponovitev/ priprava za pristopni kolokvij:

Naloga1:

Iz naslova 172.16.13.33 pridobite masko omrežja v katerega bomo spravili 24 računalnikov.

Za 24 računalnikov potrebujemo naslovni prostor s 32 naslovi (s tem da je 1 naslov za ID omrežja, 1 za broadcast in router), kar pomeni da nam preostane še 29 naslovov.
Maske: /25 = 128 naslovov, /26 = 64 naslovov, /27 = 32 naslovov
Kar pomeni da je naša maska /27 ali 255.255.255.224

Asistent nam je tudi povedal nekaj nasvetov oz trikov ki se nam lahko pripetijo na kolokviju.
Recimo:
ls / | grep "etc bin sbin usr krneki" | wc -l
Tukaj ni nobene vrstice z izpisom "etc bin sbin usr krneki" vendar nam ukaz word count -lines vrne 1 vrstico saj je rezultat 0.

Razliko med cat bla < bla2 in cat bla << bla2
Pri prvi se vrednost iz bla zapiše v bla2, pri drugi pa se vredost iz bla doda v datoteko bla2, tako da imamo vsebino obeh datotek v bla2

Ukazi:

ifconfig: Naslovi omrežnih vmesnikov

route Vnosi v usmerjevalni tabeli

ps:

  • x - Izpiše procese brez terminalov
  • a - Vsi uporabniki (All users)
  • f - forest (gozd)

 

NETWORKMANAGER - je namenjen preprostejši uporabi omrežja na linux ali unix računalnikih. Avtomatično preklaplja na omrežje.
WICD - Wireless Interface Connection Daemon, je namenjen lažjemu upravljanju omrežja. Poveže se le z znanimi omrežji (definiranimi)
DBUS - Protokol za izmenjavo podatkov med aplikacijami
dpkg - je namenjen za inštalacijo, odstranitev in pridobitev informacij o paketu (v debianu)
dpkg -S /pot/sistem (npr: dpkg -S /etc/network)v katerem paketu je neka datoteka
zless - "zip+less" - nam pomaga brati kompresirane datoteke brez da jih razširimo (bere tudi nekompresirane datoteke)

 

Promet za aplikacije v stvarnem času

Primer rabe

Naša definicija za realni čas bo malo drugačna, kot je sicer.
Primer:
Imamo dve strani in sicer stran A in stran B. Stran A beleži neke dogodke in njihove časovne značke. Te dogodke stran A pošilja preko omrežja na stran B. Naša definicija bo govorila o tem, da se bodo dogodki, ki se zgodijo na strani A izvajali na strani B, točno tako, kot so bili zajeti. Stran B bo imela občutek, da se dogodki dogajajo pred njim.

  • Enosmerna komunikacija:
    • prikazovanje prosojnic, diapozitivov, …
    • predvajanje radijskega ali TV programa
  • Dvosmerna komunikacija (čas zakasnitve mora bit čim manjši)
    • Pogovor preko spleta(VoIP)
    • Video telefonija

Zajem podatkov - zvoka

  • Analogno
    • Zajem zvoka so preko mikrofona spremenili v električni signal
    • Električni signal uporabljen za proizvajanje zvoka preko zvočnika
  • Digitalno
    • Zajem zvoka v diskretnih trenutkih(odmik od prejšnjega trenutka: amplituda,jakost,energija)
    • Na vsakih 5ms se mora ton zamenjati, da bo to zaznano kot melodija

Zajem podatkov - slika

  • Digitalizacija slike
    • Vsaka točka na zaslonu je tri razsežni vektor
  • človeško okno zazna neprekinjeno premikanje če mu posredujemo vsaj 23 slikic na sekundo

Omrežni čas(NTP)

Network Time Protokol
To je internetni protokol, za sinhronizacijo ure med računalniki v omrežju. Je eden izmed najstarejših internetnih protokolov.

Osnovni protokol za promet v stvarnem času

  • dva glavna problema
    • Kaj narediti z izgubljenimi predmeti.
    • Kaj narediti z neenakomerno prihajajočimi paketi
  • Rešitev
    • Zamujene pakete obravnavati kot izgubljene
    • Protokol naj poskrbi za časovno izravnavo
    • Aplikacija naj poskrbi za izgubljene pakete

Protokol RTP

Real-Time Transport Protocol
RTP protokol je prenosni protokol, ki služi prenosu podatkov, ne vključuje pa ukazov za začetek povezave! Za nadzor delovanja uporablja protokol RTPC. Na prenosni plasti uporablja UDP protokol, ker je ta protokol najbolj preprost, hiter in ne čaka na zamujene paketke.
Osnovni funkcionalnosti protokola sta, da protokol skrbi za pravo zaporedje paketov in poskrbi za časovne značke dogodkov.
Dodatne funkcionalnosti so, da lahko ena povezava prenaša več podatkovnih tokov(zvok levi, zvok desni, ...), lahko združuje več sej v eno, ...

Protokol za upravljanje s tokom podatkov(RTCP)

Protokol RTCP je protokol, za nadzorovanje prometa v omrežju. Sporoča o kakovosti prenešenega prometa(RR-receiver report, koliko je bilo izgubljenih paketov; SR-sender report, koliko podatkov se trenutno pošilja), skrbi za pravilno gostoto pošiljanja sporočil.

Varna inačica protokola(SRTP)

Ta protokol je zasnovan na protokolu RTP. Varnost je dodana z kriptiranjem s tokom šifer. Obe strani imate enak ključ, ki si ga v naprej izmenjata. Vsak paket se s pomočjo ključa ločeno zakriptira. To je ponavadi kakšna xor funkcija.

Protokol RTSP

Je uporabljen za kontrolo pretočnih medijev. Se pravi vsebuje ukaze kot so SETUP,PLAY,RECORD,PAUSE(kot DVD-predvajalnik). Uporabljen je za enosmeren tok podatkov. Za dvosmeren tok podatkov je uporabljen SIP(VoIP).

VAJE

Na vajah smo se ukvarjali z RFC 868. Morali smo spisati clienta ki nam bo prebral točen čas. Programski jezik je bil poljuben

Primer kode v PHP:

some_text

Razpošiljanje (multicast)

Načini naslavljanja

  • unicast (tradicionalno): pošiljanje enemu ciljnemu IP naslovu (unikaten v Internetu / lokalnemu omrežju). Gre torej za enosmerno komunikacijo (npr. A pošlje B videoposnetek po e-pošti)
  • broadcast naslavljanje "vseh prejemnikov" v podomrežju (npr. iskanje usmerjevalnika ali strežnika, nujno sporočilo); ne dostavlja paketov izven omrežja (npr. TV, antena, brezžično omrežje)
  • multicast naslavljanje (razpošiljanje) omogoča dostavo izbranim skupinam naslovov ne glede na meje podomrežij (torej tudi izven lokalnega omrežja). Torej en oddajnik pošlje paket različnim sprejemnikom - število le teh je omejeno (samo člani skupine)

Primer razpošiljanja 1

Posameznim skupinam dodelimo ID-je. Za upravljanje s skupinami (dodajanje/odstranjevanje članov) uporabljamo IGMP (Internet Group Management Protocol).V multicast sporočilo moramo zapisati naslov pošiljatelja in naslov prejemnika (v IP paketa vpišemo zastavico in ID skupine, ki ji je sporočilo namenjeno). Po potrebi ponastavimo usmerjevalnik - ta mora znati prepoznati razpošiljevalne (multicast) pakete.

some_text

Pri tem ni pomembno, koliko članov ima posamezna skupina, pomembno je le, da usmerjevalnik ve, kam pakete poslati. Kako to ve? Pri iskanju lokacij članov skupine mu pomaga program RIP, ki vsake toliko pošilja poizvedbe in pridobiva podatke o lokacijah.

some_text

Primer razpošiljanja 2

Poslati želimo 4 od 6 računalnikov v omrežju. Kako?

1. unicast: potrebujemo 6 kopij istega paketa, večkratno pošiljanje obremenjuje medij
2. broadcast: naslovi vse računalnike, filtriranje pravih prejemnikov prepustimo protokolom na višjim plastem.
3. multicast: pošljemo "posebnemu" naslovu", ki predstavlja SKUPINO prejemnikov, ki posluša pakete, naslovljene na ta naslov:

  • Podobno kot broadcast: paket dobijo vsi
  • Vendar: filtriranje se izvede na omrežnem nivoju - IP (včasih lahko tudi na povezavnem nivoju)

Usmerjanje paketov pri razpoiljanju

Za usmerjanje uporabljamo UDP protokol, ker je hitrejši in se ne zmeni za manjkajoče podatke (izgubljene pakete), kar pa omogoča hitro in nemoteno pošiljanje večim prejemnikom.
Broadcast paketov usmerjevalniki ne posredujejo (dobili bi jih vsi!), torej ostajajo znotraj lokalnega omrežja.
Usmerjanje pri razpošiljanju je praktično: en sam paket usmerjevalniki razmnožijo in posredujejo samo preko tistih vmesnikov, kjer so poslušatelji paketa. Ime skupine je 32 bitno število (skoraj).

Izziv protokola:

  • odkrivanje, kje so prejemniki paketa,
  • razpošiljanje zahteva dodatno delo: usmerjevalni protokoli, posredovanje informacije o poslušateljih,
  • razpošiljalni naslovi ne oblikujejo (pod)mrež -< maska ima 32 bitov. V usmerjevalnih tabelah zato zahtevajo posebne vnose. Izziv: lahko imajo tudi več posebnih vnosov, zakaj?
  • Varnost: prisluškovalec se lahko naroči na poslušanje paketov in postane legitimni prejemnik
  • Kaj narediti, če samo en prejemnik javi, da ni dobil paketa?

some_text

IGMP se "zmeni" z usmerjevalniki, po kateri poti bo šel paket, saj ima vsak usmerjevalnik svojo tabelo z informacijo o najbolj optimalni poti.

Aplikacije razpošiljanja

  • pošiljanje velikih datotek preko omrežja (glavni urad podružnicam) – zanesljivi prenos.
  • nadgradnja programske opreme v velikem omrežju
  • data streaming (npr. pošiljanje podatkov o delnicam vsem finančnim družbam)
  • audio/video streaming
  • video na zahtevo (spremljanje TV programa)
  • izvedba konferenc (pomislek: boljša uporaba konferenčnega centra, ki odloča, kdo lahko govori in čigave pakete posredovati drugim). Izziv: premisli, kako izgleda izvedba konference z multicast pristopom
  • aplikacije v realnem času z RTP, ki se uporablja za zagotaljanje tekoče in kakovostne dostave v okoljih, kjer se uporablja razpošiljanje

Naslavljanje na IPv4 in IPv6

IPv4

Imena razpošiljevalnih skupin so rezervirani IPv4 naslovi (razreda D): 224.0.0.0 - 239.255.255.255

some_text

Struktura

some_text

Prvi štirje biti: 1110 – vrednost E, pove da gre za ID skupine.

IPv6

Ime razpošiljevalne skupine je IPv6 naslov, ki se začne s FF

  • FF02::1 – link local: vsi vmesniki
  • FF02::2 – link local: vsi usmerjevalniki

some_text

Če so prvih 8 bitov same enice, vemo da gre za ID skupine.
Lifetime – ali gre za stalen ali začasen naslov skupine

Prijava na multicast promet

Protokol IGMP – »Internet Group Management Protocol«

  • Protokol za IPv4 za razpošiljanje
  • Definiran je v: RFC 2236 (IGMP v2) in RFC 3376 (IGMP v3)

IGMP protokol se uporbalja za upravljanje s skupinami. Omogoča pridružitev skupini, izstop iz skupine ter zaznava druge vmesnike v skupini, na katere se lahko prijavimo. IGMP komunikacija poteka med odjemalcem in najbližjim razpošiljevalnim usmerjevalnikom. Ta pošlje zahtevo za priključitev v skupino.

Verzije IGMP

  • IGMP v1: Vmesniki se lahko priključijo skupinam, ni sporočil za izstop, usmerjevalniki uporobljajo mehanizem s pretekom časa, da odkrivajo skupine, ki za vmesnik niso zanimive
  • IGMP v2: Sporočila za izstop iz skupine – hitreješe sporočanje usmerjevalniku o prekinitvi dostave nepotrebnega prometa
  • IGMP v3: Vmesniki lahko določijo seznam drugih vmesnikov, od koder želijo prejemati promet (promet od ostalih vmesnikov je blokiran).

Upravljanje s skupinami:

some_text

PAKET IGMP:

some_text

TYPE – tip sporočil, ki so na voljo
1. 17 (0x11): Group Membership Query (odkrivanje članov skupine)
2. 18 (0x12): Group Membership Report IGMP v1 (objava prejemnika)
3. 22 (0x16): Group Membership Report IGMP v2 (objava prejemnika)
4. 34 (0x22): Group Membership Report IGMP v3 (objava prejemnika)
5. 23 (0x17): Leave Group Report IGMP v2 (objava, da je prejemnik zapustil skupino)

MAX RESPONSE TIME – čas, v katerem se mora prejemnik klica IGMP Group Membership Query odzvati
CHECKSUM – kontrolna vsota za zaščito paketa
GROUP ADDRESS – naslov razpošiljevalne skupine

POSEBNO SPOROČILO: IGMP v3 Group Membership report

some_text

*Ni števca, saj v omrežju ne moremo zagotoviti sinhronizacije časa
TYPE = 0x22 (Group Membership Report IGMP v3)

  • Odgovori vseh vmesnikov v skupini so zbrani v istem paketu
  • Vmesnik čaka na odgovore drugih prejemnikov v skupini, preden odgovori sam (izognemo se podvojenemu multicast prometu)

PRIJAVA NA VIR

  • Za pridružitev skupini se pošlje GMR sporočilo (TTL = 1 – dostava samo najbližjemu usmerjevalniku)
  • Usmerjevalnik evidentira, da mora skupinske pakete posredovati novemu naročniku (Kako? Povezavni razpošiljevalni nalov / kopije datagramov na IP naslov)
  • Usmerjevalnik sporoči sosednjim usmerjevalnikom, da ima novega naročnika. Če bi vsi usmerjevalniki sporočili enako naprej, bi se paketi posredovali navzkrižno preko vseh povezav v omrežju. Rešitev:
    • RPL (Reverse Path Lookup) algoritem: zavržemo vse multicas paket, ki pridejo od usmerjevalnikov, ki ne povezujejo z izvorom paketa po najbližji poti (ko dobimo paket, pogledamo izvor – omejitev razpošiljanja s poplavljanjem)
    • Usmerjevalniki imajo posebne usmerjevalne protokole za multicast promet (npr. Protokol PIM-SM)

Protokol MLD – »Multicast Listener Discovery«

  • Protokol za IPv6 za razpošiljanje
  • Definiran v RFC 2710
  • Po funkcionalnosti enak protokolu IGMP

some_text

Razpošiljevalna drevesa

Paketi se gibljejo v obliki drevesa - to je graf brez ciklov
Drevo lahko optimiziramo na:

  • Najkrajšo pot (najmanj skokov) - desna skica
  • Najmanj prometa (čez najmanj usmerjevalnikov - leva

some_text

Drevesa ne obstajajo, ampak obstajajo samo tabele v usmerjevalnikih, iz katerih se potem "zgradi" drevo.
Učinkovito pošiljanje:

  • Hitrost
  • Čim krajša pot
  • Najceneje
  • Čim manj strojne opreme
  • Čim manj skokov med uporabniki

Najpogosteje uporabljamo vpeto drevo, da je skokov čim manj, posledično porabimo manj sredstev( elektrika ...)
Usmerjevalni algoritmi ne razpošiljajo, ti algoritmi samo izračunajo košček usmerjevalne tabele, usmerjevalniki pa potem razpošiljajo.

Dve rešitvi iskanja razpošiljevalnega drevesa:

  • Uporaba enega samega drevesa za vse usmerjevalnike za usmerjanje razpošiljevalnega prometa se določi eno samo drevo (group-shared tree) - slika levo

1. Ima centralno vozlišče (rendez‐vouz point), kar pomeni, da vse paketi morejo najprej prispeti do tega vozlišča in ta ve kam je treba pakete poslati naprej 2. Je minimalno vpeto drevo

  • določitev ločenega drevesa za vsakega udeleženca v skupini (source-based tree); za N članov skupine imamo torej N dreves (za vsako razpošiljevalno skupino) - slika desno

1. Uporablja reverse path lookup protokol (RPL) - da se paketi ne pošiljajo nazaj na usmerjevalnike katerih smo že bili (ker imamo cikle) 2. Imamo za vsak usmerjevalnik najkrajšo pot

some_text

Redka omrežja - za pridobivanje paketkov se uporablja princip PULL ( tisti v skupini ki želi dobiti podatke, mora sam zaprositi) V nasprotnem primeru bi imeli problem poplavljanja ( tisti ki ne rabi oz. ne želi prejemati pošte bi jo vseeno prejemal, kar bi povzročilo odvečen promet)

Gosta omrežja - za pridobivanje podatkov se uporablja princp PUSH ( usmerjevalnik sam razpošilja podake vsem, v nasprotnem primeru bi imeli preveč "naročniških zahtev", zato raje pošljemo kar vsem )

Kako pošljemo paketke vsem v skupini? Dovolj je da poznamo vsaj enega iz skupine ki je član usmerjevalnega drevesa.

Katerega od članov je najbolje poznati? Tistega ki nam je najbolj blizu.

Kdaj se skupina/grupa odstrani iz drevesa? kadar nimamo več članov skupine/grupe.

Kako postaneš član skupine? Pošlješ "prijavo" najbližjemu članu skupine ali RP ( rendez‐vouz point )

Vprašanja za 1. kolokvij

1 .Protokol RTP: Če imaš dva vira, kako lahko razlikujemo s katerega vira prihaja informacija, če imata oba vira nastavljen isti SSRC?

  • V SSRC imamo za vsak vir, svoj ID(2 mikrofona).
  • Vsak pošiljatelj, pa ima v kombinacij IP + SSRC enolično določen ID naprave, ki oddaja v omrežje.
  • Primer: Tjaša in Mark oddajata vsak po svojemu mikrofonu, nekje na omrežju, njujina signala meša(mixa) Klemen. Ker je klemen samo mešalec, zapiše ID-je naprav v polje CSRC(common source),
  • Če želimo zvedeti več o virih, ki jih uporablja Klemen, uporabimo RTCP protokol, kjer pošljemo zahtevek SDES.

2. Če pride po povpraševanju do izgube(zakrivanja) podatka, iz kje prihaja nek signal, ali lahko pridobimo te podatke?

  • Odvisno od oddajnika, lahko nam jih posreduje, lahko pa ne(nikjer ne piše da mora).

3. Na kateri plasti je RTM, glede na to, da je en nivo višje od njega protokol SIP?

  • Oba sta na aplikacijski plasti(procesi uporabljajo za svoje delovanje druge procese).

4. Ali je potrebno za vsak "mikrofon" odpreti novo sejo?

  • Ni nujno

5. Ali je smiselno da uporabljamo Multicast namesto RTP?

  • Odvisno od velikosti omrežja, če imamo na omrežju več računalnikov, ki jim vsako polno uro posodabljamo čas, lahko s pomočjo multicasta vsem naenkrat pošljemo potrebno informacijo(timestamps).

6. Kako preverimo integriteto poslanega sporočila? Imamo dve fazi:

  • V sporočilu vstavimo nekaj kar se lahko uporabi samo enkrat(žeton, čas)
  • Sporočilo ovijemo s HASH funkcijo(vrvica)
  • Na koncu lahko še vse skupaj označimo s svojim zasebnim ključem(žig)

7. Kaj imata skupnega NTP ter drevesna struktura?

  • NTP strežniki so hierarhično grajeni, Stratum0 nivo, predstavlja atomske ure, Stratum1 predstavlja posrednike, itd.. do Stratum15. Priporočeno je, da iščemo Stratum3 in ne nižje.

8. Od kje dobimo podatke od kod prihaja nek vir?

  • S uporabo RTP-ja ter razširitev

9. Katere protokole potrebujemo za izdelavo spletne aplikacije(igre) ?

  • S uporabo RTP-ja ter razširitev

AAA(authentication, authorization,accounting)

Authentication (avtentikacija)

Kdo je pravzaprav oseba s katero se pogovarjam

Na podlagi začetnega prepričanja o identiteti , se ohranja identiteta skozi pogovor. Borut in Ana se zmenita za simetrični ključ in na podlagi tega ohranjata identiteto skozi pogovor. Ana mora vedeti nekaj o Borutu, po čemer razpozna Boruta (skupna skrivnost).
Avtentikacija z gesli je v večini primerov zadovoljiva z dodatki.

Napadi na gesla

The S/KEY One-time password system , izziv ne gre ni koli čez internet . Ščiti pred zunanjimi pasivnimi napadi. Ne ščiti pri aktivnih napadih. Geslo je 64 bitno. Pri hash funkciji uporablj a MD4. Iz nj ega se je razvil OTP.

- Prisluškovanje, kraja v prenosu

- Vlom v sistem, kraja shranjenih gesel

- Ugibanje gesel, št. vtipkanih gesel

Obramba pred krajo gesla

Obramba z uporabo varne kriptografske povezave - pošlje geslo in nihče ne more prisluškovati. Težava je narediti tako povezavo. Zaščita za napad s ponovitvijo je vsakič spremeniti poslano geslo. Dodatna zaščita, izziv se kar naprej spreminja, izziv (naključen niz enic in ničel - XOR z geslom + kodi rano z javnim ključem).

- Uporaba varne kriptografske povezave

- Varovanje sistema, gesel

- Omejeno št. poskusov vpisa

Na spletu obstajajo baze ki sistematično računajo hash gesel, proti temu se zaščitimo tako, da zasolimo gesla, jim dodamo naključen niz, da je hash čim bolj naključen. Če geslo pozabimo, mora sistem resetirati geslo. Dobimo nato povezavo, kjer vpišemo novo geslo. (One-time password)

Zaupanja vredni zaupniki

- Posredniki za razpečevanje gesel (Key distribution center)

- Tvori ključ (geslo) za vsako novo nastalo povezavo (One time sign in)

- Ključi so veljavni kratek čas, uporablja Kerberos protokol

Posredniki za avtentikacijo

- CA (certification authority)

- Posrednik zagotavlja (avtorizira) geslo

- Potrdila so veljavna daljši čas, zato jih mora biti možno preklicati

Authorization (avtorizacija)

Ali ima oseba s katero se pogovarjam dostop do virov.

Kaj lahko počnemo kot avtenticirana oseba? Katere pravice imamo oz. katere storitve lahko opravljamoa oz. koristimo?

Na UNIX sistemih, ko se prijavimo, smo člani nekatere skupine(-in), ki lahko uporablja določene storitve. Dostopovna matrika je zelo splošen model, ki ga sistemi uporabljajo za avtorizacijo:

some_text

Hrani se lokalno v datotekah, vendar je problem z posodabljanjem in jo je potrebno hraniti tudi na strežnikih.

V OS poznamo tudi kolobarni sistem, kjer skupina v zunanjem kolobarju opravlja vse notranje storitve, vendar tukaj ne moremo narediti poljubne kombinacije, medtem ko v dostopovni matriki lahko.

Accounting (beleženje)

Kdo je uporabil kakšen vir, kdaj je uporabil vir

Potrebno je beležiti kakšen dogodek se je zgodil, kje se je zgodil, kdaj se je zgodil,... Beleženje je standardizirano. Ena vrstica v zapisu predstavlja en dogodek.

SYSLOG Protocol

Vsi računalniki hranijo zapise na enem mestu. Definira kako se zapisi o dogodkih prenašajo med dvema računalnikoma.

Protokol je definiran v treh plasteh:

  • vsebina (sama vsebina)
  • aplikacijska (generiranje, hranjenje, ...) namenjena da imamo lahko vmesni strežnik
  • transportna (spravi na in z žice)

Avtentikacija ljudi

Kako?

1. uporaba gesla
2. avtentikacijski pripomočki
3. biometrične značilnosti

Za 2. in 3. možnost rabimo dodatno programsko opremo.

Gesla

Gesla ne smejo biti preprosta hkrati pa tudi ne preveč zapletena in jih je treba menjati sistematično. Če geslo pozabimo rabimo varno pot po kateri ponudnik sporoči odjemalcu začasno geslo ali pa njegovo ponastavitev.

Avtentikacijski pripomočki

  • Kartice: so le nosilci informacije
  • Pametne kartice: vsebuje računalnik, ki ščiti informacijo in za dostop potrebujemo geslo.
  • Kriptografski računalniki: tvorijo časovno odvisnost gesla

Biometrične značilnosti

Nadomestijo geslo, so neprenosljive in unikatne za vsakega človeka (retina, prtni odtis, razpoznava obraza, zenica, glas, ...).

Postopek avtentikacije

Neposredno:

  • Prijava na konzolo računalnika
  • Oddaljen dostop: telnet (TELNET Protocol, RFC 139), ssh
  • Ad-hoc način
  • Z uporabo protokola

Protokoli za avtentikacijo

  • PPP in PAP: Nadomešča povezavno plast. Na začetku seje je potrebna avtentikacija. Ne potrebujemo naslovov, ker imamo točno znanega pošiljatelja in prejemnika. Osnova prenosa je okvir. PPP ima svoj nazorni protokol LCP, ki nastavlja raznične lastnosti in vrsto razpršilne funkcije.
  • PAP: Gesla se prenašajo v čistopisu ( brez enkripcije) - ni varen. V uporabi če server ne podpira CHAP.
  • CHAP: Narjen je za PPP. Vezan je na katerikoli prenosni protokol. Zasnovan je na osnovi izziva, ki pa se menja. Je tri koračni protokol, koraki pa se pri PPP protokolu ponovijo poljubno.
  • MS-CHAP: PAP in CHAP nista omogočala spremembe gesla zato je nastal MS-CHAP
  • EAP: Je le okvir za protokole saj definira zgolj obliko sporočil. Namenjen izbiri protokola za avtenticiranje. Način avtentikacije se doreče med odjemalcem in strežnikom.

PROTOKOL RADIUS

RADIUS = avtentikacija + avtorizacija + beleženje Nek uporabnik vzpostavi osnovno povezavo, potem se avtenticira. Na podlagi avtenticiranja se ga avtorizira (katere storitve lahko koristi) in potem se še beleži kaj koristi (beleženje).
Radius arhitektura:
sestavljena iz streh strank: uporabnik, NAS (RADIUS-ov odjemalec), RADIUS (ki je lahko tudi namestni strežnik za drug RADIUS strežnik)

some_text

Pri komunikacij NAS <---< RADIUS (AA.) se uporablja protokol UDP, zato da so RADIUS (proxy) strežniki manj obremenjeni, saj je UDP majhen, brez stanj, zelo malo zahtev po virih...
Pri tej komunikacij NAS pošlje RADIUS-u Access Request in RADIUS mu lahko odgovori za Access Accept, Access Reject ali Access Challenge (kjer hoče uporabnika še malo preverit)
Access Request lahko zahteva avtentikacijo in zato se RADIUS preko enega od avtentikacijskih protokolov (PAP, ...) direktno poveže z uporabnikokm in tako NAS razbremeni avtentikacije. (eduroam)

Pri beleženju odjemalec pošlje stvar, ki naj se beleži in RADIU odgovori samo z ja sem beležil. (če je proxy, lahko zahtevo pošlje naprej)

RADIUS medstrežnik in področja

Uporabnike se razdeli na več sfer oz. področij. Vzpostavitev sodelovanja med področji, za katere je zelo pomembno da si zaupajo (tako kot potni list velja v drugi državi...)
RADIUS protokol uporablja UDP prenosni protokol, ki pa ni varen, zato je za to varnost potrebno dodatno poskrbeti.
Pri (AA.) se je potrebno prepričati da je uporabnik res povezan z pravim strežnikom, za kar se uporabljajo podpisi. Vendar se tukaj ne ščiti zahteve odjemalca.
Pri beleženju je potrebno ščititi promet v smeri od odjemalca, saj mora strežnik vedeti da dogodek res prihaja od pravega odjemalca. Tudi tukaj se uporablja podpisovanje paketov. Podpis tukaj šliti odjemalčevo zahtevo za beleženje.

Napadi:

  • Napad s ponavljanjem
  • Napad srednjega napadalca
  • Razlika med (aa.) in (..A) delom povezave

DIAMETER protokol

Je podoben protokolu RADIUS, vendar je novejši in varnejši, a v uporabi danes še ni razširjen.

Podatki za delovanje omrežja

Opravka imamo z imeniki ali mapami (directory service). V mapi so združeni posamezni prilastki (attributes). Mape lahko vsebujejo prilastke različnih tipov - nekateri so obvezni, nekateri dovoljeni. Imeniška struktura je hierarhična. Struktura imenikov in prilastkov v njih definira shemo (npr. cel datotečni sistem je shema).

Prilastki

  • Vsak prilastek ima svoje ime
  • Prilastek je definiran z imenom in potjo (lokacijo)
  • V isti mapi imalo lahko več prilastkov z istim imenom, a z različnimi vrednostmi
  • Ista imena v različnih mapah predstavljajo različne prilastke

Predmeti in imenski prostor

  • predmeti ali objekti ( = objects, entries) so dejanske vrednosti, ki jih hrani imeniška struktura glede na definirano shemo / predstavljajo določeno entiteto
  • Predmeti vstavljeni v imenik so v vsebovalniku (= container) - vsebovalnik je podobna struktura kot slovar
  • Imenski prostor - vsi predmeti v vsebovalniku so v istem imenskem prostoru (= namespace)
  • Predmeti v imenskem prostoru so hierarhično oblikovani
  • med seboj moramo predmete razlikovati -< način razlikovanja izberemo pri načrtovanju imenika, uporabiti je potrebno imena ki določajo enolično in nedvoumno ime
  • Predmeti "živijo" v imenskem prostoru in ne v vsebovalniku.

Razlikovanje predmetov

  • razločevalno ime (= distinguished name) - ime po katerem razlikujemo predmete
  • dva predmeta ne moreta imeti istega razločevalnega imena
  • absolutno / relativno - odvisno od hierarhije imenikov
  • razločevalno ime običajno ni shranjeno v imeniški strukturi - definirano je z pravili
  • PRIMER: Eduroam:
  • dn: dc=fakulteta,dc=univerza,dc=si (razločevalno ime je sestavljeno iz dc=fakulteta,dc=univerza,dc=si)

Imenski prostor in upravljanje

  • vsebina imenskega prostora je lahko porazdeljena med različne strežnike (= distribution - porazdeljena imeniška storitev) oz. prepisana na druge strežnike (= replication - z vsebino imenskega prostora še vedno upravlja izvorni strežnik, če pa en strežnik pade lahko še vedno pridobimo podatke iz drugega strežnika)

Podatkovne baze in imeniške storitve

  • običajna relacijska podatkovna baza je organizirana v tabelah
  • prilastki v imeniški strukturi so:
  • obvezni - podobno podatkovnim bazam
  • neobvezni - kot npr. null vrednosti v bazah
  • prilastki se znotraj imeniške strukture lahko ponovijo
  • prilastki in njihova struktura so standardizirani - IANA
  • predmeti so razvrščeni v imenske prostore - vsak posamezen predmet podeduje vse lastnosti starša

DNS storitev

  • DNS je imeniška storitev - domenski strežnik ima za vsako domeno svoj imenik
  • imenski prostor za DNS določa FQN (= Fully Qualified Name)
  • prilastki določajo storitve v imenskem prostoru - različne aplikacije uporabljajo različne prilastke (poštni strežnik npr. zanima prilastek MX)
  • DNS imeniška storitev ne izkorišča pojem dedovanja

Standard X.500

  • standard definira imenski prostor v katerem se nahajajo predmeti - vsak izmed predmetov je določen s svojim razločevalnim imenom
  • predmet ima lahko eno ali več (tudi ponavljajočih) vrednosti prilastkov
  • imeniška struktura sestoji iz enega samega imenika - posamezne dele imenika poslužujejo različni strežniki
  • uporablja se pri "Public Key Infrastructure"
  • X.509 je bil osnova za SPKI - določa kako si morajo slediti vrstice v neki datoteki, da le ta predstavlja veljaven certifikat
  • standard X.500 sestoji iz 4 protokolov za dostop do imeniške strukture, operacije nad strukturo (Bind za vzpostavitev komunikacije, Read, List, Search, Compare, Modify, Add, Delete, ModifyRDN)
  • za delovanje poštnega sistema v X.400 standardu je bila potrebna imeniška struktura - X.400 je zasnovan kot varen poštni protokol

LDAP - Lightweight Directory Access Protocol

  • definiran na podlagi X.500 standarda
  • protokol določa kako dostopamo do imeniške strukture - določa kako odjemalec vidi podatke pri strežniku (vseeno je kako strežnik hrani podatke)
  • zasnovan je na TCP - lahko omogočimo SSL
  • obstajata v2 in v3 različici protokola - bistvena razlika v varnosti (pri v3 se lahko sami odločimo za uporabo SSL)
  • LDAPS - v protokol je že vključen SSL
  • Protokol:
  • Odjemalec prične komunikacijo (vzpostavi sejo) na vratih 389 (LDAP) oz. 636 (LDAPS)
  • na voljo ima nekaj ukazov:
  • start TLS - preklop na SSL način komunikacije,
  • bind - želja po avtentikaciji in ostalih možnih parametrih komunikacije,
  • unbind - zaključek komunikacije,
  • search - iskanje posameznih predmetov v bazi, prikaz le teh je lahko odvisen od tega ali je odjemalec avtenticiran ali ne
  • compare - možnost primerjave vrednosti predmeta -< ni potrebno razkriti prave vrednosti predmeta, samo preverjamo enakost (primerno za gesla) -< dobimo samo odgovor "yes" v primeru ujemanja
  • add - dodajanje predmeta v bazo
  • delete - brisanje elementa iz baze
  • modify - spremenimo vrednosti prilastkov predmeta, ki niso del razločevalnega imena - za spremembo razločevalnega imena uporabimo ukaz modify DN
  • abandon - prekine izvajanje zahteve, ki smo jo poslali (iskanje, primerjanje, popravki baze)
  • extended - generična možnost poljubnega dodatnega ukaza
  • LDAP sheme, razredi in prilastki
  • shema združuje različne predmete in prilastke
  • prilastki so združeni v razrede - "objectClass"
  • razredi so opisani z zapisom ASN.1
  • so del hierarhije in dedujejo lastnosti starša
  • določajo obvezne in neobvezne prilastke
  • prilastki opisujejo lastnosti
  • opisani z zapisom ASN.1
  • na nek način predstavljajo definicijo tipa
  • udejanjenje prilastkov hrani vrednost
  • opisujejo še sintakso, način primerjave ipd.
  • za prenašanje podatkov med LDAP strežniki je definiran format LDIF
  • RADIUS uporablja LDAP strežnik za avtentikacijo

IPSec

Varnost med dvema napravama lahko zagotovimo na vsaki plasti ISO/OSI modela. Na 3., omrežni plasti, za to lahko poskrbi IPSec (IP security protocol). Ta nam ponuja zakrivanje podatkov višje od tretje plasti, zagotavlja avtentikacijo izvor (pošiljatelj se mora avtenticirati pri sprejemniku, obratno ni potrebno), integriteto podatkov in zaščito pred ponovitvijo komunikacije (replay attack). IPSec je bil prvotno razvit kot varnostna zahteva v IPv6 protokolu. Ker pa se ta ni prijel tako hitro, kot so pričakovali, je bil posebej razvit še za IPv4. Sta pa implementaciji popolnoma enaki z le eno majhno razliko in sicer to, da je IPv6 IPSec vgrajen v glavo (polje next header).

IPSec ponuja dva protokola za varovanje: AH (Authentication Header) in ESP (Encapsulation Security Payload). Kot že ime pove, prvi implementira avtentikacijo in integriteto podatkov, drugi pa poleg tega zagotavlja še zaupnost podatkov, torej enkripcijo (simetrična, asimetrična).

Ker omrežna plast skrbi za dostavo paketa med dvema točkama (torej enosmerna povezava), tudi IPSec deluje samo v eni smeri. Če bi želeli IPSec tudi v drugi smeri komunikacije, bi to pomenilo novo instanco IPSec-a. Vsaki taki vzpostavitvi IPSec komunikacije pravimo SA (Security Association). Če torej nek strežnik komunicira z n odjemalci v IPSec protokolu, vsakemu v obe smeri, potem to pomeni 2n + 2 SA-jev. Vsaka naprava, ki ima vzpostavljen SA, ima svojo lokalno SAD (Security Association Database) bazo v kateri hrani vse zapise o vseh možnih komunikacijah. V tej bazi se shranjujejo:

  • SPI (Security Parameter Index) - 32-bitni id
  • Izvorni in ponorni IP
  • vrsta enkripcije (AES-CBC, 3DES-CBC, AES-CTR, DES-CBC) in ključ
  • vrsta preverjanja integritete
  • ključ za avtentikacijo (HMAC-SHA1, AES-XCBC-MAC, HMAC-MD5)

IPSec definira dva načina komunikacije - transport in tunnel mode. Transportni način je implementiran med končnimi odjemalci, tunelski pa je transparenten končnim odjemalcem in je implementacija med usmerjevalniki ali usmerjevalnikom in uporabnikom. Prvi kriptira le glavo paketa, drugi pa tudi podatke (ker se pravi pošiljatelj in prejemnik skrijeta znotraj paketa, doda pa se nova glava, ki vsebuje IP-je naprav, ki uporablja IPSec). Če recimo pogledamo sliko na prosojnici št. 4 (http://lusy.fri.uni-lj.si/files/courses/fri-courses/kpov/Predavanja/ppt…), sta podružnica in glavna pisarna v tunelskem načinu, medtem ko je delavec na terenu v transportnem načinu.

Na prosojnicah je tudi lepo narisano kako se spremeni paket v IPSec tunelskem načinu in ESP delovanjem (št. 10-14). Opisal bom zato le, kaj predstavlja posamezno polje v novo nastalem paketu:

 

  • Nova IP glava - Izvorni in ponorni IP naslov usmerjevalnikov
  • ESP glava
    • SPI - identifikator SA-ja
    • Seq - neka številka, ki določa št. zaporednega aketa. Služi tudi kot zaščita proti napadu s ponavljanjem (reply attack), je torej tudi žeton.
  • Originalna IP glava - Izvorni in ponorni IP vmesnikov
  • Originalni IP podatki
  • ESP rep
    • padding - polje, ki razširja polje originalnih IP podatkov, da se kriptirana vsebina lahko razširi na ustrezno šifrirno velikost bloka
    • pad length - velikost padding polja (v oktetih).
    • next header - tip naslednega header-ja. Vrednost predstavlja IP protokol - http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers

SPD (Security Policy Database) določa ali se uporablja zaščita za določen datagram - glede na izvorni in ponorni IP, ter tip protokola. SAD določi kako se zaščiti.

IKE

IKE (Internet Key Exchange) je protokol za izmenjavo ključev preko interneta. IPSec uporablja IKE, da lahko vzpostavi SA povezav. Na prosojnicah je lep primer vzpostavljenega SA-ja, ki predstavlja kakšne podatke določi IKE protokol. Poteka v dveh fazah: V prvi fazi se preveri identiteta obeh strani (avtentikacija) - lahko s certifikati (PKI - public key infrastructure) ali pa z PSK (pre-shared key). Dobimo dvosmeren IKE SA, ki pa je ločen od IPSec SA. V drugi fazi pa se zgenerira SA (vsi potrebni ključi). Prva faza lahko poteka v dveh načinih - agressive (obe strani se predstavita, je hitrejši, a razkriva identitete) in main (skrije identiteto, a je daljši).
 

SSL

SSL (Secure Socket Layer) je razvilo podjetje Netscape, kot TLS (Transport Layer Security) pa je definiran v RFC 2246. Danes je to zelo široko uporabljen varnostni protokol. Deluje na 4. (transportni) plasti ISO/OSI modela in sicer nad TCP protokolom, ki vzpostavi povezavo v obeh smereh. Nad protokolom UDP ga zaradi nevzpostavljene dvosmerne povezave torej ni mogoče uporabljati. Zagotavlja zaupnost, integriteto in avtentikacijo (strežnika, lahko tudi odjemalca - PKI). Pri tem uporablja več ključev, ki se spreminjajo.

Poenostavljeni SSL

1. Rokovanje - Med rokovanjem se točki avtenticirata (s certifikati - PKI) in izmenjata ključ - MS (Master Secret - glavni ključ). Iz tega ključa so izpeljani vsi nadaljni ključi. Nekaj bitov določi ena in nekaj bitov druga naprava.
2. Izpeljava ključa - izpeljejo se 4 ključi, 2 ključa za zakrivanje, po eden vsako stran in še 2 ključa za preverjanje integritete, zopet po eden za vsako stran. Ključi se izpeljejo iz glavnega ključa in dodatnih naključnih podatkov.
3. Pošiljanje podatkov - Celotno sporočilo se razbije v zapise - to zagotavlja vmesno preverjanje integritete podatkov. Pri računanju pa se upošteva tudi številka paketa in tip zapisa. Prvi z žetonom preprečuje napad s ponovitvijo, drugi pa preprečuje predčasno preprečevanje seje. Če je vrednost tip-a 0, to pomeni, da se prenašajo podatki, če pa je tip 1, pa to pomeni zaključek seje.
4. Zaključek seje - Uporabljajo se posebna sporočila za varno zaključevanje seje.

Pravi SSL

Ko se povezava vzpostavlja, odjemalec pošlje ClientHello sporočilo, ki vsebuje najvišjo TLS verzijo, ki jo podpira, naključno število (žeton), seznam podprtih enkripcijskih algoritmov in predlaga kompresijsko metodo. Strežnik odgovori z ServerHello sporočilom in izbranimi: verzijo protokola, naključno število (žeton), enkripcijo in kompresijo. V naslednjem koraku strežnik pošlje Certificate sporočilo in konča z SeverHelloDone spročilom, ki pomeni, da je strežnik končal z pogajalsko fazo vzpostavljanja povezave. Odjemalec odgovori z ClientKeyExchange sporočilom, ki vsebuje PMS (Pre Master Secret) iz katere se izračuna MS. PMS je kriptiran z javnim ključem strežnika. Obe strani iz MS izračunata vse potrebne ključe. Odjemalec pošlje še ChangeCipherSpec, s katerim strežniku pove, da bo v komunikaciji sedaj vse kriptirano in da je ustrezno avtenticiran. V Finished sporočilu pa odjemalec pošlje še MAC vseh sporočil rokovanja. Strežnik odgovori z ChangeCipherSpec s čimer potrdi avtentikacijo in začetek pošiljanja kriptiranih sporočil. Sledi pošiljanje sporočil.

MS dobimo iz žetona odjemalca in strežnika, ter PMS, ki se uporabijo v funkciji, ki izračunava psevdo-naključna števila. Ko MS in nove žetone vstavimo v drugi naključni generator dobimo MAC, enkripcijske in inicializacijske vektorje za strežnika in odjemalca (različno). Incializacijski vektorji so potrebni pri bločni kriptografiji - AES in 3DES.

Operativna varnost

Varnost v omrežju

Omrežna varnost vsebuje razna pravila, politike in mehanizme, ki omogočajo nadzorovanje in preprečitev nepooblaščih dostopov, zlorabe itd, nekega omrežja. Glavni izziv varnosti je, ugotoviti kateri promet oz. uporabniki so dobronamerni in imajo dostop in pravico do virov, kateri pa niso dobronamerni in v večini primerov nam želijo na nek način škodovati. Tak promet oz. dostop želimo zaznati in blokirati. Najpogosteje administrator nekega omrežja uporabnike deli na:

  • dobre fante (good guys): uporabniki, ki legitimno uporabljajo vire omrežja in/ali pripadajo organizacije
  • slabe fante (bad guys): vsi ostali, njihove dostope moramo skrbno nadzorovati

Za doseganje zgornjih ciljev uporabimo naslednje tipe programske opreme:

  • Požarna pregrada (firewall)
  • Sistem za zaznavanje vdorov (IDS, intrusion detection system)
  • sistem za preprečevanje vdorov (IPS, intrusion prevention system)

Požarna pregrada (firewall)

V večini primerov imamo naše lokalno omrežje povezano na internet preko ene točke oz. povezave (tudi če imamo več povezav na internet zaradi katerihkoli razlogov, ta številka spet ni toliko velika). Zato je tudi logično, da požarno pregrado postavimo na to točko, saj se veliko bolj bojimo napadov od zunaj kot znotraj. Požarne pregrade lahko dobimo tako v softwareski različiti, kot tudi hardwareski, odvisno koliko dobro in zanesljivo hočemo. Služi temu, da popolnoma nadzoruje promet navzven in navznotraj omrežja. Njegove naloge lahko razdelimo na sledeče:

  • Pregleda (filtrira) vsak paket, ki gre mimo povezave (bodisi ven, bodisi noter) in se glede na neka pravila in politike odloči kaj bo z njim naredil. Lahko ga spusti mimo (se pravi paketa ne zazna kot nevarnega), lahko ga pa vrže stran (se pravi zazna paket kot škodljivega in ga takoj zavrne)
  • Sama požarna pregrada pa je imuna na napada, saj če temu ne bi bilo tako, potem ni nobenega smisla imeti to programsko opremo

Groba skica omrežja, kamor postavimo požarno pregrado.

some_text

Imamo seveda več načinov kako promet filtriramo in na kakšen način definiramo ter uporabimo razna pravila ali politike. Delimo jih na 3 glavne načine:

  • Filtriranje paketov (ang. packet filters)
  • Filtriranje paketov v kontekstu (ang. stateful filters)
  • Aplikacijski prehod (ang. application layer)

Prva dva načina se več uporabljata kot zadnji.

Filtriranje paketov

Filtriranje paketov deluje tako, da pregleda vsak paket, ki gre v ali pa pride iz interneta. Ko paket ujame z nekim filtrirnim pravilom, ga nato (glede na pravilo), bodisi zavrne, bodisi spusti mimo. V primeru da paket zavrne je možno, da to stori tako, da ne obvesti pošiljatelja, lahko pa mu pošlje sporočilo z napako.

Pri filtriranju paketov se požarna pregrada ne zmeni, ali je paket del kakšne povezave ali ne. Ne shranjuje nobenega stanja, tako da vsak paket obravnava enakovredno in ni popolnoma nobene razlike če je prispeli paket mogoče del obstoječe komunikacije, ali pa je mogoče zahteva za novo povezavo. To omogoča hitrejše delovanje in manjše strojne zahtevnosti, vsaj mu ni potrebno shranjevati informacij o stanjih, kar pa, če imamo veliko povezav, lahko postane zelo veliko podatkov in bi potrebovali veliko prostora, kot tudi procesiranje paketov bi trajalo dlje, saj bi moral sistem predelati ali je paket v raznih sejah.

Ali bo požarna pregrada paket spustila naprej, se odloči glede na pravila, ki so lahko definirana glede na:

  • IP izvornega/ponornega naslova
  • številke IP protokola: TCP, UDP, ICMP, OSPF itd.
  • TCP/UDP izvornih in ciljnih vrat
  • tip sporočila ICMP
  • TCP SYN (vzpostavitev povezave!) in ACK bits (ACK=1 velja za prvi segment pri povezovanju)

Filtreranje paketov deluje primarno na prvih 3eh plasteh ISO/OSI modela, kar pomeni, da požarna pregrada načeloma ne gleda višje plasti. Kar pomeni da nas tako filtriranje ne brani pred napada na višjih (transporna in aplikacijska) plasteh, vsaj se sistem odloča, predvsem na podlagi podatkov iz druge in tretje plasti (IP, PORT, MAC).

Primeri:

1. Blokiraj dohodne datagrame z IP protokolom 17 (UDP) in izvornimi ali ciljnimi vrati 23 (telnet)

  • rezultat: filtriramo vse dohodne in odhodne UDP komunikacije in telnet povezave

2. Blokiraj dohodne TCP segmente z zastavico ACK=0

  • rezultat: onemogočimo zunanjim odjemalcem, da vzpostavijo povezavo z notranjimi odjemalci, dovolimo pa povezovanje v obratno smer (navzven)

some_text

Filtriranje paketov v kontekstu

Stateful filter si zapomne stanje povezav (npr. TCP in UDP) in si hrani pomembne atribute te povezave. Tem atributom se reče stanje povezave in vsebujejo npr. IP naslovi udeležencev, porti in oštevilčenje paketov, ki se prenašajo. Stateful filtri poleg pravil, ki so definirana že za navadno filtriranje, upošteva še stanje povezave, recimo dovolil bo TCP promet od zunaj, za katerega ve, da je del povezave, ki jo je začel klient vznotraj, zavrnil pa bo zahtevo za povezavo od zunaj.

Stateful filter vsebuje še nekaj dodatnih lastnosti:

  • Zabeleži si vzpostavitev povezave (SYN) in njen konec (FIN): na tej podlagi odloči, ali so paketi smiselni
  • Po preteku določenega časa obravnava povezavo kot neveljavno (timeout)
  • Uporablja podoben dostopovni seznam, ki določa, kdaj je potrebno kontrolirati veljavnost povezave (angl. check connection)

Aplikacijski prehodi

Prednost aplikacijskih prehodov je, da "razumejo" določene aplikacije in protokole (npr. FTP, DNS, ...). To mu omogoča, da lahko zazna ali kateri neželjeni protokol želi priti mimo požarne pregrade, tako da ustvarja povezave na drugih (dovoljenih) portih, ali pa če je dovoljen protokol zlorabljen. Poleg tega pa omogoča filtriranje storitev, glede na to, kateri uporabnik jo želi uporabiti.

Slabosti:

1. Če uporabniki potrebujejo več aplikacij (telnet, HTTP, FTP itd.), potrebuje vsaka aplikacija svoj aplikacijski prehod

2. Odjemalce je potrebno nastaviti, da se znajo povezati s prehodom (npr. IP naslov medstrežnika v brskalniku)

3. Če uporabljamo SSL aplikacijski prehodi ne pridejo v upoštev, saj je vsa vsebina zakriptirana in nemorejo nadzorovati prometa.

Primer:

1. Vsi uporabniki vzpostavljajo telnet povezavo preko prehoda

2. Samo za avtorizirane uporabnike prehod vzpostavi povezavo do ciljnega strežnika. Prehod posreduje podatke med 2 povezavama

3. Usmerjevalnik blokira vse telnet povezave razen tistih, ki izvirajo od prehoda

Sistem za zaznavanje vdorov (IDS)

Požarna pregrada filtrira samo glave paketov. Kar pomeni, da veliko napadov ne more zaznati, zato potrebujemo programsko/strojno opremo, ki bo poleg glav, ki jih pregleda požarna pregrada, pregledala tudi podatke znotraj paketov za morebitne napade. Glavna naloga sistema je, da o morebitnih napadih obvesti administratorja omrežja in/ali sistem, ki bo na to reagiru. IDS načeloma ne preprečuje napadov, za to uporabimo IPS.

Sistem IDS odkriva napade na dva različna načina:

1. Opazovanje netipičnega prometa (Statistical anomaly-based)

  • Sistem opazuje in določi kaj je normalna aktivnost/delovanje omrežja. Naprimer uporabljena pasovna širina, uporabljeni protokol, uporabljeni porti, ...
  • Kadar se začne omrežje obnašati drugače od "normalnega" obvesti administratorja o tem.
  • Primer: Exponentno povečanje povezav na portu 123

2. Primerjava s shranjenimi vzorci napadov (Signature-based)

  • Vzorci napadov lahko hranijo izvorni IP, ponorni IP, protokol, zaporedje bitov v podatkih paketa, lahko so vezani na serijo paketov
  • Varnost je torej odvisna od baze znanih vzorcev; IDS/IPS slabo zaznava še nevidene napade
  • Možni lažni alarmi
  • Zahtevno procesiranje (lahko spregleda napad)

Znan IDS/IPS programska oprema:

some_text

IEEE 802

prvi del predavanj, Luka Vabič

drugi del predavanj, Grega Vertovšek

Ieee 802 je skupina protokololov pod isto oznako.

Od kje 802? Ko so se začeli razvijati protokoli, so rekli da bodo definirali standarde. Internet ingeneering task force --< rfc, jih pišejo. Zakaj rabimo standard? Da se z različno opremo med seboj znamo pogovarjati.

Primrer semafor:

Evropa: Siemens postavlja semaforje, nobeni drugi niso kompatibilni z njihovimi. Niso standardizirani.

ZDA: So standardizirani. Se znajo pogovarjati tudi s semaforji drugih proizvajalcev.

 

INSTUTUTE of ELECTRICAL and ELECTRONIC ENGINEERS. IEEE -definirajo standarde. To so večinoma "prostovoljci", večinoma izobraženci. Podpirajo jih tudi velike koorporacije. Leta 1980, ustanovljeno prvo delovno telo s tega področja, ki so se pogovarjali o standardizacji.

 

 

Arhitektura IEEE 802

 

Razdeljena na 2 dela. Mrežna, tretja plast je prepuščena ietf, drugo so razdelili na LLC in MAC. Ključen je ločen dostop do medija in naslavljanje. LLC - logična povezava med dvema enotoama.

some_text

Naprave na različnih medijih lahko tudi komunicirajo med seboj. 802 pokrije ožičeno in ne ožičeno. Wifi + ožičene naprave znajo komunicirati med seboj.

 

Družina 802 je sestavljena iz poddružin. - OPIS JE NA PROSOJNICAH

 

povzetek:

  • 802.3 opisuje ožičena omrežja, ethernet, ki je definiran približno tako. Na začetku gre za pretvorbo niz bitov v en bit in obratno. Ena od stvari je tudi, da ko pride to collisna, obe strani nekaj časa čakata.
  • Začne se z enicami .... i.t.d - vse to je standrad, definiran v 802.3.
  • 802.1: kaj s prejšnjim narediti (mostički in upravljanje omrežji).
  • 8024: žetonski obroči
  • 802.5: mac plast v obročih.

Imamo 3 - 802 brezžična pomembna omrežja.

  • 11 - wifi
  • 15 - pan, bluetooth
  • 14 - kabelski modemi ki so šli v pozabo
  • 16 - usmerjeno brezžično omrežje

some_text

IEEE OKVIR. različne družine imajo lahko različno število naslovov.

some_text

Kako je standardizirano razpošiljanje v IEEE

Kdorkoli je na mediju, vsi slišijo kar oddaja. Kaj narediti z okvirjem ko ga dobiš? Pri usmerjevalnikih se ve. Ko A in B dobita okvirje, se razpošljejo vsem, ker ne vejo kaj z njimi narediti.

 

Primer pošiljanja okvirja namenjeno "H" na sliki. (Obvezno glej sliko)!!:

 

 

B dobi okvir in ko B pošilje A, le ta ne ve kaj s tem okvijrjem počet. B potem pošlje naprej. C spet ne ve kaj narest, Pošlje D, do konca in na vsa vozličša vmes. Ko je srednji dobil je vedel od kje je prišlo. A se odloči, da bo B-ju poslal okvir, ta pošlje ga vsem na istem omrežju, ker pa serdnji ve, kje je, pač da ni na zgoraj desno, se vzpostavi mostiček (Da nastavimo mostiček moramo ponavadi kje obkljukati checkbox). Torej E v drugem pošiljanju okvirja ne dobi več. Ne sme priti do ciklov, potrebno jih je prepoznati in jih ukiniti.

 

IEEE 802.1 POD-DRUŽINA

  • 802.1b: upravljanje LAN/MAN (umaknjeno)
  • 802.1d: mostički na MAC plasti
  • 802.1e - 802.1g: umaknjeno
  • 802.1h: Ethernet MAC mostički
  • 802.1q: navidezni LAN(VLAN)
  • 802.1x: nadzor priključitve na mrežo (Port Based Network Access Control) -< Pomemben za nas
  • 802.1ab: postaje in nadzor dostopa do medija ter iskanje povezljivosti
  • 802.1ae: varnost na MAC plasti
  • 802.1ar: varno identificiranje enot
  • 802.1as: časovno usklajevanje in časovno občutljive aplikacije v mrežah z mostički
  • 802.1ax: združevanje povezav (link aggregation)
  • 802.1ba: audio/video sistemi z mostički

Celotna poddružina je narejena tako da deluje na LLC plasti.

NADZOR PRIKLJUČITVE V MREŽO (IEEE 802.1X)

Nadzor priključitve v mrežo je priklop v katerokoli mrežo definirano v družini IEEE 802.1x. Ta družina najbolje deluje v brezžičnih omrežjih, lahko pa se uporabi tudi v ožičenih omrežjih vendar je tukaj problem priklopa z žico.

Dostop v mrežo je neka storitev, ki omogoča uporabo drugih storitev, npr: dostop do medmrežja, brezžičnega omrežja,...
Raba te storitve je lahko prosta ali nadzorovana.
Za nadzorovano rabo storitve potrebujemo ugotoviti, kdo je morebitni uporabnik in ali ima pravico rabe storitve.
Zato moramo v našo mrežo vpeljati AAA da bo nekdo lahko varno nudil svoje omrežje nekemu odjemalcu.

Mreža bo skrbela za to da bo prestavljala okvirje -< poslala vsem, ki so priključeni na lokalni mreži. V vsebini paketa je lahko IP Paket ali karkoli drugega.

Samo avtorizirani uporabniki se lahko povežejo na omrežje.
Omejitev dostopa o omrežja preprečitve: Hudobneži, premala pasovna širina

Rabimo ključ da ga nebo vsak na svetu vedel, vedeti hočemo kdo je tisti ki se priključi na naše omrežje:

IEEE 802.1x ARHITEKTURA

Imamo 3 gradnike:

  • odjemalec (supplicant)
  • avtentikator (autenthicator)
  • avtentikacijski strežnik (authentication server)

Odjemalec se prijavi avtentikatorju, ki pri avtentikacijskem strežniku preveri njegovo avtentiteto in ali je avtoriziran za dostop do mreže.

Odjemalec in avtentikator se morata pogovarjati na tak način da tisti ki prisluškuje ne razume kaj se pogovarjata.

Protokol za dostop v omrežje RADIUS. RADIUS jim je uspelo spraviti na 2 plast -< omogočili so nekomu ki nudi dostop do mreže da lahko svoje storitve ponudi clientu.

some_text

IEEE 802.1x EAPOL

INICIALIZACIJA: avtentikator zazna novega odjemalca -< omogoči mu samo IEEE 802.1x komunikacijo(od tu naprej deluje EAP protokol).
POVABILO: avtentiktor (periodično) pošlje odjemalcu, povabilo da naj se mu predstavi. Odjemalec se predstavi avtentikatorju -< RADIUS. Avtentikator je sedaj vmesni strežnik. Avtentikacijo izvede avtentikacijski strežnik. Med avtentikatorjem in avtentikacijskim strežnikom je pomembno zaupanje!!!
POGAJANJE: se izvaja med odjemalcem in avtentikatorjem v skladu z EAP protokolom: kateri avtentikacijski protokol, izziv-odgovor.
AVTENTIKACIJA: sama avtentikacija odjemalca.
Avtentikacija -< ko je strežnik avtenticiran se omogoči dostop do mreže.

EDUORAM

Avtentikacija se dogaja na uporabnikovi domači univerzi in tako dobi dostop do našega omrežja zaradi avtentikacije na njihovem domačem omrežju (dogovor med univerzami)

Vabljena predavanja

INFORMACIJSKA VARNOST.ZIP

Vsebina:

  • NSA zgodba
  • Tehnologija zaščite
  • Revizija varnosti
  • Varnost v razvoju programskih rešitev
  • Postavitev in upravljanje varnostnih rešitev (Kako se varujemo, kaj in kako se dela, kaj je treba upoštevat, pregled)
  • Postavljamo, gledamo
  • Etični hekerji
  • Pregled slovenskih firm

OPERACIJA RDEČI OKTOBER

  • Rusi v ozadju
  • STUXNET - vsilen vdor (kako virus preneseš preko dveh usb-jev)
  • Bogatenje urana (IRAN) - vdor ZDA
  • kako spravti skozi dve ločeni coni virus, daš na usb in daš nekomu, da nese ta usb v prvo cono in še nekomu, ki ima dostop do druge (notranje) cone
  • ciljno usmerjen virus
  • operacija naj bi bila ruska, a izdelovalci kitajci

Najlažje vdreš, če človeka prosiš če te spusti noter.
Veliko virusov v priponkah elektronskih pošt.
Obstaja tržišče za izdelavo takega softwera.
Podpora za malware (kjer ti ponujajo tudi garancijo, če nisi zadovoljen)
Več mehanizmov varnosti.

NSA ZGODBA

Kaj vemo? Prisluškujejo vsemu internetu. 20 miljard dogodkov dnevno. Dosegljivost podatkov NAS analtikiom v 60 minutah. Razbili večino šifriranj. Imajo zalogo ranljivosti, ki jih uporabljajo, če želijo vdreti (nam se ni treba bati, ker ne predstavljamo nevarnosti, vdirajo v ciljne računalnike). Veliko firm počne slabe stvari za NSA (microsoft,...). NSA deli tehnologijo z drugimi državami. Imenujejo se "FIVE EYES". Članice te skupine so ZDA, Kanada, Velika Britanija, Avstralija, Nova Zelandija.

ZMOŽNOSTI NSA

Razbita večina šifriranj na Internetu. Dogovor za prisluškovanje s Telco operaterji v ZDA in Angliji. Mrežne naprave z vključenim prisluškovanjem. Backdoor in oslabljena implementacija šifriranja (DES dolžina ključa, CryptoAG (NSA pomagal razbiti), LOTUS (prva polovica fiksna, druga polovica spremenljiva), _NSAKEY v Windows NT, SHA-3 (tekmovanje, dejansko slabši), ...). Napad na Tor omrežje, tor omrežje, omogoča anonimno brskanje po internetu. (iskanje Tor uporabnikov, kdo so tor uporabniki

  • Firefox ranljivosti -< FOXACID). Hecking, npr. NSA+UK (evropske inštitucije, fizični vdor, postavl naprave)
  • BelgaCom (EU institucije). FOXACID: bogata zbirka za izrabo ranljivosti, uporabijo če je kdo zanimiv za njih, imajo heke, ki še niso znani. NSA lahko naredi marsikaj.

ŠIFRIRANJE DELA - (odvisno od) IMPLEMENTACIJE

Men-in-the-middle: QUANTIM, ko je uporabnik hotel na google, je bil NSA v ozdaju (lažna predstava).

Šifriranje je samo po sebi varno. Odvisno pa je kako si jih firme implementirale.
Vsi veliki telekomi sodelujejo z NSA.

KAJ PA MI

Ni razloga za preplah, NSA nima časa za vsakega od nas.
Kako se zavarujemo oziroma kako ostanemo varni pred NSA (Bruce Schneier):

  • Skrij se v mreži (TOR)
  • Šifriraj vse svoje komunikacije (zbirajo, ne razbijajo)
  • Boj se komercialnih izdelkov
  • Zaupaj
  • Bolje simetrična kriptografija
  • Diskretne log datoteke

TEHNOLOGIJA ZAŠČITE

INFORMACIJSKA ZAŠČITA:
VČASIH (Trdnjava) -< dobro definirana varnostna področja, močna aščita med posameznimi področji, definirani ozki in dobro nadzorovani prehodi, majhna prepustnost prehodov, zaupanje notranjosti, nezaupanje zunanjosti
DANES (Letališče, sodoben IT) -< različne vrste uporabnikov, različne pravice in dostopi, velik pretok uporabnikov, različne vrste storitev, velika varnostna izpostavljenost, zagotovitev varsnoti: različne varnostne cone in tokovi potnikov
ŠIFRIRANJE (preskočili, to bomo obdelali na rednih predavanjih)

UPORABNIŠKA GESLA

Namenjena so za zaščito podatkov. Kako izbrati geslo. Dost velika dolžina in kompleksnost. Kje se gesla uporabljajo oziroma uporaba gesel. Za shranjevanje, različno namenska gesla (doma, služba, banka, socialno omrežje). Postopki ob izgubi gesla. Skupinska gesla. Gesla, ki so pogosta v Sloveniji (123456, 111111, geslo, slovenija, 654321, adidas, lasko, ...). Najbolj pogosta gesla na googlu (ime hišnega ljubljenčka, pomembni datumi, datum rojstva bližnje osebe, ime otroka, rojstni kraj, ...).

REVIZIJA VARNOSTI

Računalniški sistemi v Sloveniji.
Tipične ranljivosti v IKT infrastrukturi.
1. Nepodprti strežniški opreacijski sistemi, vdor v XP je lahek
2. Niso naredili patcha (ni bila storejna nadgradnja) programske opreme
3. Sistemi za upravljanje vsebin (CMS) ni nadgrajen (če želiš vdreti, se fokusiraš na to točko)
4. Nepotrebne storitve (NTP, FTP, RDP, VNC, DB,...), vklopljene, ampak jih ne uporablja
5. Dosegljivi testni/razvojni strežniki
6. Privzeta gesla za administracijo oz. uporabo storitev

Glavne ranljivosti pri varnostnih pregledih v Sloveniji (aplikacije)
1. Nepravilna avtorizacija dostopov do podatkov (slabo narejena avtorizacija)
2. Neustrezna avtentikacija uporabnika (kako se uporablja gesla)
3. XXS (crso-site scripting)
4. Neoptimalno upravljanje uporabniške seje
5. Konfiguracija in posodobljenost HTTP strežnika

MAN-IN-THE MIDLE NAPAD (uporablja NSA)

  • ARP spoofing (priklop na mrežo, preko ARP ukazov, da smo pravi, promet preko tebe)
  • Le client avtentikacija (problem)
  • Zasebna Wifi točka
  • Zasebna bazna postaja (najbližja, sam postaviš in vidiš vse)

Kako se zaščitimo, certifikati pomagajo. Problem certifikatov (obojestranska potrditev).

VARNOSTNI PREGLED (Etični heking)

  • Testiranje iz Interneta ali iz postaje
  • Testiranje zunanjega napadalca ali zaposlenega
  • Brezžične ali žične naprave
  • Mobilne naprave
  • Slepo ali znano okolje
  • Spletni strežnik? Aplikacija?
  • Izvorna koda
  • Denial of Service(Dos, DDos)
  • Socialni inženiring

OSNOVNI PRINCIPI VARNOSTI

Deminov krog, zaupnost, celovitost, razpoložljivost. Pri varnosti je zelo pomembno ali stvar dela.
Delitev odgovornosti (ena oseba ne sme narediti do konca, mora biti več oseb, pregled, odobritev).
Princip štirih oči. Princip najmanjšega privilegija (ravno toliko pravic, da lahko opravlja svoje delo).
Princip čebule-Globinska obramba -< več varnostnih mehanizmov, več nivojev. Najšibkješi člen. Umri varno. Varnostne cone.

ARNES Praktični vidiki upravljanja

ARNES Praktični vidiki upravljanja

Izobraževalna omrežja

  • Namen
  • Osnovne storitve
  • Inovativne TK

Storitve Arnes

  • IPv4, IPv6, multicast, namenske povezave
  • Eduroam
  • Multimedija
  • VoD
  • Gostovanje
  • E-pošta, CMS, virtualni stržniki
  • NGI: Nacionalna Grid Iniciativa
  • Grid computing za upoorabnike
  • Si-Cert, digitalna strežniška potrdila
  • Dodatne storitve
  • Filesender
  • Velike datoteke
  • Planer
  • NTP
  • FTP
  • usenet
  • IRC
  • SIX
  • Registrcija domen + DNS
  • Podpora

Eduroam

  • Varnost
  • Varovanje gesel
  • TTLS tunel
  • Le domača organizacija (fakulteta) vidi gesla
  • Spremljanje prometa
  • AAA

AII

  • Prijava pri domači organizaciji

Hierarhija organizacij

  • Géant - evropsko omrežje
  • 500gbs do Hrvaške in Avstrije
  • CERN Atlas - 15 milijonov GB na leto

Omrežje ARNES

  • Prenos IP
  • IPv4, IPv6 + QoS
  • Povezave točka-točka
  • zahtevni projekti
  • redundanca
  • Oddaljeni koncerti

xWDM

  • Multimode vlakno
  • Multiplekserji
  • Različne barve - različne povezave
  • DWDM za večje kraje
  • Dražji
  • CWDM za manjše kraje
  • Cenejši

Upravljanje

  • Nekaj tisoč naprav
  • Velika raznolikost
  • Upravljanje do usmerjevalnika organizacije
  • QoS
  • Varnost
  • Področja upravljanja
  • Konfiguracija
  • Stabilnost
  • Varnost
  • Zmogljivost
  • Beleženje
  • Orodja
  • Shranjevanje/spreminjanje konfiguracije
  • Spreminjanje na večih mestih
  • Zbiranje podatkov
  • Topologija omrežja
  • Zaznavanje problemov
  • Odkrivanje vzrokov
  • Ping, traceroute
  • ssh, telnet
  • SNMP
  • Syslog
  • Prosto dostopno programje
  • Rancid
  • SmokePing
  • Cacti
  • ...
  • Lastne skripte

Upravljanje varnosti

  • Zaščita naprav
  • ACL, požarni zidovi
  • Zaščita omrežij
  • Dnevniški zapisi
  • Syslog, Netflow

Diagnosticiranje

  • ID-10T error
  • OS
  • Aplikacija
  • Omrežje
  • Lokalizacija
  • Ping in traceroute nista dovolj
  • Strežniki lahko ping ignorirajo
  • QoS
  • Ali deluje na vseh stopnjah
  • VEČ PODATKOV
  • Pasivne/aktivne meritve
  • Meritve na različni segmentih
  • Znotraj domene
  • Znotraj organizacije
  • Med vozlišči
  • Problematika večoperaterskega okolja
  • Različni operaterji slabo sodelujejo
  • Perfsonar
  • Za akademska omrežja
  • Periodične meritve shranjene v bazah
  • Dostopno vsem
  • Tudi testni promet

Kadri

  • Telekomunikacije
  • Internetne komunikacije
  • Optične komunikacije
  • Omrežne tehnologije
  • Nadzor in upravljanje omrežij
  • Računalništvo
  • Sistemska podpora
  • Programiranje (Java, PHP, Perl)
  • Vodenje projektov, tinsko delo
  • Angleščina
  • "Common sense"

VAJE

Cilj vaje:

Postavitev dveh računalnikov z internetnim dostopom in medsebojno vidnostjo, bodisi z omrežnim adapterjem postavljenem na notranje omrežje, bodisi na bridge (v kolikor seveda uporabljamo Oracle-ov VirtualBox). Nato bo potrebno s pomočjo webbrowserja in SNMPD daemon-a brskati po podatkih v tujem računalnikih.

Potrebe:

Mer po brskanje po podatkih potekalo znotraj webbrowser-ja, potrebuje vsaj eden izmed postavljenih računalnikov imeti grafično okolje. (Tukaj lahko uporabimo diska pripravljena v 3. predvaji, to sta maliNetworkManager ali maliBrezNetworkManager), lahko pa seveda postavimo novo svojo virtualko z grafičnim okoljem.

Koraki:
[Računalnik, čigar podatki bodo brani]

Če hočemo da lahko tuj računalnik dostopa do naših računalniških podatkov, je potrebno spremeniti datoteko ki se nahaja na /etc/snmp/snmpd.conf. Ko datoteko odpremo, spremenimo agentAddress udp:161 s čimer omogočimo našemu daemon dostop do samega okolja. Sedaj potrebujemo še dovoljenje, da računalniki, tuji se ve, lahko dostopajo do čimveč podatkov znotraj našega. Za slednji korak v .conf datoteki poiščemo "rocommunity ...", kjer dopišemo naslednje "rocommunity IME_SKUPINE, kjer lahko za ime skupine damo "public".
[Računalnik, ki bo dostopal do podatkov sosednjega]

Ko postavimo/uredimo potrebno se sprehodimo po naslednjih korakih:
- namestimo strežnik SNMP z ukazom "apg-get install snmp snmpd snmp-mibs-downloader" - pregledamo kateri podatki so na voljo prek SNMP na sosednjem računalniku, beremo lahko z "snmpwalk -v1 -c IME_SKUPINE -m -IP_NASLOV (-m tukaj je za bolj človeški izpis) - nato namestimo munin ali cacti, katera dva sta zgrajena na podlagi rrdtool, primernem za risanje grafov, ukaz je apt.get install munin/cacti Dodatne opombe:

V kolikor namestimo cacti, se bo lokalni strežnik nahajal na http://localhost/cacti/ in v nasprotnem primeru uprabe munin-a na http://localhost. Potrebno je tudi poskrbeti, da bo syslog beležil vse dogodke na sosednjem računalniku (rsyslog). Kar dosežemo z konfiguracijo datoteke /etc/rsyslog.conf na obeh oziroma vseh računalnikih. Tukaj odstranimo komentar pri potrebnih stvareh, kot so input TCP serverRun ... in dopišemo *.*@IP_NASLOV.

Po spremembi nastavitev storitve SNMP, znotraj SNMPD.CONF, je potrebno omenjeno storitev ustaviti ter ponovno zagnati, da tako ponovno prebere le te nastavitve, eden izmed ukazov za slednje je "service snmpd restart/reload".

VAJE 11

Naloga:
1. Usposobi VPN do med virtualkami z uporabo skupne skrivnosti (static key)
2. usposobi VPN do soseda z uporabo skupne skrivnosti
3. poskrbite, da bo sosed dostopal do obeh virtualk
4. usposobite openvpn z javnim/zasebnim ključem

Namestitev OpenVPN: sudo apt-get install openvpn

DOKUMENTACIJA: /usr/share/doc/openvpn PRIMERI: /usr/share/doc/openvpn/examples

Datoteko s skupno skrivnostjo ustvarimo z: openvpn --genkey --secret BLA.key

Nastavitve v serverski konfiguraciji: dev tap (ali tun) - tap pomeni da gre za Ethernet pakete, tun pa pomeni da gre za IP pakete secret BLA.key

Nastavitev na klientski strani: dev tap ali tun remote secret BLA.key

Za obe konfiguracijski datoteki (klient/server) si naredi kopijo iz primerov konfiguracijskih datotek (/usr/share/doc/openvpn/examples/sample-config-files) in jo nato popravljaj po zgornjih navodilih oz. po želji.

openvpn zaženemo z ukazom: openvpn settings.conf - pri čemer je datoteka settings.conf konfiguracijska datoteka za openvpn

VAJE 12

Na vajah smo vzpostavili VPN med računalnikoma, in sicer strežnik in odjemalec ter Certificate Authority (CA), katero smo uporabili za podpis certifikatov na obeh straneh. Za prenašanje ključev smo uporabili asimetrično kriptografijo. Postavimo 3 VM ter jih povežemo v omrežje npr. vse tri v "Bridge" način.

Za primer vaj sem uporabil distribucijo OS Linux Debian ter poimenoval virtualke:

"CA" - računalnik certifikatne agencije

"S" - (server) računalnik s strežnikom VPN

"C" - (client) računalnik s katerim se bomo povezali na VPN

1. Namestimo openvpn in skripto za pomoč pri kreiranju certifikatov (easy-rsa): apt-get install openvpn easy-rsa

2. Ustvarimo direktorij npr. z imenom "ca" kamor se kreirajo certifikati s pomočjo skripe easy-rsa:

make-cadir ca

3. uredimo datoteko ~/ca/vars

vi ~/ca/vars

Nastavimo želene parametre

  • export KEY_CN = Common name, unikaten
  • export KEY_NAME = Ime
  • export KEY_OU = Organizational unit

4. Poženemo ukaz source

source ~/ca/vars

5. Poženemo skripto za brisanje prej obstoječih ključev:

~/ca/clean-all

6.1. Na virtualki "CA" poženemo skripto build-ca, ki zgenerira ključ ~/ca/keys/ca.crt torej zgradi avtoriteto za certifikat
6.2 Na virtualki "S" poženemo skripto build-key-server --csr server, ki zgenerira csr datoteko ~/ca/keys/server.csr (zahtevek za podpis)
6.3 Na virtualki "C" poženemo skripto build-req client, ki zgenerira csr datoteko v mapi ~/ca/keys/client.csr (zahtevek za podpis)

7. Obe .csr (certificate signing request) datoteki (na strežniku in odjemalcu) pošljemo na računalnik CA, kjer oba ključa podpišemo z ukazoma:

scp ~/ca/keys/client.csr username@IP_CA:
scp ~/ca/keys/server.csr username@IP_CA:
sign-req client.csr (.csr odjemalca)
sign-req --server server.csr (.csr strežnika)

7.1. Kreirana certifikata (datoteki .crt) vrnemo lastnikoma, client.crt pošljemo na računalnik C ter server.crt na računalnik S

7.2. Pošljemo še datoteko ca.crt iz računalnika CA na oba računalnika (S in C)

scp ~/ca/keys/ca.crt username@IP_CLIENT:
scp ~/ca/keys/ca.crt username@IP_SERVER:

8. Na računalniku S poženemo ukaz build-dh s katerim ustvarimo (Diffie-Hellman) število za izmenjevanje skrivnosti.

8.1 V direktorij ~/ca/keys skopiramo datoteko /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz , ki jo nato odpakiramo z ukazom gunzip server.conf.gz. Datoteko odpremo s tekstovnim urejevalnikom, ter uredimo parametre, ki se nanašajo na imena .crt in .key datotek (certifikatov).

8.2 Zaženemo VPN strežnik s tem smo tudi končali konfiguracijo VPN strežnika

openvpn --config server.conf

9. Na računalniku C v direktorij ~/ca/keys skopiramo datoteko /usr/share/doc/openvpn/examples/sample-config-files/client.conf. Datoteko odpremo s tekstovnim urejevalnikom, ter uredimo parametre, ki se nanašajo na imena .crt in .key datotek (certifikatov). Ter nastavimo remote IP (naslov strežnika)

9.1 Zaženemo VPN clienta z ukazom

openvpn --config client.conf

VAJE 13

1. Povleci video z youtuba
2. Predvajaj video prek http (stream)
3. Predvajaj video prek rtp (multicast)
4. Prepošlji sosedov video
5. Uporabi vlc ya predvajanje videa brez GUI

 

1. uporabimo lahko skripto youtube-dl, ki je na debianu, vendar neha delovati, kadar youtube zamenja api. lahko uporabimo rudi VLC player: v VLC-ju izberemo play network stream in vstavimo link do videa v tools izberemo View media information in skopiramo link do video v brskalnik. izberemo shrani kot.

2. V vlc-ju izberemo media-< stream, next, izberes http, nastavis pot(lahko pustiš prazno), in voila. preveris tako, da odpres se eno instanco vlc in open network stream na
http://localhost:PORTNUMBER/

3.v Vlc-ju izberemo media-<stream, ftp mpeg transport, izberemo nek multicast naslov(dobimo na iana.org/assignments/multicast-addresses/multicast-addresses.xhtml), kliknemo stream, preverimo enako kot pri http, zamenjamo naslov.

4. Gremo na media-<stream, izberes network, vneseš naslov sosedovega videa, potem ponoviš točko 2 oz. 3.

5. v terninalu vpišemo ukaz "vlc VIDEO_FILE"