Server: mis see on ja kuidas see töötab

Iga kord, kui avad veebilehe, saadad e-kirja või teed otsingu, suhtleb sinu seade mõne serveriga. Serverid on interneti ja ettevõtete IT-süsteemide selgroog, kuid paljude jaoks jääb ebaselgeks, mis server täpselt on ja mille poolest see tavaarvutist erineb. Selles artiklis selgitame serveri olemust, liike, riistvara ja operatsioonisüsteeme.

Mis on server?

Server on arvutisüsteem või selles töötav tarkvara, mis pakub teatud infoteenust sellega ühendatavatele klientidele. Näiteks veebiserverist saab lugeda veebilehti ning failiserver võimaldab faile saata ja vastu võtta. Serveri kliendiks võib olla ka teine server – näiteks veebiserver saab kuvatavad andmed andmebaasiserverist. Enamasti osutavad serverid teenuseid interneti kaudu.

Arvutite puhul võib “server” tähendada:

  • arvutiprogrammi, mis teenindab teiste programmide ehk klientide vajadusi, mis võivad töötada samas või teises arvutis;
  • füüsilist arvutit, mis käitab üht või mitut teenust teiste võrgus olevate arvutite jaoks;
  • tarkvara ja riistvara süsteemi, nagu andmebaasiserver, failiserver, e-posti server, prindiserver või ajatempliserver.

Lihtne näide: kui sisestad päringu otsingumootorisse, saadetakse see interneti kaudu serveritesse, kus on talletatud asjakohased veebilehed, ning tulemus saadetakse serverist tagasi sinu arvutisse.

Klient-server mudel

Server on osa klient-server mudelist: server pakub andmeid, ressursse või teenuseid teistele arvutitele, mida nimetatakse klientideks. Üks server võib teenindada paljusid kliente ja üks klient võib kasutada mitut serverit. Suhtlus toimub enamasti päringu ja vastuse põhimõttel: klient saadab päringu, server teeb mingi toimingu ja saadab tagasi vastuse, tavaliselt tulemuse või kinnituse. Tüüpilised serverid on andmebaasi-, faili-, e-posti-, prindi-, veebi-, mängu- ja rakendusserverid.

Kust sõna “server” pärineb?

Ingliskeelse Wikipedia järgi pärineb sõna “server” kasutus arvutinduses järjekorrateooriast, kus seda kasutati 20. sajandi keskel. Arvutinduses esineb termin vähemalt 1969. aasta dokumendis RFC 5, mis on üks varasemaid interneti eelkäijat ARPANET-i kirjeldavaid dokumente. Seal eristati kahte tüüpi hoste: “server-host” ja “user-host”.

Milleks servereid kasutatakse?

Serverid tagavad põhilised võrguteenused – kas suure ettevõtte või asutuse sisevõrgus või erakasutajatele interneti kaudu. Teoreetiliselt on server iga arvutiseeritud protsess, mis jagab ressursse ühe või mitme kliendiga. Riistvaralises tähenduses mõeldakse serveri all tavaliselt arvuteid, mis on ette nähtud rakenduste majutamiseks suure koormusega võrgukeskkonnas.

Serveri riistvara

Paljud personaalarvutid oleksid piisavalt võimsad serveriks, kuid spetsiaalne serverarvuti on tootlikus keskkonnas sobivam. Sellel võib olla kiirem protsessor, suurem ja kiirem muutmälu ning mitu suurt kõvaketast. Kuna serveritele pääsetakse ligi võrgu kaudu, ei ole neil tingimata vaja kuvarit ega sisendseadmeid ning paljudel puudub graafiline kasutajaliides.

Serverid töötavad tavaliselt pikka aega katkestusteta, seega on riistvara usaldusväärsus ülioluline. Isegi lühike katkestus võib maksma minna rohkem kui süsteemi ostmine – näiteks väärtpaberiturul. Seetõttu kasutatakse serverites:

  • veaparanduskoodiga mälu, mis tuvastab ja parandab vigu;
  • RAID-kettamassiive;
  • riistvaralist liiasust – mitut toiteplokki ja kõvaketast, et ühe rikke korral oleks teine kohe olemas;
  • puhvertoiteallikat, et töö jätkuks ka elektrikatkestuse ajal;
  • käigult vahetatavaid komponente, mida saab vahetada serverit välja lülitamata;
  • võimsamaid ventilaatoreid või vesijahutust.

Serveriruum ja serverikeskus

Kuna serverid on lärmakad, vajavad stabiilset toidet, head internetiühendust ja suuremat turvalisust, paigutatakse need tavaliselt serverikeskustesse või serveriruumidesse. Serverid eraldavad palju soojust, mistõttu on serveriruumid varustatud konditsioneeridega. Serverite korpused on madalad ja laiad, et serveririiulisse mahuks mitu seadet üksteise kohale. Erinevalt tavaarvutitest saab servereid seadistada, sisse ja välja lülitada ning taaskäivitada eemalt, kasutades ribavälist haldust.

Klastrid ja pilv

Suurema võimsuse vajadusel ühendatakse serverid kobararvutiks ehk klastriks. Veelgi suuremate võimsuste jaoks kasutatakse võrkraalimist. Serverite virtualiseerimisega jõuti 21. sajandi alguses pilvandmetöötluseni.

Serveri operatsioonisüsteemid

Serveritele mõeldud operatsioonisüsteemidel on omadused, mis sobivad serverikeskkonda:

  • graafiline kasutajaliides puudub või on valikuline;
  • riist- ja tarkvara saab osaliselt uuendada ilma taaskäivitamiseta;
  • täiustatud varukoopiate tegemise võimalused;
  • paindlik võrguvõimekus ja kõrgendatud turvalisus.

Need süsteemid suhtlevad riistvaraga sensorite kaudu ning suudavad tuvastada näiteks ülekuumenemise või ketta rikke ja sellest haldajale teada anda. Kuna servereid haldavad tavaliselt kvalifitseeritud insenerid, on nende operatsioonisüsteemid suunatud pigem stabiilsusele ja jõudlusele kui kasutuslihtsusele. Levinumad serverioperatsioonisüsteemid on UNIX-i põhised süsteemid, BSD-tootepere, Linuxi distributsioonid ning Microsoft Windowsi serveriversioonid.

Allikad

SSL ja TLS: kuidas veebiliiklus krüpteeritakse

Kui veebilehe aadressiribal on tabaluku ikoon ja aadress algab “https”, kasutab leht krüpteeritud ühendust. Selle taga on protokoll, mida paljud tunnevad nime all SSL, kuigi tänapäeval kasutatakse selle järeltulijat TLS-i. Selles artiklis selgitame, mis on SSL ja TLS, kuidas need töötavad ning miks on SSL-sertifikaat iga veebilehe jaoks oluline.

Mis on SSL ja TLS?

Transpordikihi turbeprotokoll (inglise keeles Transport Layer Security, TLS), varem tuntud kui turvasoklite kiht (Secure Sockets Layer, SSL), on krüptograafiline protokoll, mis turvab võrgusuhtlust, näiteks internetis. TLS krüpteerib andmeid suhtluskanali otspunktides ehk otsast lõpuni.

Protokolli eri versioone kasutatakse veebibrauserites, meiliklientides, kiirsuhtlusprogrammides, IP-kõnedes ja mujal. TLS on kirjeldatud IETF-i standardis RFC 5246, mis põhineb varasemal Netscape’i välja töötatud SSL-i kirjeldusel. Sõna “SSL” on igapäevakeeles siiski jäänud kasutusse, eriti sertifikaatidest rääkides.

SSL-ist TLS-ini: lühike ajalugu

Ingliskeelse Wikipedia järgi töötas algsed SSL-protokollid välja Netscape, et lisada oma Netscape Navigatori veebibrauserile HTTPS-protokoll. SSL-i versiooni 1.0 ei avaldatud kunagi tõsiste turvavigade tõttu. Versioon 2.0 avaldati 1995. aasta veebruaris, kuid selles leiti kiiresti mitmeid vigu, mistõttu protokoll kujundati ümber ja 1996. aastal ilmus SSL 3.0.

TLS 1.0 määratleti 1999. aasta jaanuaris standardis RFC 2246 kui SSL 3.0 uuendus. Praegune versioon on TLS 1.3, mis määratleti 2018. aasta augustis. Vanad SSL-i versioonid on ametlikult kasutusest kõrvaldatud: SSL 2.0 aastal 2011 ning SSL 3.0 2015. aasta juunis, pärast seda kui 2014. aastal leiti, et see on haavatav POODLE-rünnakule.

Miks SSL/TLS vajalik on?

TLS-i peetakse vajalikuks eelkõige ühenduste kaitsmiseks vahemeherünnakute eest, kus keegi võib kahe poole suhtlust jälgida, kinni pidada või isegi muuta. Selline oht võib tekkida pahatahtliku või kompromiteeritud kohtvõrgu kaudu, sealhulgas Etherneti- või Wi-Fi-ühenduses.

TLS-il ja sarnastel protokollidel on kolm eesmärki:

  • Krüpteerimine – põhiline kaitse selle eest, et vahemees andmeid jälgiks.
  • Autentsus – ühe või mitme osapoole isiku tõendamine teistele.
  • Andmete järjepidevus – kinnitus, et vastuvõetud andmed on täielikud ja muutmata.

Tasub meeles pidada, et ükski ühendus ei ole lõplikult ja täielikult turvaline – turvaprobleemid võivad tekkida ka mujal, näiteks veebilehe enda andmebaasis.

Kuidas TLS töötab?

TLS vajab toimimiseks kolme tüüpi algoritmi:

  • asümmeetrilist krüptimisalgoritmi, näiteks RSA;
  • sümmeetrilist krüptimisalgoritmi, näiteks AES;
  • räsifunktsiooni, näiteks SHA-2.

Algoritme tuleb aeg-ajalt välja vahetada. Näiteks SHA-1 kuulutati 2010. aastal NIST-i poolt ebaturvaliseks pärast 2005. aastal avastatud turvaauku ning voopõhine RC4 kuulutati ebaturvaliseks 2015. aastal. Ka krüptovõtmete pikkus on aja jooksul kasvanud: RSA võtmed olid algul 1024-bitised, hiljem 2048-bitised.

Ühenduse loomine lihtsustatult

  1. Kasutaja loob ühenduse TLS-serveriga, näiteks panga või e-poe HTTPS-veebilehega.
  2. Brauser teatab, millist TLS-i versiooni ja milliseid algoritme ta toetab.
  3. Server saadab RSA-ga krüpteeritud AES-võtme.
  4. Ülejäänud suhtlus toimub AES-iga krüpteeritud andmevoos, sest tervete veebilehtede krüpteerimine RSA-ga oleks liiga aeglane.

Mis on SSL-sertifikaat?

Ühendus saab olla usaldusväärne ainult siis, kui serveri saadetud sertifikaat on usaldatud või usaldatud osapoole allkirjastatud. RSA algoritm loob võtmepaari: avaliku võtme, mida teised võivad teada, ja privaatvõtme, mida omanik peab hoidma saladuses.

TLS-sertifikaat sisaldab omaniku avalikku võtit ja teavet omaniku ning sertifikaadi otstarbe kohta, näiteks seotud domeeninime. Sertifikaat on alati allkirjastatud – kas sertimisasutuse (CA) poolt või sertifikaadi enda võtmega (self-signed).

Sertifikaadid ise ei ole TLS-i osa, vaid eraldiseisev standard X.509. Seda kasutatakse ka teenustes, mis TLS-i ei kasuta, näiteks Eesti ID-kaardiga failide allkirjastamisel.

Sertimisasutused ja usaldus

Sertimisasutused on peamiselt kommertsfirmad. Märtsi 2016 seisuga olid turuosa järgi suurimad Symantec, GoDaddy, Comodo, GlobalSign ja DigiCert. Ükski keskne asutus neid ei kontrolli – tarkvara loojad tarnivad iseseisvalt nimekirju usaldatud juursertifikaatidega. Kui brauser satub lehele, mille sertifikaadiahel ei sisalda usaldatud sertifikaati, näeb kasutaja hoiatust. Eestis on üks sertimisasutusi Sertifitseerimiskeskus (SK), mis on ka üks ID-kaardiga tegelevaid partnerettevõtteid.

Nõuanded veebilehe omanikule

  • Kasuta oma veebilehel kehtivat sertifikaati, et külastajad ei näeks brauseri hoiatust.
  • Jälgi sertifikaadi aegumist ja uuenda see õigel ajal.
  • Väldi vananenud protokolliversioone ja algoritme, mis on tunnistatud ebaturvaliseks.
  • Hoia privaatvõtit turvaliselt – selle lekkimine muudab sertifikaadi kasutuks.

Allikad