Page tree
Skip to end of metadata
Go to start of metadata

Instalacja oprogramowania i uruchomienie serwera QR-CERT polega na wykonaniu kolejno następujących czynności:


Informacja

 Procedura instalacji oprogramowania serwera QR-CERT nie zawiera czynności związanych z przygotowaniem wybranego środowiska, tj. systemu operacyjnego, bazy danych i modułu kryptograficznego (domyślnie jest skonfigurowany programowy emulator HSM - softHSM). Przed przystąpieniem do instalacji oprogramowania serwera QR-CERT należy zainstalować wymagane komponenty środowiska zgodnie z odpowiednią dokumentacją właściwą dla wybranych wersji.

Uwaga

Przykłady użytych w dokumentacji poleceń systemowych są właściwe dla systemu CentOS/RedHat Linux. W innych dystrybucjach systemu Linux składnia niektórych poleceń może się nieznacznie różnić.

Konto systemowe

Wymagane jest utworzenie konta mca i grupy mca w systemie docelowym, na którym zostanie zainstalowane oprogramowanie serwera. Wszystkie czynności instalacyjne, konfiguracyjne oraz eksploatacyjne należy wykonywać z poziomu tego konta (mca).

Utworzenie grupy i konta w systemie należy wykonać po zalogowaniu się jako użytkownik root:

# groupadd -g 250 mca
# useradd -u 250 -g 250 -c MCA -m mca
# passwd mca
Changing password for mca.
New password: <password>
Retype new password: <password>
passwd: all authentication tokens updated successfully.

Instalacja oprogramowania QR-CERT Serwer

Oprogramowanie serwera QR-CERT jest dystrybuowane w postaci pliku archiwum o nazwie:

qrcert-server-<ver>-<os>-<arch>-<db>-setup.tar.gz

Gdzie:

  • <ver> - numer wersji oprogramowania,
  • <os> - nazwa i wersja systemu operacyjnego,
  • <arch> - wersja architektury (32-bit, 64-bit),
  • <db> - typ bazy danych.

Instalację oprogramowania należy wykonać logując się na serwer jako użytkownik root. Zakładając że pliki instalacyjne zostały skopiowane na serwer do katalogu /var/tmp/sw należy wykonać:

# cd /var/tmp/sw
# tar zxvf mca-server-<ver>-<os>-<arch>-<db>-setup.tar.gz
# ./install.sh mca-server-<ver>-<os>-<arch>-<db>.tar.gz /opt/mca /var/opt/mca

Wskazówka

Parametry wykonania będące ścieżkami do katalogów instalacji /opt/mca oraz /var/opt/mca można zmienić na dowolne. Ścieżki zastosowane w niniejszej dokumentacji są ścieżkami domyślnymi.

Pomyślny wynik wykonania polecenia instalacji powinien być podobny do poniższego:

Installing MCA...
Archive file:     mca-server-5.0.1-centos7-x86_64-pgsql95.tar.gz
User:             mca
Group:            mca
Home directory:   /opt/mca
Shared directory: /var/opt/mca
Port base:        4500
Checking group...
OK
Checking user...
OK
Checking home directory...
OK
Checking shared directory...
OK
Extracting archive...
OK
Copying files...
OK
Updating configuration...
OK
Done

Struktura katalogów zainstalowanego oprogramowania jest następująca:

/opt/mca
     bin
     cert
     demo
     etc
     key
     lib
     man
     schema

/var/opt/mca
     backup
     etc
     logs
     repository

Gdzie:

  • bin - katalog zawierający pliki wykonywalne modułów serwera, programy narzędziowe oraz skrypty pomocnicze (np. uruchamiające m.in. mcactl.sh),
  • cert - katalog zawierający certyfikaty niezbędne do prawidłowej pracy serwera (po zainstalowaniu pusty),
  • demo - katalog zawierający konfigurację demonstracyjną,
  • etc - katalog zawierający pliki konfiguracyjne serwera,
  • key - katalog zawierający klucze softHSM - programowego emulatora modułu HSM (po zainstalowaniu pusty),
  • lib - katalog zawierający biblioteki dynamiczne używane przez oprogramowanie QR-CERT,
  • man - katalog zawierający plik systemu pomocy (tzw. manpages),
  • schema - katalog zawierający definicję schematu bazy danych.

Skrypty pomocnicze zawarte w katalogu bin:

  • mcaenv.sh - skrypt ustawiający parametry środowiska powłoki wykorzystywany przy wywołaniu programów narzędziowych i pozostałych skryptów,
  • mcactl.sh - skrypt do uruchamiania i zatrzymywania zainstalowanej instancji serwera QR-CERT,
  • logserverctl.sh - skrypt do uruchamiania i zatrzymywania modułu LOG-SERVER,
  • kg-init.sh - skrypt uruchamiający program narzędziowy KG-INIT,
  • p11tool.sh - skrypt uruchamiający program narzędziowy P11TOOL,
  • update.sh - skrypt do wykonywania aktualizacji oprogramowania serwera QR-CERT.

Pliki konfiguracyjne zawarte w katalogu etc:

  • mca.conf - główny plik z konfiguracją wszystkich modułów serwera,
  • mca-console.conf - opcjonalny plik konfiguracyjny z listą kont administratorów konsoli HSM (może nie występować jeżeli konsola HSM jest nieaktywna),
  • mca-auth.conf - opcjonalny plik konfiguracyjny z regułami autoryzacji dla klientów usług CA (tj: TSA, OCSP, SCEP). Może nie występować jeżeli usługi te są nieaktywne,
  • logserver-regs.conf - plik konfiguracyjny modułu LOG-SERVER z definicją dostępnych dzienników,
  • logserver-acl.conf - plik konfiguracyjny modułu LOG-SERVER z regułami autoryzacji modułów serwera,
  • tsa-policy.conf - opcjonalny plik konfiguracyjny modułu TS-SERVER z definicjami parametrów polityk urzędu znakowania czasem (może nie występować jeżeli usługa nie jest aktywna),
  • mpkcs11.conf - opcjonalny plik konfiguracyjny programowego emulatora modułu HSM (może nie występować jeżeli emulator nie jest wykorzystywany).

Szczegółowy opis konfiguracji można znaleźć w sekcji poświęconej konfiguracji.

W katalogu /var/opt/mca po uruchomieniu systemu zostaną utworzone pliki kopii bezpieczeństwa, pliki logów oraz repozytorium serwera logów.

Wybór języka

W pierwszej kolejności należy zdecydować jaki ma być docelowy język instalowanej instancji oprogramowania serwera QR-CERT. Dostępne są następujące języki:

  • en - angielski (język domyślny),
  • pl - polski.

Od ustawienia języka instancji będzie zależeć język interfejsu użytkownika, w tym zdefiniowane wartości słownikowe, zwracane komunikaty błędów, itp. Kod wybranego języka należy podać jako wartość parametru mca.lang pliku konfiguracyjnego mca.conf:

# su - mca
$ vi /opt/mca/etc/mca.conf
[...]
mca.lang = pl
[...]

Uwaga

Ze względu na fakt, że zalecane jest wykonywanie wszelkich zmian konfiguracyjnych oraz modyfikacji plików na koncie użytkownika mca, na początku każdego skryptu lub polecenia została umieszczona komenda przypominająca o zmianie użytkownika: su - mca.

Utworzenie bazy danych

Po zainstalowaniu bazy danych wybranego typu przygotowanie bazy do pracy z systemem QR-CERT wymaga kilku czynności:

  • utworzenia bazy danych o nazwie mca,
  • utworzenia konta użytkownika mca w bazie mca,
  • utworzenie schematu bazy danych systemu QR-CERT.

Baza danych mca musi należeć do schematu użytkownika mca, użytkownik musi mieć pełny dostęp do swojego schematu. Wszystkie procesy serwera QR-CERT będą łączyć się do bazy przy użyciu tego konta.

PostgreSQL

Utworzenie roli użytkownika mca i bazy danych mca:

# su - postgres
$ psql -d template1
template1=# CREATE USER mca WITH ENCRYPTED PASSWORD 'password';
template1=# CREATE DATABASE mca OWNER mca ENCODING 'UTF8';
template1=# \q
Ctrl+D 

Utworzenie schematu bazy danych systemu QR-CERT:

# su - mca
$ cd /opt/mca/schema
$ psql -h localhost -d mca -U mca -f ./mca_schema.sql >log 2>&1
$ psql -h localhost -d mca -U mca -f ./mca_lang_pl.sql >>log 2>&1

Wskazówka

Powyższy przykład zakłada schemat bazy w języku polskim. Jeżeli zachodzi potrzeba utworzenia schematu bazy w innym języku, należy wywołać odpowiedni skrypt mca_lang_xx.sql. Ważne jest, aby język tworzonego schematu bazy odpowiadał wybranemu językowi instancji określonemu w konfiguracji.

Poprawność utworzenia schematu można zweryfikować poleceniem:

 $ cat log | grep ERROR

Jeżeli wywołanie polecenia nie zwróci żadnych błędów oznacza to, że schemat został utworzony poprawnie.

Konfiguracja modułu kryptograficznego (HSM)

Oprogramowanie QR-CERT komunikuje się z modułem HSM poprzez interfejs PKCS#11. Sposób dalszej instalacji oprogramowania serwera QR-CERT różni się w zależności od posiadanego modułu HSM.

Programowy emulator HSM (softHSM)

Domyślny emulator HSM jest programową implementacją interfejsu PKCS#11 dostarczaną wraz z wersją instalacyjną oprogramowania serwera QR-CERT. Emulator HSM przechowuje wygenerowane klucze prywatne w pliku zapisanym w systemie operacyjnym. Dostęp do kluczy jest chroniony kodem PIN.

Uwaga

Ze względu na niewystarczający poziom oferowanego zabezpieczenia nie zaleca się stosowania domyślnego emulatora HSM do przechowywania kluczy produkcyjnych.


Domyślna konfiguracja emulatora definiuje trzy sloty PKCS#11:

  • slot 0 - slot dedykowany dla kluczy infrastruktury systemu QR-CERT,
  • slot 1 - slot operacyjny emulujący moduł HSM,
  • slot 2 - slot operacyjny emulujący moduł HSM,

Po zainstalowaniu oprogramowania serwera należy zainicjować powyższe sloty. Proces inicjacji polega na nadaniu nowych numerów SO PIN i PIN i utworzeniu plików emulujących moduły HSM:

# su - mca
$ cd /opt/mca/bin
$ ./p11tool.sh -init -lib libmpkcs11.so -slot 0 -sopin 2222 -pin 1111
$ ./p11tool.sh -init -lib libmpkcs11.so -slot 1 -sopin 2222 -pin 1111
$ ./p11tool.sh -init -lib libmpkcs11.so -slot 2 -sopin 2222 -pin 1111

Jeżeli podczas procedury inicjacji zostaną użyte inne numery PIN niż domyślne, należy ich wartości zmodyfikować w odpowiednich miejscach konfiguracji (definicje HSM).

Thales HSM

Po zainstalowaniu dedykowanego oprogramowania modułu HSM, w ramach przygotowania modułu należy utworzyć przestrzeń zapisu kluczy kryptograficznych (tzw. security world) oraz powiązane z nią zestawy kart administracyjnych (ACS - Administrator Card Set) i operacyjnych (OCS - Operator Card Set).

Zestaw kart OCS może być podzielony w dowolny sposób, jednakże zaleca się aby przy tworzeniu tego zestawu użyć opcji persistent, która to pozwoli na wyjęcie ostatniej karty po inicjacji modułu. Jeżeli zestaw kart OCS będzie wymagał do zalogowania do HSM użycia więcej niż jednej karty z zestawu konieczne będzie włączenie konsoli HSM w konfiguracji oprogramowania serwera QR-CERT.

Szczegółowy opis konfiguracji modułu kryptograficznego zawiera dokumentacja modułu HSM.

Po prawidłowym przygotowaniu modułu do pracy kolejnym krokiem jest dodanie lokalizacji biblioteki PKCS#11 do środowiska serwera QR-CERT:

# su - mca
$ vi /opt/mca/bin/mcaenv.sh
[...]
SHLIB_PATH=$SHLIB_PATH:/opt/nfast/toolkits/pkcs11
[...]

Oraz definicji modułu HSM do pliku konfiguracyjnego mca.conf:

# su - mca
$ vi /opt/mca/etc/mca.conf
[...]
$infhsm = Infrastructure HSM,libcknfast.so,1,console
[...]
keyhsm.1 = nShield HSM1,libcknfast.so,1,console

Dodatkowo należy użytkownika mca dodać do grupy nfast:

# usermod -G nfast mca
# id mca
uid=250(mca) gid=250(mca) groups=250(mca),2001(nfast)

Utimaco HSM

Po zainstalowaniu dedykowanego oprogramowania modułu HSM, w ramach przygotowania modułu należy wygenerować tzw. Master Backup Key (MBK) oraz skonfigurować co najmniej jeden slot PKCS#11.

Szczegółowy opis konfiguracji modułu zawiera dokumentacja modułu.

Po prawidłowym przygotowaniu modułu do pracy kolejnym krokiem jest dodanie lokalizacji biblioteki PKCS#11 oraz jej pliku konfiguracyjnego do środowiska serwera QR-CERT:

# su - mca
$ vi /opt/mca/bin/mcaenv.sh
[...]
SHLIB_PATH=$SHLIB_PATH:/opt/utimaco/x86-64/Crypto_APIs/PKCS11_R2/lib
[...]
CS_PKCS11_R2_CFG=/opt/utimaco/x86-64/Crypto_APIs/PKCS11_R2/lib/cs_pkcs11_R2.cfg
[...]
export CS_PKCS11_R2_CFG

Oraz definicji modułu HSM do pliku konfiguracyjnego mca.conf:

# su - mca
$ vi /opt/mca/etc/mca.conf
[...]
$infhsm = Infrastructure HSM,libcs_pkcs11_R2.so,0,console
[...]
keyhsm.1 = Utimaco HSM1,libcs_pkcs11_R2.so,0,console

Po zakończeniu konfiguracji modułu HSM można rozpocząć procedurę inicjowania nowej instancji.

Uwaga

W niektórych sytuacjach, w zależności od posiadanego środowiska może zachodzić konieczność dodatkowej modyfikacji domyślnej konfiguracji przed rozpoczęciem procedury inicjowania nowo utworzonej instancji.
Na tej stronie

Szukaj w dokumentacji

  • No labels