X-tee v6 turvaserveri paigaldamine ja kasutamine
X-tee versioon 6 turvaserveri paigaldamise ja kasutamise juhend.
Osa juhendis toodud programmidest ja viidetest on leitavad peatüki lõpust.
Sisukord
- 1 X-tee oluline info
- 2 X-tee keskkonnad
- 3 Ubuntu paigaldus
- 4 Turvaserveri tarkvara paigaldus
- 5 Turvaserveri kliendid ja nende lisamine
- 6 HSMi tugi
- 7 X-tee võtmed, sertifikaadipäringud ja sertifikaadid
- 8 Alamsüsteemi lisamine
- 9 Andmejälgija ehk AJ paigaldus
- 10 Lisatarkvara paigaldus
- 11 Päringu testimine SoapUI tarkvaraga
- 12 Päringulogi vaatamine ja analüüs
- 13 Programmid, lingid, allikad ja lisalugemist
- 14 X-tee linke ja viiteid
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):
- COM - Eesti äriühingud
- NGO - Eesti sihtasutused ja mittetulundusühingud
- GOV - Eesti asutused
- NEE - teiste riikide asutused/ettevõtted
Võimalik on kasutada globaalset otsingut, või siis käsitsi täita lahtrid:
- Member Name: Kui Member Class ja Member Code on õigesti täidetud, siis ilmub Member Name automaatselt.
- Member Class: vali liikmeklass
- Member Code: Äriregistri kood
- 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".
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".
Sisesta endale sobiv nimi ning vajuta OK.
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.
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:
Alamsüsteemi detailid
Konkreetse alamsüsteemi sees (i nupukesest) on võimalik seadistada juba:
- Service Clients
- Services
- Internal Servers
- 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.
Ü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.
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.
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
See avab päringuakna eeltäidetud "küsimärkidega":
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:
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
- https://www.ria.ee/ee/x-tee.html
- https://moodle.ria.ee/
- https://demo.sk.ee/upload_cert/index.php
- https://github.com/e-gov/AJ/
- https://installer.id.ee/media/etoken/
X-tee linke ja viiteid
- Kas teenus on X-teel nähtav:
- Arendus X-tee: https://x-tee.ee/catalogue/ee-dev/wsdls/
- Test X-tee: https://x-tee.ee/catalogue/ee-test/wsdls/
- Live/toodangu X-tee: https://x-tee.ee/catalogue/EE/wsdls/
- Kas alamsüsteem on X-teel registreeritud ja töötav: https://xroad.radr.eu/
- SoapUI: https://www.soapui.org/downloads/soapui.html
- RIA Moodle: https://moodle.ria.ee/course/index.php?categoryid=4
- X-tee avaandmetel põhinev päringute visualiseerija: https://logs.x-tee.ee/visualizer/EE/
- X-tee avaandmete põhinev pärija: https://logs.x-tee.ee/EE/gui/
- DHXiga liitunud asutuste loetelu: https://www.ria.ee/dhx-aadressiraamat/