X-tee v6 turvaserveri paigaldamine ja kasutamine

Allikas: Kuutõrvaja

X-tee versioon 6 turvaserveri paigaldamise ja kasutamise juhend.

Osa juhendis toodud programmidest ja viidetest on leitavad peatüki lõpust.

X-tee oluline info

See abimaterjal on aastast 2017 ja vajab ajakohastamist. Kindlasti on siin palju väärt infot aga uuenenud info jaoks külasta RIA abilehte - https://abi.ria.ee/xtee/et

X-teega liitumine, sertifikaatide taotlemine ning alamsüsteemide kirjeldamine ja haldus toimub kõik veebilehel - https://x-tee.ee/

X-tee keskkonnad

X-teel on kolm keskkonda või siis põhimagistraali ;) - arendus, test ja tootekeskkond. Paigaldusprotsess nendel on ühine, oluline on erinevus, et arendus ja test-keskkondasid on võimalik paigaldada ja kasutusele võtta rahakuluta, tootekeskkonna sertifikaatide eest tuleb SK-le maksta raha.

X-tee turvaservereid enam (alates v6) RIHAs ei registreerita. Küll tuleb alamsüsteemid (lihtsamalt öeldes infosüsteemid, mis X-teel suhtlevad) registreerida RIHAs.

X-tee versioon 5 pealt üleminekul versioon 6-le tuleb teha RIHAs (https://riha.eesti.ee) uus kanne spetsiaalselt X-tee v6 alamsüsteemi jaoks.

Ubuntu paigaldus

X-tee v6 töötab 2017. aasta mai seisuga Ubuntu 14.04 LTS 64-bitise versiooni peal. Rangelt soovituslik on valida viimane saadaolev "trusty" versioon, milleks täna on 14.04.5.

Ubuntu paigaldus on tavapärane, seda siin ei juhendis ei kaeta.

Kindlasti tee endale SSH ligipääs ja anna endale sudo õigused ning pane külge kõik IP aadressid ja võrgud, mis sinu turvaserveril vajalikud.

NB! Alates 2019 on kasutusel juba X-tee versioon 6.20 ja toetatud ka Ubuntu 18. Paigaldusjuhend on jäetud hetkeseisuga ajakohastamata ja on tehtud 2017.aasta seisuga!

Ubuntu tulemüüri paigaldus

Kirjatüki autor soovitab kasutada nt Firehol tarkvara, et turvaserveri ühendusi piirata. Fireholi paigaldamiseks kasuta käsku:

sudo apt-get install firehol

Fireholi seadistamist see kirjatükk ei käsitle.

Turvaserveri tarkvara paigaldus

Kirjatüki autori seisukoht on, et ka test-keskkonnas võiks kasutada stabiilset repositooriumi - vastasel juhul võid sattuda hoopis X-tee koodi testijaks, mitte oma rakenduse testijaks. :) Loomulikult on test-repositooriumil oma koht ja kui keegi mõtleb, et seda võiks kasutada, siis selline võimalus on olemas.

Ettevalmistused turvaserveri tarkvara paigalduseks

Veebikasutaja

Veebikasutaja on kasutaja, kellele õigustes hakkavad kõik vajalikud X-tee protsessid tööle ja kellel on õigus veebiliidesesse sisse logida. Sobiv kasutajanimi vali ise.

Näiteks:

  sudo adduser xtee

Repositooriumid

Lisa näiteks /etc/apt/sources.list.d/xroad.list faili järgnevad read, et siduda ennast X-tee repositooriumiga.

Vali vastavalt soovile kas toote (live) repo või test-repo.

NB! Kui paigaldad test- või arendus-x-tee turvaserverit, siis võid ka toote repositooriumi kasutada, kuna seal on stabiilne kood!

# x-road ametlik live repo
deb http://x-tee.ee/packages/live/xroad trusty main
# x-road ametlik testrepo
#deb http://x-tee.ee/packages/test/xroad trusty main
deb http://ppa.launchpad.net/nginx/stable/ubuntu trusty main
deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main

Lisa signeerimisvõti

curl http://x-tee.ee/packages/live/xroad/repo.gpg | sudo apt-key add -
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 00A6F0A3C300EE8C
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EB9B1D8886F44E2A

Turvaserveri tarkvara paigaldus

sudo apt-get update
sudo apt-get install xroad-securityserver

Paigalduse käigus küsitakse nii IP-sid kui CN nimesid self-signed sertifikaadi jaoks. Kuna seda sertifikaati kasutatakse vaid veebiliidese jaoks, siis on võimalik siin ka soovi korral kasutada usaldatud ahelast tulnud sertifikaadi (Digicert, Comodo, Letsencrypt vmt pakkuja), aga võib vabalt jätta ka vaikesertifikaadi.

Pärast paigaldust veendu, et saad ligi aadressile https://SINUIP:4000, et turvaserverit edasi hallata.

Turvaserveri esialgne seadistus

Logi sisse X-tee turvaserveri admin-liidesesse aadressil https://SINUIP:4000. Kasuta loodud kasutajanime ja parooli.

Nüüd on oluline koht sellel, mis magistraalil sinu turvaserver sõitma hakkab. Vastavalt sellele tuleb valida konfiguratsiooniankur.

Ankrud on kättesaadavad RIA X-tee keskkonna lehelt: https://www.ria.ee/ee/x-tee-keskkonnad.html

Artikli kirjutamise hetkel on võimalik valida nii .bdoc kui .xml failide seast. (.bdoc konteiner sisaldab seda sama .xml faili, allkirjastatud tänase RIA peadirektori Taimar Peterkop'i nimel).

Turvaserveri uuendamine

Kui juba turvaserver paigaldatud ja soov uuendusi teostada, siis ametlik soovitus on teha uuendused alati "distu-upgrade" meetodiga.

sudo apt-get update
sudo apt-get dist-upgrade

See garanteerib pakkide õige paigalduse ja valiku.

Loomulikult võiks alati olemas olla snapshot ja/või varukoopia töötavast masinast. :)

Turvaserveri kliendid ja nende lisamine

Enne, kui üldse midagi X-tee turvaserveris teha on võimalik, on kõigepealt vaja lisada esimene klient (kelle nimele X-tee turvaserver kuulub).

Klientideks on enamasti asutused, mida kategoriseeritakse nii (liikmeklassid):

  1. COM - Eesti äriühingud
  2. NGO - Eesti sihtasutused ja mittetulundusühingud
  3. GOV - Eesti asutused
  4. NEE - teiste riikide asutused/ettevõtted

Võimalik on kasutada globaalset otsingut, või siis käsitsi täita lahtrid:

  1. Member Name: Kui Member Class ja Member Code on õigesti täidetud, siis ilmub Member Name automaatselt.
  2. Member Class: vali liikmeklass
  3. Member Code: Äriregistri kood
  4. Subsystem code: < vajalik täita vaid alamsüsteemi lisamisel >

HSMi tugi

Osaliselt on käesolevas juhendis kaetud kaks lahendust: HSM USB-seadmega ja HSM LAN-seadmega. Konkreetne lahendus võib suuresti sõltuda HSM seadme tootjast ja teiepoolsest keskkonna ülesehitusest.

Kõigepealt tuleb paigalda X-tee lisakomponent, mis võimaldab HSMide kasutamise:

sudo apt-get install xroad-addon-hwtokens

HSM USB

Kirjatüki HSM USB tugi on tehtud SafeNet eToken 5100 seadme näitel.

SafeNet USB pulk on vaja kõigepealt oma arvutis initsialiseerida ja konfigureerida kasutades Safenet Authentication Client (sac) tarkvara. Tarkvara töötab nii Windows, Linux kui ka Mac OS X (JAA!) operatsioonisüsteemil.

Juhendis kasutati Mac OS X versiooni 10.12.4 ja sac versiooni 9.1. SK.ee lehelt on võimalik alla laadida tarkvara

Avanenud aknast tuleks valida "Advanced View" ja tokeni peal teha parem klikk ja sealt valida "Initialize token".

Hsm-sac-advanced-view.png

NB! Initialize kustutab kogu eelneva info tokeni pealt!

Initsialiseerimise protsess on suhteliselt lihtne - vaja on seadistada Tokeni parool (mida on vaja sisestada, kui X-tee tarkvara soovib HSMi kasutama hakata).

Lisaks on võimalik seadistada ka admin-parool, et siis sac kliendi kaudu tokeni haldamine oleks parooliga kaitstud.

USB tokeni jaoks tarkvara paigaldamine

Paigalda tarkvara X-tee turvaserverisse. Selleks lisa uus repositoorium

sudo nano /etc/apt/sources.list.d/precise.list

Sinna sisse kirjuta:

deb http://cz.archive.ubuntu.com/ubuntu precise main universe

Tee repositooriumi värskendus ja paigalda allolevad paketid

apt-get update
apt-get install pcscd libccid libqt4-core libqt4-gui hal-info opensc libhal1 libhal-storage1

Kopeeri eelnevalt leitud SafeNet Authentication Client tarkvara zip fail ka X-tee turvaserverisse, paki lahti ja paigalda sealt pealt klient ka turvaserverisse.

unzip sac9.1_linux.zip
mkdir temp
sudo mount -o loop SAC_9_1_Linux.iso ./temp
sudo dpkg -i temp/Installation/Standard/DEB/SafenetAuthenticationClient-9.1.7-0_amd64.deb
sudo apt-get install libgtk2.0-0:i386

Veendu, et saad HSM-ile ligi (näed infot). Selleks sisesta käsk:

sudo pkcs11-tool --module=/lib/libeToken.so.9 -L

Peaksid nägema midagi sellist:

Available slots:
Slot 0 (0x0): AKS ifdh [Main Interface] 00 00
  token label        : Minu Token
  token manufacturer : SafeNet, Inc.
  token model        : eToken
  token flags        : rng, login required, PIN initialized, token initialized, other flags=0x200
  hardware version   : 4.29
  firmware version   : 1.0
  serial num         : ########
Slot 1 (0x1):
  (empty)
Slot 2 (0x2):
  (empty)
Slot 3 (0x3):
  (empty)
Slot 4 (0x4): ETOKEN HID READER 0
  (empty)
Slot 5 (0x5): ETOKEN HID READER 1
  (empty)
Slot 6 (0x6): ETOKEN HID READER 2
  (empty)
Slot 7 (0x7): ETOKEN HID READER 3
  (empty)
Slot 8 (0x8):
  (empty)
Slot 9 (0x9):
  (empty)

Järelikult USB tokeniga on ühendus olemas ja sa oled korrektselt initsialiseerinud ja tarkvara paigaldanud.

Kuniks seda infot ei ole näha, siis ei ole mõtet edasi liikuda.

Mooduli ja X-tee tarkvara ühendamine

Eelnevalt paigaldatud juhtprogramm (driver ehk .so fail) tuleb ette anda /etc/xroad/devices.ini failist.

Sinna tuleks lisada näiteks:

[etoken]
library = /lib/libeToken.so.9

Soovi korral saad valida nime, mida X-tee veebiliideses kuvatakse (antud juhul on selleks etoken).

Seejärel tuleb teha X-tee signer teenusele restart:

sudo service xroad-signer restart

Kui pärast xroad-signer teenuse restarti HSMi veebiliideses Keys and Certificates sektsioonis näha ei ole, siis võid teha tühjaks kas xroad-signeri cache, või siis tervele X-tee turvaserverile taaskäivituse.

xroad-signer restart ja xroad-signer cache kausta tühjendamine

service xroad-signer stop
mv /var/cache/xroad/*ocsp /tmp
service xroad-signer start

Kui ka pärast seda näha ei ole, siis on järelikult seadistamisega midagi nihu.

HSM LAN

Kirjatüki HSM LAN tugi on tehtud Utimaco SecurityServer Se Gen2 LAN seadme näitel.

Kuna Utimaco HSM seadme initsialiseerimine ja seadistamine on pisut keerulisem võrreldes HSM USB seadmega, siis seda peatükki hetkel ei käsitleta.

NB! Utimaco SecurityServeri jaoks vajaliku faili saad kas:

  • HSMi tarnija / maaletooja käest
  • Utimaco portaalis, kuhu on vaja ennast eelnevalt registreerida
  • sõbra käest, kellel ka sama HSM on. :)

Paigalda opensc pakk:

sudo apt-get install opensc

Utimaco jaoks on vaja paigaldada näidiskonfiguratsioonifail /etc/utimaco/ kausta:

sudo mkdir /etc/utimaco/

Kopeeri sinna Utimaco Security Server zip failist näidiskonfiguratsioon - cs_pkcs11_R2.cfg.

Ava see endale sobiva tekstiredaktoriga (nt nano või vim vmt) ja tee vastavad muudatused.

Konfiguratsioonimuudatused

Slotide arv

Kuna X-tee kuvab kõik saadaolevad slotid korraga ette, siis tasuks seda numbrit hoida nii väike kui võimalik ja nii suur kui vajalik.

Kui mõni slot on initsialiseerimata, siis seda ka kasutusele võtta pole võimalik.

# Maximum number of slots that can be used
SlotCount = 3

CryptoServer IP

[CryptoServer]
# Device specifier (here: CryptoServer is CSLAN with IP address 192.168.0.1)
Device = 192.168.0.2
Kui kasutad klasterdatud lahendust, siis veendu, et Device oleks kujul: 
#Device = { 192.168.0.2 192.168.0.3 }

Klasterdamise juures tuleb määrata ka FallbackInterval, mis määrab millisekundites aja, mis hetkel teise klastri HSMi liikme poole pöördutakse. Kõik liikmed on Device loetelu järjekorras, st mingit muud eelistust ei tehta.

# Configures load balancing mode ( == 0 ) or failover mode ( > 0 )
FallbackInterval = 0

Ühendus HSMiga

Veendu, et saad HSMile ligi ja näed seal peal olevat informatsiooni.

# pkcs11-tool --module /usr/lib/libcs_pkcs11_R2.so -L

Näiteks võiks tulemus olla midagi sellist:

Available slots:
Slot 0 (0x0): 192.168.0.2 - SLOT_0000
  token label        : Sinu-test-slot
  token manufacturer : Utimaco IS GmbH
  token model        : CryptoServer
  token flags        : rng, login required, PIN initialized, token initialized, other flags=0x240
  hardware version   : 5.1
  firmware version   : 2.1
  serial num         : Se52    CS######
Slot 1 (0x1): 192.168.0.2 - SLOT_0001
  token label        : Sinu-prod-slot
  token manufacturer : Utimaco IS GmbH
  token model        : CryptoServer
  token flags        : rng, login required, PIN initialized, token initialized, other flags=0x240
  hardware version   : 5.1
  firmware version   : 2.1
  serial num         : Se52    CS######
Slot 2 (0x2): 192.168.0.2 - SLOT_0002
  token state:   uninitialized

Mooduli ja X-tee tarkvara ühendamine

Vajaliku draiveri leiad jällegi SecurityServer.zip faili seest. Kopeeri libcs_pkcs11_R2.so fail /usr/lib/ kausta.

Vastav juhtprogramm (driver ehk .so fail) tuleb ette anda /etc/xroad/devices.ini failis.

Sinna tuleks lisada näiteks:

[utimaco]
library = /usr/lib/libcs_pkcs11_R2.so

Seejärel tuleb teha X-tee signer teenusele restart:

sudo service xroad-signer restart

Kui pärast xroad-signer teenuse restarti HSMi veebiliideses Keys and Certificates sektsioonis näha ei ole, siis võid teha tühjaks kas xroad-signeri cache, või siis tervele X-tee turvaserverile taaskäivituse.

xroad-signer restart ja xroad-signer cache kausta tühjendamine:

service xroad-signer stop
mv /var/cache/xroad/*ocsp /tmp
service xroad-signer start

Kui ka pärast seda näha ei ole, siis on järelikult seadistamisega midagi nihu.

X-tee võtmed, sertifikaadipäringud ja sertifikaadid

Test- ja arendus-x-teel on lubatud kasutada ka ainult softTokenit võtmete ja sertifikaadipäringute tegemiseks ning sertifikaatide hoiustamiseks. Soovitus on siiski võimaluse korral vähemalt test-süsteemis kasutusele võtta ka see sama HSM (teine partitsioon ehk slot), et välistada HSMI (mitte-)kasutamisest tingitud anomaaliaid ja/või vigu.

eesti keeles inglise keeles faililaiend
võti key .key
sertifikaadipäring certificate request .csr
seritifikaat certificate .crt

PS! Enne impordi sign ehk e-templi sertifikaat ja alles seejärel auth ehk autentimissertifikaat!

Autentimissertifikaat

Autentimissertifikaat (auth) tõendab seda, et te olete see, kes te väidate ennast olema. Auth sertifikaat on vajalik genereerida softToken'iga ehk tarkvaralise mooduliga, mis on X-teesse seadistatud juba paigaldusel.

Kui sa juba pole teinud, siis nüüd on õige aeg softToken lukust lahti teha! Selleks sisesta softTokeni PIN kood, mille seadistasid turvaserveri(!) initsialiseerimisel. Seejärel vajuta softTokeni peale ning siis "Generate Key".

Xteev6-softtoken-genkey.png

Sisesta endale sobiv nimi ning vajuta OK.

Xteev6-softtoken-genkey2.png

Vali vastloodud key ning vali "Generate CSR". Avanenud aknast vali kindlasti Usage kastist "auth". Certification Service peaks tulema automaatselt vastavalt keskkonnale (hint: konfiguratsiooniankur). CSR formaat meelepäraselt PEM või DER.

Xteev6-softtoken-gencsr.png

Seejärel salvesta saadud CSR.

Kui tahad ka e-templi (sign) sertifikaadi kohe teha, siis liigu edasi järgmise punkti juurde. Kui aga ei, siis mine täida SK.ee lehel avaldus sertifikaadi saamiseks.

PS! Enne impordi sign sertifikaat!

HSMiga võtmete ja sertifikaadipäringute genereerimine

See punkt eeldab, et HSM on täielikult seadistatud ja kasutusel. Punkt on ühine, vahet ei ole, kas kasutusel olev HSM on ühendatud PCI-E, USB või LAN liidesega.

Signeerimissertifikaat ehk e-tempel

Algus on sama softTokeniga auth võtme genereerimisele - erinev on see, et loetelust tuleb valida (ja lahti teha) õige HSMi slot (partitsioon).

Utimaco HSM annab artikli kirjutamise hetkel välja kõik kasutusel olevad slotid kõikidele, kes kasutavad ja inimene ise peab tegema õige valiku, missugune slot lahti lukustada. Praegu ei ole ka võimalust, et seda piirata (nt testis kuvada ainult test-sloti vmt).

Jällegi - vali sobiv nimi (label), vajuta "OK". Seejärel "Generate CSR" ning saadud CSR salvesta, et pärast üles laadida SK.ee portaali.

Sertifikaatide saamine/väljastamine

Avaldus sertifikaatide saamiseks tuleb täita Sertifitseerimiskeskuse veebilehel - https://sk.ee.

Kui SK otsustab väljastada sertifikaadid, annavad nad sellest e-maili teel sulle automaatselt teada. Sealt on võimalik ka vastloodud sertifikaat endale alla laadida. AUTH-sertifikaat on vaja saata RIA kasutajatoele: help@ria.ee

Seejärel on vaja saadud sertifikaat/sertifikaadid importida X-tee keskkonda. Selleks mine jälle Keys and Certificates menüüsse ja vali nupp "Import Certificates".

Vali saadud fail ning lae see üles. Edukal impordil paigaldatakse sertifikaat õigesse kohta.

PS! Miskipärast on soovituslik eelnevalt importida sign sertifikaat!

Test X-tee sertifikaadi lisaliigutus

Test (ja tõenäoliselt ka arendus) X-teel tuleb sertifikaadiga teha veel üks lisaliigutus.

Nimelt - sertifikaat tuleb käsitsi üles laadida demo.sk.ee keskkonda - https://demo.sk.ee/upload_cert/index.php

Kopeeri kasti enda saadud sertifikaat, vali Status: Good ja lae üles.

Jällegi, tee xroad-signerile restart. Kui see ei aita, tühjenda xroad-signer cache ja kui see ka ei aita, tee turvaserverile taaskäivitus. Ja kui see ka ei aita, siis pöördu RIA poole abi saamiseks.

Teadaolevalt toodangu X-tee sertifikaatide puhul analoogset lisaliigutust teha vaja pole.

Alamsüsteemi lisamine

Alamsüsteemi on võimalik lisada ka enne sertifikaatide lisamist, aga tõenäoliselt neid ei kinnitata enne, kui sertifikaadid on kinnitatud ja imporditud.

Lisaks: Toodangukeskkonnas ei rahuldata alamsüsteemi registreerimise taotlust (mis sa turvaserverist esitad), kui RIHAs (https://riha.eesti.ee) pole v6 alamsüsteemi jaoks kannet tehtud. See, et infosüsteem on X-tee v5 peal registreeritud, ei tähenda seda, et seda EI peaks v6 jaoks tegema.

RIHAs olev lühinimi on v6 alamsüsteemi jaoks alati kujul "asutuseregkood-lyhinimi".

Alamsüsteemi lisamine käib Security Server Clients menüüst: "Add client" nupuga. Vajalik on täita jällegi Member Class, Member Code ja nüüd ja Subsystem Code lahtrid. Subsystem Code on RIHA keskkonnast "lühinimi", ilma asutuse registrikoodita.

Näiteks RIHAs on kanne Eesti Hariduse Infosüsteemi X-tee alamsüsteemi jaoks, mille lühinimi on "70000740-ehis". X-tee turvaserverisse tuleks sellisel juhul määrata Member Code: 70000740 ja Subsystem Code: ehis.

Pärast OK vajutamist küsitakse teie käest üle, kas olete ikka "täie mõistuse juures", et soovite selle päringu RIAsse autentimiseks saata.

Kuna registreerimisega läheb aega, siis kui juba "väga kiire" on, olete tõenäoliselt hiljaks jäänud. Ühe soovitusena VÕIB proovida RIAsse helistada/kirjutada, et natuke registreerimisprotsessi kiirendada.

Seejärel on võimalik näha teie alamsüsteeme juba vaates:

Xteev6-alamsysteemid.jpg

Alamsüsteemi detailid

Konkreetse alamsüsteemi sees (i nupukesest) on võimalik seadistada juba:

  1. Service Clients
  2. Services
  3. Internal Servers
  4. Local Groups

Service Clients

Siia hakkavad tekkima teised alamsüsteemid, kellel on õigus teie alamsüsteemi käest mingit teenust (WSDL alusel) kasutada. NB! Reguleeritakse turvaserverisse sissetulevaid päringuid.

Erinevus X-tee versioon 5ga on pääsuõiguste juures see, et pääsuõigused antakse konkreetsele alamsüsteemile (mitte enam asutusele).

Otsingus on võimalik otsida nii kohalike gruppide seast kui ka üldisest andmebaasist. Otsitakse loomulikult konkreetses X-tee keskkonnas registreeritud asutusi ja alamsüsteeme. Selleks, et kõiki gruppe näha (mis eelnevalt loodud) on mõistlik kasutada otsingusõna "LOCALGROUP".

Services

Services menüüs saab ära määrata WSDL asukoha/asukohad ja õigused. Samuti kuvatakse infot viimase uuenduse kohta. Kui just RIHAs ei ole juurdepääsupiirangut, siis sisuliselt võiks WSDL olla avalikult URLilt ligipääsetav ja kättesaadav.

Enne pole väga mõtet edasi minna, kui vähemalt ühte WSDLi olemas pole. :)

WSDL saab lubada (enable) ja keelata (disable). Vaikimisi on iga uus WSDL keelatud olekus. Samuti näeb WSDLi avades, mis teenused selle WSDLi kaudu võimalik pakkuda on. Veel on võimalik WSDLi värskendada (refresh), et pärida näiteks teenuste muudatusi (kui neid peaks olema).

Lisaks on võimalik iga teenuse juures kohe valida pääsuõigused (Access Rights). Samuti näidatakse sulgudes ära alamsüsteemide arv, kel seda teenust on õigus kasutada.

Services sisu ehk WSDLis pakutavad teenused

Siin on nüüd oluline ära märkida seda, et imporditud WSDL tuleks plussmärgist lahti "klõpsata" ja siis vastav URL muuta adapterserveri IP-aadressiks - st see server, kes reaalselt "tegeleb" sissetulevate X-tee päringutega. Porti pole ka tõenäoliselt vaja määrata, kui adapterserver ise pordil 80 nendega tegeleb.

PS! Adapterserveri seest tuleb piirata, et vastavale sektsioonile saaks ligi ainult turvaserveri kaudu. Sisuliselt ei tohiks isegi lubada tervet sinu asutuse sisevõrku. Avalikust võrgust tuleks päringud sellele URLile igatahes piirata!

Näiteks allpool on seadistus, kus X-tee turvaserver suhtleb adapterserveriga üle HTTPS protokolli. IP aadress 192.168.1.1.

Xteev6-services.png

Ühe teenuse juures muutmist alustades on võimalik muuta ka kõik WSDLi sees asuvad teenused samade näitajatega, selleks on vaja selekteerida "Apply to All in WSDL" kastike. Seda siis vastava elemendi juures, mida muuta soovitakse.

Xteev6-services-edit.png

Internal Servers

Internal Servers menüüs on võimalik seadistada, kas ühendus rakendusserverisse tehakse HTTP, HTTPSiga või HTTPS NO AUTH olekus.

Sisevõrgus tõenäoliselt võib kasutada ka HTTP ühendust, vastavalt vajadusele ja soovile on võimalik seadistada ka HTTPS.

HTTPS ühenduse juures tuleb lisada sisemise rakendusserveri TLS sertifikaat. See võib olla sama, mida kasutatakse veebilehe kuvamiseks, aga võib olla ka täiesti erinev self-signed sertifikaat, mida kasutatakse vaid X-teega ühendumiseks. Sellisel juhul peaks adapterserver pakkuma teenust eraldi pordi peal ja eraldi sertifikaadiga. Kui kasutatakse tavalist veebiserveri osa, siis tuleb pakkuda talle veebi TLS sertifikaat.

Ja viimase võimalusena saab eksportida turvaserveri veebi-sertifikaadi.

Xteev6-internalservers.png

Local Groups

Gruppe võib kasutada, et (enda jaoks) kuidagi kategoriseerida alamsüsteeme. Sisuliselt võib anda ka õiguse kohe alamsüsteemile päringu tegemiseks, aga on võimalik ka teha grupp, lisada alamsüsteemid sinna gruppi ja siis anda grupile õigus/õigused.

Grupi sees on võima võimalik lisada need alamsüsteemid, mis sinu süsteemist soovivad midagi vastpärida (kellele annad õiguse enda süsteemi kasutada).

Uus grupp

Lokaalgruppe saab lisada "ADD GROUP" nupust. Grupile on vaja anda kood (Code) ja kirjeldus (Description). Grupi kirjeldust on võimalik hiljem muuta, nime mitte.

Pärast uue grupi loomist on võimalik see "DETAILS" menüüga avada. Kõigepealt kuvatakse sulle grupi "hetkeolukord". Kui soovid uusi liikmeid lisada, siis vajuta "Add members" nupule.

Samuti on võimalik kõik või selekteeritud liikmed korraga kustutada vajutades vastavalt nuppu: "Remove all members" või "Remove selected members".

Grupi kustutamisel ("Delete Group") kustutatakse ka seal sees olevad liikmed ja nende õigused.

Uue liikme lisamisel vajuta kindlasti "Search" nuppu. "ENTER" klahv otsingut ei alusta.

Andmejälgija ehk AJ paigaldus

Kirjatüki autor võtab endale vaba voli ilukirjanduslikult selgitada Andmejälgija vajalikkust:

Andmejälgija kasutusele võtmine on vajalik siis,
kui töödeldakse isikuandmeid ja jagatakse välja kolmandale osapoolele.
Kui kodanik Aabel Aabits ise küsib nt SAISist kooli sisseastumise hetkel EISi kaudu andmeid,
siis see ei kuulu andmejälgija skoopi.
Jah, kui Politsei- ja Piirivalveamet või Maanteeamet teeb kodaniku
Aabel Aabits kohta päringu (ilma temapoolse osaluseta) EISist,
siis see on kolmandale osapoolele jagamine
ja need päringud võiksid olla andmejälgija kaudu kodanikule nähtavad.

Lühidalt öeldes: kui X-tee turvaserver on mõeldud ühe asutuse ühe infosüsteemi jaoks, siis võib AJ paigaldada X-tee turvaserveri "sisse".

Kui asutus pakub X-tee teenuseid teistele asutustele ja/või ühe X-tee turvaserveri sees on mitu infosüsteemi, siis Täiendatud tehnilise kontseptsiooni punkti 6.2 alusel saab kirjatüki autor aru, et vaja on AJ paigaldada eraldi serverisse.

AJ võib soovi korral paigaldada ka konkreetsesse rakendusserverisse, kui sellel on Java tugi.

Lisatarkvara paigaldus

Vastavalt soovidele ja vajadustele on mõistlik paigaldada ka lisatarkvara:

Serveri koormuse jälgimine

sudo apt-get install htop

Xroad-monitor pakett paigaldab x-tee päringute ja koormuse jälgimiseks vajaliku tarkvara.

sudo apt-get install xroad-monitor

Päringu testimine SoapUI tarkvaraga

SoapUI tarkvaraga on võimalik X-tee päringut testida.

Kõik eelpoolnimetatud tingimused kehtivad ikka - päringut tegev alamsüsteem peab olema turvaserveris registreeritud (sh ka päringule vastav), selle WSDL (teenuste nimekiri) peab korras olema, päringut tegevale süsteemile on vaja, et oleksid õigused antud jne.

Lae alla SoapUI tarkvara (Open Source täitsa piisab) ja tee uus (tühi) Soap Project.

Project Name pane endale sobiv, Initial WSDL (testitava teenuse WSDL aadress) peaks olema stiilis: http(s)://<turvaserveri_IP>/wsdl?xRoadInstance=ee-dev&memberClass=COM&memberCode=<XRD_MEMBER>&subsystemCode=<DEVTRAINING_XX_A>&serviceCode= <serviceCode >&version=v1

Näiteks test-keskkonnas: https://SINU-ASUTUSE-TS-IP/wsdl?xRoadInstance=ee-test&memberClass=NGO&memberCode=90005872&subsystemCode=alamsysteem&serviceCode=teenus&version=v1

NB! Nagu ikka, siis mõnedel teenustel ei pruugi olla versiooni tag'i.

Vajuta OK.

Seepeale tekib leotelu teenustest - ava sulle vajalik teenus ja ava Request 1

Xroad-v6-soapui.png

See avab päringuakna eeltäidetud "küsimärkidega":

Xroad-v6-soapui-request.png

Nüüd on võimalus kopeerida ettevalmistatud päring või teha see ise ja käivitada päring. Paremasse kastikesse tuleb vastus.

Päringulogi vaatamine ja analüüs

Päringulogi salvestatakse (vaikimisi) X-tee turvaserveriga koos paigaldatavasse PostgreSQL andmebaasi. Vastavad juhendid ja õpetused on RIA õpetustes.

Selleks, et näiteks oma arvutis oleva pgadmin tarkvaraga päringut teha on kõigepealt vaja suunata port

 ssh -L 5432:127.0.0.1:5432 sina@turvaserver-ip

pgAdmin tarkvara on siis vaja seadistada selliselt, et ühendus tehtaks IP-le 127.0.0.1 ja pordile 5432.

Ühendus oleks soovitatav luua op-monitor andmebaasi suunas opmonitor kasutajaga. Parooli saab turvaserverist /etc/xroad/db.properties failist

Kuidas päring ja vastus X-tee turvaserverite vahel liiguvad ilmestab allolev pilt:

Xroad-v6-timestamps.png

Selle alusel on võimalik välja raalida näiteks alamsüsteemist A, alamsüsteemi B tehtud päringud ja järjestada need kestvuse järgi kahanevalt:


select
  to_timestamp(request_in_ts / 1000) as saabunud_kell,
  client_subsystem_code,
  service_subsystem_code,
  service_code,
  request_in_ts,
  response_out_ts,
  cast( ( response_out_ts - request_in_ts) as float) / 1000 as kokku_kulunud_aeg_s,
  cast( ( request_out_ts - request_in_ts) as float) / 1000 as request_in_my_ts_s,
  cast( ( response_out_ts - response_in_ts) as float) / 1000 as response_in_my_ts_s,
  request_soap_size,
  response_soap_size
from operational_data
WHERE
  client_subsystem_code = 'A'
  and service_subsystem_code = 'B'
ORDER BY kokku_kulunud_aeg_s DESC LIMIT 100;

Päringut võib muuta vastavalt soovidele, teha keerukamaid ja lihtsamaid.

Vaikimisi salvestatakse andmebaasi viimase 7 päeva päringud.

Programmid, lingid, allikad ja lisalugemist

X-tee linke ja viiteid