Turvaserveri kasutamine

Allikas: Kuutõrvaja

Sissejuhatus

X-tee on andmebaase ja rakendusi ühendav infrastruktuur, mis kasutab andmevahetuseks avalikku võrku (st internetti) ja võimaldab turvalist ja standardiseeritud andmevahetust

  • turvalisus tähendab, et osalised on autenditud ja autoriseeritud, andmevahetus on krüptitud, X-teel tehtud toiminguid ei saa eitada
  • standardiseeritud andmevahetus tähendab, et X-tee töötavad kliendid ja serverid kasutavad andmevahetuseks kehtestatud protokolli

VMware virtuaalarvuti kasutamine turvaserverina

Arendus ja testimise vajadusteks sobib hästi kasutada turvaserveri jaoks virtuaalset arvutit, nt VMware guesti.

Virtuaalarvuti keskkonna ettevalmistamine

VMware Server v. 2 guest sobib seadistada nt selliselt

Turvaserver-1.gif

kus VMware hosti on moodustatud storage kataloogi flopi tõmmise faili öeldes

 # dd if=/dev/zero of=/srv/vmware/turvaserver-test.flp bs=1440 count=1024

Lisaks tuleb guesti seadistustes näidata, et järgmisel alglaadimisel sisenetakse BIOSi ning sealt näidata esimeseks meediaks CD seade.

Turvaserveri tarkvara paigaldamine

Turvaserveri tarkvara jagatakse aadressil http://ftp.ria.ee/pub/x-tee/turvaserver/ .iso tõmmistena, tõenäoliselt on asjakohane kasutada viimast versiooni.

Turvaserveri paigaldamisel sobib teha nt sellised valikud

  • Teha valik 'Installeerida X-tee turvaserver

Protseduur lõpeb alglaadimisega ja järgmisel käivitamisel sobib teha nt sellised valikud

  • Valida VMware VGA adapter
  • Valida USB hiir
  • EE klaviatuur
  • valida sobiv ekraanilahutus, nt 1024x768

Seejärel käitatavaks X ja küsitakse turvaserveri administraatori parooli.

Tulemusena saab turvaserverisse sisse logida

Turvaserver-2.gif

Turvaserverile veaparanduste rakendamine

Turvaserveri veaparandusi jagatakse aadressil http://ftp.aso.ee/pub/x-tee/patch/ ja rakendamiseks tuleb valida

Süsteem -> Laadi paik

Turvaserver-13.gif

Seejuures on oluline näidata ftp serveri aadress kasutades ip aadressi ja mitte avalikku nimesüsteemi kuna X-tee kasutab autonoomset nimesüsteemi.

Turvaserveri seadistuse varundamine ja taaste

Turvaserveri kasutajaliidese kaudu tehtud seadistused asuvad kataloogis

 /usr/xtee/etc/xtee/common
 /usr/xtee/etc/xtee/proxy

Praktiliselt piisab nende kataloogide varundamisest ning taastamise protseduur võiks olla nt selline

  • Paigaldada meedialt soovitavalt sama turvaserveri versioon ja kui ta peale esimest booti jõuab valikuni
Turvaserveri konfiguratsiooni ei eksisteeri. Kas loon uue või taastan selle varukoopiast? 

valida Ctrl-Alt-F3 ning Ctrl-Alt-Del ning seisata.

  • Monteerida partitsioon 6 ja kopeerida kaks kataloogi üle uue turvaserveri failisüsteemi
# kpartx -a /dev/serverid/turvaserver_test
# mount /dev/mapper/serverid-turvaserver_test6 /tmp/turvaserver_test6
# umount /tmp/turvaserver_test6
# kpartx -d /dev/serverid/turvaserver_test
  • Käivitada turvaserver, logida sisse ja öelda
 Konfiguratsioon -> Rekonfigureeri kõik

Seejärel peaks saama turvaserverit endiselt kasutada. Seejuures tuleb arvestada, et

  • paigad on rakendamata
  • turvaseveri muus osas tehtud seadistused on tegemata, nt ssh ligipääs

Turvaserveri seadistamine

TODO

KVM virtuaalarvuti kasutamine turvaserverina

KVM guesti kasutamine turvaserverina toimub analoogiliselt eelpool kirjeldatud VMware virtuaalarvuti kasutamisele, selliste erinevustega

  • videokaardiks valida Cirrus Logic

SSH ligipääs turvaserverile

Vaikimisi on turvakaalutlustel keelatud turvaserverile ligipääs üle SSH ja avaliku X-tee keskkonnas kasutuses olevas turvaserveris ei ole lubatud SSH ligipääsu sisse lülitada. Eeldusel, et kasutaja on hinnanud asjaolusid saab SSH ligipääsu sisse lülitada, nt selleks, et arenduskeskkonnas turvaserverit otsekohesemalt juhtida, selliselt

  • arvuti alglaaditakse nö init=/bin/bash prompti
  • eemaldatakse /etc/ssh/sshd_not_to_be_run fail
  • määratakse juurkasutajale parool

Üldiselt on sellise järgnevuse kasutamist kirjeldatud üksikasjalikumalt palas Debiani alglaadimine#Operatsioonisüsteemi juurkasutaja ununenud parooli ülekirjutamine. Kuna turvaserveris on kasutusel LILO alglaadur, siis alustada tuleb LILO promptis (turvaserveri LILO lipik on 'Linux')

 boot: Linux init=/bin/bash ro

Seejärel sobib nt Ctrl+Alt+F3 abil avada virtuaalne tekstikonsool ja sealt sisse logida.

Turvaserveri kasutajal ui on haldusliideses määratud parool, selle kasutajaga saab peale tehtud muudatusi ka ssh abil arvutisse logida ja käivitada turvaserveri haldusliidese, nt sedasi

 $ /usr/xtee/bin/turvaserver

Turvaserver-3.gif

Turvaserveri kasutamine

TODO

Asutuse kirjeldamine turvaserveris

Selleks, et turvaserveri abil saaks esitada X-teele päringuid, peab turvaserveris seadistama ära asutuse ja registreerima selle asutuse X-tee süsteemis. Selleks tuleb X-tee turvaserveri haldusprogrammis avada

 Konfiguratsioon -> Võrmed ja sertifikaadid -> DNSi võtmed

ning näida ära X-tee keskuse poolt usaldatud X-tee keskserveri nimeserveri DNS võtme autentsuskood

Turvaserver-9.gif

Seejärel tuleb avalda

 Konfiguratsioon -> Võrmed ja sertifikaadid -> Sertifitseerimiskeskuse sertifikaadid

ning näidata ära X-tee keskuse poolt usaldatud X-tee PKI juursertifikaadi autentsuskood

Turvaserver-10.gif

Seejärel tuleb genereerida turvaserveris asutusele X-tee sertifikaadi sertifikaadipäring valides ja täites lahtrid sobivalt, näiteks

 Konfiguratsioon -> Asutused -> Lisa asutus

Turvaserver-12.gif

Viimaks tuleb sertifikaadipäring salvestada ja esitada X-tee keskusele RIHA süsteemi vahendusel

Turvaserver-11.gif

Turvaserveri ja asutuse infosüsteemi või andmekogu vahelise andmevahetuse kontrollimine

Kui X-tee turvaserveri kaudu X-teele päringud esitava asutuse infosüsteemi töös esineb häireid, on asjakohane esmalt kontrollida, kas andmevahetus X-tee andmekogudega toimib korrektselt. Eeldusel, et turvaserveri ja asutuse infosüsteemi või andmekogu vahel toimub krüptimata andmevahetus, sobib liiklust kontrollida programmiga tcpflow

 # mkdir /tmp/20090909
 # chmod 0700 /tmp/20090909
 # cd  /tmp/20090909
 # tcpflow -i eth1 host 192.168.1.1 and port 80

kus

  • 192.168.1.1:80 on turvaserveri soketi aadress
  • eth1 - üle selle võrguseadme toimub turvaserveriga andmevahetus

Tulemusena salvestatakse failisüsteemi andmevahetus, mida on hea kasutada tõrgete avastamiseks. Praktiliselt on mõnus kogutud liiklust lugeda mõne nö xml-võimelise kliendiga, nt brauseriga, selleks sobib monteerida kataloog /tmp/20090909 nt sshfs abil töökohaarvutile.

Siit saab lisaks teha olulise järelduse, et sellist liiklust sisaldavalt võrgusegmendile või osalevatele arvutitele ei tohiks lubada kõrvalistele kasutajatele ligipääsu.

Päringute esitamine programmiga wget

Kui X-tee turvaserveri kaudu X-teele päringud esitava asutuse infosüsteemi töös esineb häireid, on asjakohane esmalt kontrollida, kas andmevahetus X-tee andmekogudega toimib korrektselt. Üheks otsekoheseks võimaluseks seda kontrollida on esitada X-teele nt tekstifaili kujul ettevalmistatud päring programmiga wget.

 $ wget --header='SOAPAction:' --header='Content-Type: text/xml' --post-file paring.xml \
   http://192.168.1.1:80/cgi-bin/consumer_proxy

kus

Taolise päringu tegemiseks peab olema kasutada suhteliselt uus wget programm, nt sobib versioon 1.11.4.

Turvaserveri timeout väärtuste seadistamine

Turvaserveris saab konktrollida kahte sorti timeoutisid, toodud arvväärtused on vaikimisi

  • X-tee turvaserveri taga töötavate infosüsteemide päringutega seotud timeout
 Konfiguratsioon -> Taimaudid ja logimine -> \
   Andmekogudesse tehtavate päringute max kestus (sek): 300
  • X-tee turvaseveri taga töötavasse andmekogusse üle X-tee sissetulevate päringutega seotud timeout, see on iga andmekogu jaoks eraldi määratav, aga kõigi kõnealuse andmekogu päringute jaoks ühe väärtusega
 Konfiguratsioon -> Andmekogud/Registrid -> Adapterserveri parameetrid -> \
   Sissetuleva päringuga tegelemise max kestus (sek): 60

Andmekogu registreerimine

Andmekogu registreerimiseks tuleb avada turvaserveri haldusliides ning valida

 Lisa andmekogu

Seejärel tuleb täita lahtrid

Turvaserver-4.gif

Sertifikaadipäringu saab salvestada floppy kettale sellises dialoogis

Turvaserver-5.gif

Seejärel tuleb virtuaalse arvuti floppikettale vastav tõmmisefail virtuaalse keskkonna hostis ühendada külge ja kopeerida seal päring

 # cp /srv/vmware/turvaserver.flp /tmp/
 # mount -o loop /tmp/turvaserver.flp /mnt/flp/
 # find /mnt/flp/ -ls
    1    7 drwxr-xr-x   2 root     root         7168 Jan  1  1970 /mnt/flp/
    4    1 -rwxr-xr-x   1 root     root          485 Sep 21 12:50 /mnt/flp/certreq.gz
    5    1 -rwxr-xr-x   1 root     root           47 Sep 21 12:50 /mnt/flp/md5sums

md5sums ja certreq.gz failid tuleb anda üle X-tee keskusele ning ühedada /mnt/flp kataloog lahti

 # umount /mnt/flp

Kui X-tee keskus on andmekogu registreerimise taotluse aktsepteerinud, siis ta tekitab saadetud sertifikaadipäringu alusel andmekogule vasta sertifikaadi ja laadib selle X-tee keskserverisse. Seejärel tuleb turvaserveri haldusliidese abil sertifikaat kopeerida turvaserverisse valides

 Konfiguratsioon -> Andmekogud/Registrid -> andmekogu -> Halda andmekogu võtmeid

ja avaneb dialoog, kus tuleb öelda Laadi sertifikaadid, peale laadimist paistab dialoog selline

Turvaserver-6.gif

Tulemusena on uus andmekogu X-teele registreeritud, selleks, et teised X-tee kasutajad saaksid seda kasutada tuleb sinna ilmselt päringud juurde lisada.

Turvaserver-7.gif

Andmekogu seadistamine

Andmekogu seadistamiseks tuleb avada andmekogu seadistamise dialoog

 Konfiguratsioon -> Andmekogud/Registrid -> Tartu Loomaaed -> Adapterserveri parameetrid

ja näidata parameetrite nt sellised väärtused

  • teenuse uri
  • wsdl skeemi uri
  • adpaterserveri ip aadress
  • adpaterserveri port
  • timeout kui kaua turvaserveri lubab ühel adapterisse esitatud päringul töötada

Tulemus võiks olla nt selline

Turvaserver-8.gif

Andmekogu päringutele ligipääsu kontrollimine

TODO

X-tee keskserver

Turvaserver peab saama suhelda X-tee keskserveriga, selleks on valikud sellised nö väljapääsud, kui turvaserver peaks olema nt kohaliku tulemüüri taga

  • TCP 5555 - turvaserverite omavaheline andmevahetus, kaitstud SSL-protokolliga.
  • TCP 25 - SMTP, e-posti (sh tõrketeadete) saatmine Internetti;
  • TCP 37 - UNIX'i time protokoll diagnostikasüsteemi tarbeks;
  • TCP/UDP 53 - nimeserveri teenused;
  • TCP 80 - HTTP, keskserveri võtmete ja paikade laadimine;
  • UDP 123 - NTP, turvaserveri kella sünkroniseerimine;
  • TCP 5556 - turvaserveri päringute sõnumilühendite logimisprotokoll;
  • UDP 6666 - jälgimisjaamadele teabe saatmine.
  • icmp - echo-request

NTP kasutamine

Turvaserver hoiab kellaaega sünkroonis X-tee keskserveriga

# ntpq -np
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.168.109.145  192.168.105.226   2 u   66 1024  377    1.498    1.733   0.008

Märkused

  • X-tee keskserverist kõigi andmekogude nimekirja küsimiseks sobib öelda
 $ dig @192.168.1.1 allproducers.xtee.riik.ee txt
  • X-tee keskserverist kõigi asutusete nimekirja küsimiseks sobib öelda
 $ dig @192.168.1.1 allconsumers.xtee.riik.ee txt
  • andmekogu turvaserveri ip aadressi küsimine
 $  dig producers.andmekogunimi.xtee.riik.ee @192.168.1.1
  • Andmekogu (suvalise) wsdli küsimine turvaserverist aadressilt 10.0.0.1
 $ wget http://10.0.0.1/cgi-bin/uriproxy?producer=andmekogunimi&filename=andmekogunimi.wsdl

Turvaserveri diganostika

Kui turvaserveri kasutamisel esineb mistahes probleeme, maksab läbi teha turvaserveri haldusliideses sisalduv diagnostika

 Süsteem -> Diagnostika

Kasulikud lisamaterjalid