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

Konfiguracja oprogramowania serwera QR-CERT jest przechowywana w formie kilku plików tekstowych. Domyślnie, po zainstalowaniu oprogramowania pliki te znajdują się w katalogu /opt/mca/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 nie będzie używana),
  • mca-auth.conf - opcjonalny plik konfiguracyjny z regułami autoryzacji klientów usług CA (tj.: TSA, OCSP, SCEP). Może nie występować jeżeli usługi te nie będą wykorzystywane,
  • 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,
  • ocsp-responder.conf - opcjonalny plik konfiguracyjny modułu OCSP-SERVER z definicjami parametrów responder'ów OCSP (może nie występować jeżeli usługa będzie nie wykorzystywana),
  • 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 będzie nie wykorzystywana),
  • mpkcs11.conf - opcjonalny plik konfiguracyjny programowego emulatora modułu HSM (może nie występować jeżeli emulator nie jest wykorzystywany).


Wskazówka

Domyślna konfiguracja oprogramowania serwera QR-CERT pozwala na uruchomienie instancji aplikacji z użyciem bazy danych PostgreSQL i programowego emulatora modułu HSM (softHSM). Domyślnym językiem nowej instancji jest język angielski.

Format plików konfiguracyjnych

Zawartość pliku stanowi określony zbiór par typu: klucz, wartość. Separatorem klucza i wartości jest znak '=' (kod 0x3D). Separatorem parametrów jest znak nowej linii '\n' (kod 0x0A). Linia zawierająca w pierwszej kolumnie znak '#' (kod 0x23) jest komentarzem i jest pomijana podczas odczytu konfiguracji przez serwer.

Wartości parametrów mogą zawierać odwołania do zmiennych. W takim przypadku wartość parametru będzie stanowić rozwinięcie wartości podstawionej zmiennej. Zmienne definiuje się jako parametry o nazwie klucza rozpoczynającej się znakiem '$' (kod 0x24). Odwołanie do wartości zmiennej następuje poprzez użycie jej nazwy umieszczonej w nawiasach okrągłych '(' (kod 0x28) ')' (kod 0x29) poprzedzonej znakiem '$' (kod 0x24).

W przypadku wartości parametru określającego ścieżkę, jako separator ścieżki może być użyty znak '/' (kod 0x2F) lub '\' (kod 0x5C). Jeżeli wartością parametru jest lista, separatorem listy jest znak ',' (kod 0x2C).

Plik może również być podzielony na sekcje o dowolnych nazwach. W przypadku zdefiniowania sekcji, parametry sekcji będą widoczne jedynie w jej obrębie. Sekcje wyznacza jej nazwa umieszczona w nawiasach kwadratowych '[' (kod 0x5B), ']' (kod 0x5D).

Przykładowy fragment pliku konfiguracyjnego, który zawiera elementy opisane powyżej:

# definicja zmiennej o nazwie shared
$shared = /var/opt/mca

# początek sekcji o nazwie CA-ENGINE
[CA-ENGINE]

# definicja parametru o nazwie log.file i wartości /var/opt/mca/logs/ca-engine.log
log.file = $(shared)/logs/ca-engine.log

Definicja HSM

Definicja HSM to złożony Typ wartości występujący w plikach konfiguracyjnych. Zawiera on parametry wymagające określenia definicji interfejsu umożliwiającego dostęp do modułu HSM. Definicja HSM przyjmuje wartość podaną według następującego formatu:

name,pkcs11,slot,pin

Gdzie:

  • name - nazwa modułu,
  • pkcs11 - nazwa biblioteki PKCS#11 lub pełna ścieżka do biblioteki,
  • slot - indeks slotu PKCS#11,
  • pin - wartość console - numer PIN będzie pobierany z konsoli HSM, wartość preloaded - numer PIN został podany wcześniej innymi metodami, wszystkie inne wartości będą traktowane jako numer PIN do karty HSM.


Wskazówka

Domyślna konfiguracja oprogramowania serwera QR-CERT zawiera definicję programowego emulatora modułu HSM. W instalacjach produkcyjnych wykorzystujących sprzętowy moduł HSM należy zmodyfikować domyślną definicję i podać odpowiednie wartości parametrów właściwe dla posiadanego typu modułu.

Uwaga

Nazwy zmiennych, które przyjmują tego rodzaju typ wartości zostały opisane w tabelach poniżej.

Tryby audytu

Konfiguracja oprogramowania serwera QR-CERT umożliwia wybór jednego z następujących trybów gromadzenia informacji do audytu:

  • none - gromadzenie informacji o zdarzeniach systemu wyłączone (ustawienie domyślne),
  • logserver - gromadzenie informacji z wykorzystaniem centralnego rejestru prowadzonego przez moduł LOG-SERVER,
  • syslog - gromadzenie informacji z wykorzystaniem systemowego dziennika zdarzeń,
  • file - gromadzenie informacji z wykorzystaniem lokalnie tworzonych plików tekstowych.

Plik mca.conf

Główny plik konfiguracji mca.conf jest używany przez wszystkie moduły serwera systemu QR-CERT. Plik konfiguracyjny zawiera kilka sekcji:

  • sekcję parametrów globalnych,
  • sekcje parametrów lokalnych poszczególnych modułów.

Parametry globalne są współdzielone przez wszystkie moduły serwera. Parametry lokalne są opcjami specyficznymi dla poszczególnych modułów serwera i zaczynają się w pliku konfiguracyjnym odpowiednim znacznikiem sekcji.

Zmienne

Domyślnie plik mca.conf zawiera definicję następujących zmiennych.

Nazwa zmiennejTyp wartościOpis
$homeŚcieżkaŚcieżka do głównego katalogu oprogramowania serwera (domyślnie: /opt/mca).
$sharedŚcieżkaŚcieżka do katalogów roboczych oprogramowania serwera (domyślnie: /var/opt/mca).
$infhsmDefinicja HSM

Reguła definiująca interfejs HSM dla kluczy infrastruktury.

$scrlibŚcieżkaŚcieżka do biblioteki PKCS#11 do obsługi karty kryptograficznej.
$scrslotLiczbaIndeks slotu PKCS11 czytnika PC/SC.
$modsTekstLista bibliotek zawierających implementacje funkcji MPCL.

Sekcja parametrów globalnych

Nazwa parametruTyp wartościOpis
mca.nameTekstNazwa instancji serwera (domyślnie MCA).
mca.langTekstNazwa domyślnego języka instancji serwera (en, pl, domyślnie: en).
db.typeTekstTyp użytej bazy danych. Dopuszczalne wartości to: oracle, postgresql, sqlserver, db2.
db.hostNumer IPAdres serwera bazy danych.
db.portLiczbaPort serwera bazy danych.
db.nameTekstNazwa instancji bazy danych (domyślnie: mca).
db.userTekstNazwa konta serwera w bazie danych (domyślnie: mca).
db.passwdTekstHasło konta serwera w bazie danych (domyślnie: mca).
db.maxconnLiczbaMaksymalna ilość fizycznych połączeń z bazą (ilość jednoczesnych połączeń które może utrzymywać serwer do bazy).
db.maxtriesLiczbaMaksymalna ilość prób odzyskania zerwanego połączenia z bazą.
db.maxtimeLiczbaMaksymalny czas odzyskiwania zerwanego połączenia z bazą (w sek).
db.stepLiczbaOdstęp czasu, co jaki będą podejmowane próby odzyskania zerwanego połączenia z bazą (w sek).
db.waitforLiczbaCzas oczekiwania na utworzenie nowego połączenia do bazy (w sek).
console.hostNumer IPAdres konsoli HSM (domyślnie: 127.0.0.1).
console.aclŚcieżkaPlik z listą ACL administratorów mających dostęp do konsoli HSM (domyślnie: $(home)/etc/mca-console.conf).
infca.hsmDefinicja HSMDefinicja opcjonalnego modułu HSM opisanego zmienną $(infhsm).
infca.cert.extŚcieżkaLista dodatkowych zaufanych urzędów infrastruktury.
infca.certŚcieżkaCertyfikat urzędu infrastruktury.
infca.keyTekstIdentyfikator klucza urzędu infrastruktury w HSM lub ścieżka do pliku klucza.
trusted.certŚcieżkaLista plików certyfikatów zaufanych urzędów (domyślnie: $(home)/cert/ca-cert.pem).
trusted.crlURLLista URL do list CRL.
trusted.crl.refreshLiczbaOkres odświeżania list CRL (w sek, 0 - wyłączone).
trusted.verifyTekstTryb weryfikacji certyfikatów (none, path, path-crl, path-ocsp, path-crl-ocsp, path-ocsp-crl).
log.levelLiczbaLiczba opisująca poziom dokładności zapisywanego przebiegu pracy modułu. Wartości dopuszczalne: 0-9 (domyślna: 6).
log.maxsizeLiczbaLiczba określająca maksymalny rozmiar pliku logowania parametrów pracy (w MB, 0 – bez ograniczeń).
log.backdirŚcieżkaŚcieżka do katalogu kopii zapasowej pliku logowania parametrów pracy.
audit.modeTekstTryb audytu (none, logserver, syslog, file, domyślnie: none).
audit.hostNumer IPAdres serwera logów.
audit.portLiczbaPort serwera logów.
audit.file.maxsizeLiczbaMaksymalny rozmiar pliku logu w MB (0 - bez limitu).
audit.file.archdirŚcieżkaKatalog do archiwizacji logów.
audit.file.archcmdTekstPolecenie do wykonania na zarchiwizowanym logu (%s - nazwa pliku).
auth.fileŚcieżkaŚcieżka do pliku z regułami autoryzacji klientów serwisów.
auth.header.certTekstNagłówek HTTP zawierający certyfikat klienta.
rsa.moduleŚcieżkaŚcieżka do biblioteki akceleratora operacji RSA.
wrap.key.hsmLiczbaFlaga decydująca o źródle klucza do wrapowania danych wrażliwych (1 - HSM, 0 - plik).
wrap.keyTekstKlucz do wrapowania danych wrażliwych (id w HSM lub AES256-CBC [0-9A-F]{64}).

Pozostałe parametry są parametrami lokalnymi służącymi do konfiguracji poszczególnych modułów serwera.

Sekcja modułu KG-INIT

Nazwa parametruTyp wartościOpis
log.fileŚcieżkaŚcieżka do pliku, w którym moduł zapisuje przebieg swojej pracy.
scr.libŚcieżkaŚcieżka do biblioteki PKCS#11 do obsługi karty kryptograficznej.
scr.slotLiczbaIndeks slotu PKCS#11 czytnika PC/SC.
audit.certŚcieżkaŚcieżka do pliku zawierającego certyfikat modułu do zestawiania połączeń do serwera logów. Wartość wymagana dla audit.hsm = 1.
audit.keyŚcieżka lub tekstDla audit.hsm = 0, ścieżka do pliku zawierającego klucz prywatny serwera do zestawiania połączeń do serwera logów. Dla audit.hsm = 1, identyfikator klucza prywatnego w HSM. Wartość wymagana dla audit.hsm = 1.
audit.fileŚcieżkaNazwa pliku logu (przy audit.mode = file).

Sekcja modułu LOG-SERVER

Nazwa parametruTyp wartościOpis
log.fileŚcieżkaŚcieżka do pliku, w którym moduł zapisuje przebieg swojej pracy.
pid.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje swój numer procesu.
stat.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje dane statystyczne.
console.portLiczbaNumer portu konsoli HSM (domyślnie: 4501).
server.threadsLiczbaMaksymalna dopuszczalna ilość połączeń jednoczesnych, jaką jest w stanie obsłużyć serwer (domyślnie: 20).
server.badcmdLiczbaDopuszczalna ilość błędnych poleceń odebranych od klienta (domyślnie: 4).
server.closeafterLiczbaMaksymalny dopuszczalny czas bezczynności połączenia klienta (w sek, domyślnie: 3600).
server.cacheŚcieżkaŚcieżka do katalogu, w którym aplikacja serwera będzie zapisywać wartości niektórych parametrów w formie plików.
acl.fileŚcieżkaŚcieżka do pliku zawierającego listę uprawionych do logowania aplikacji.
ssl.versionTekstDopuszczalne wersje protokołów obsługiwane przez serwer (domyślnie: tls1:ssl3).
ssl.cipherTekstDopuszczalne typy algorytmów obsługiwane przez serwer (domyślnie: aes256-cbc-sha512:aes256-cbc-sha384:aes256-cbc-sha256).
ssl.digalgTekstDopuszczalne funkcje skrótu do handshake'u (domyślnie: sha256:sha512).
ssl.peerLiczbaWartość logiczna decydująca o weryfikacji certyfikatu klienta przy zestawianiu połączeń SSL. Wartości dopuszczalne: 0 - nie, 1 - tak (domyślnie: 1).
ssl.certŚcieżkaŚcieżka do pliku zawierającego certyfikat serwera do zestawiania połączeń SSL.
ssl.keyŚcieżka lub tekstDla hsm.enabled = 0, ścieżka do pliku zawierającego klucz prywatny serwera do zestawiania połączeń SSL. Dla hsm.enabled = 1, identyfikator klucza prywatnego w HSM. Wartość wymagana dla hsm.enabled = 1.
repo.dirŚcieżkaŚcieżka do katalogu, w którym aplikacja serwera będzie zapisywać odebrane rekordy w plikach logów (repozytorium).
repo.certŚcieżkaŚcieżka do certyfikatu repozytorium serwera, służącego do weryfikacji złożonych podpisów RSA. Plik musi być zapisany w formacie PEM.
repo.keyŚcieżka lub tekstDla hsm.enabled = 0, ścieżka do pliku zawierającego klucz prywatny repozytorium serwera. Dla hsm.enabled = 1, identyfikator klucza prywatnego w HSM.
reg.fileŚcieżkaŚcieżka do pliku zawierającego definicje rejestrów prowadzonych przez serwer.
reg.maxfilesLiczbaMaksymalna ilość plików logów w jednym podkatalogu rejestru (domyślnie: 10).
reg.maxsizeLiczbaMaksymalny rozmiar (w MB) pojedynczego pliku logu rejestru (domyślnie: 10).
reg.maxtimeLiczbaMaksymalny czas (w h) aktywności pojedynczego pliku logu rejestru. Po przekroczeniu tego czasu, serwer utworzy nowy plik logu (domyślnie: 120).

Sekcja modułu CA-ENGINE

Nazwa parametruTyp wartościOpis
log.fileŚcieżkaŚcieżka do pliku, w którym moduł zapisuje przebieg swojej pracy.
pid.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje swój numer procesu.
stat.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje dane statystyczne.
console.portLiczbaNumer portu konsoli HSM (domyślnie: 4511).
engine.idLiczbaIdentyfikator konta procesu w bazie danych (domyślnie: 5).
engine.case.monitor.threadsLiczbaMaksymalna liczba wątków roboczych monitora kolejki wniosków (domyślnie: 10).
engine.case.monitor.timeLiczbaCzas sprawdzania kolejki wniosków (w ms, domyślnie: 100).
engine.cert.monitor.threadsLiczbaMaksymalna liczba wątków roboczych monitora certyfikatów (domyślnie: 2).
engine.cert.monitor.timeLiczbaCzas sprawdzania monitora certyfikatów (w ms, domyślnie: 3600000).
engine.crl.monitor.enabledLiczbaWartość logiczna decydująca o zezwoleniu na generowanie list CRL (w przypadku uruchomienia kilku instancji engine’a tylko jeden z nich może generować CRL). Dopuszczalne wartości: 0 - nie, 1 - tak (domyślnie: 1).
engine.crl.monitor.threadsLiczbaMaksymalna liczba wątków roboczych monitora CRL (domyślnie: 2).
engine.crl.monitor.timeLiczbaCzas sprawdzania monitora CRL (w ms, domyślnie: 60000).
engine.shared.key.hsmLiczbaDecyduje o źródle klucza dzielonego do wrapowania (1 - HSM, 0 - plik).
engine.shared.keyTekstKlucz dzielony do wrapowania kluczy subskrybentow (AES256-CBC [0-9A-F]{64}).
keyhsm.totalLiczbaIlość modułów HSM do przechowywania kluczy kryptograficznych (domyślnie: 1).
keyhsm.1Definicja HSMDefinicja modułu HSM do przechowywania kluczy kryptograficznych.
keygen.enabledLiczbaZgoda na generowanie kluczy w modułach HSM urzędów (0 - nie, 1 - tak, domyślnie: 1).
keygen.hsmDefinicja HSMDefinicja modułu HSM do generowania kluczy.
audit.certŚcieżkaŚcieżka do pliku zawierającego certyfikat modułu do zestawiania połączeń do serwera logów. Wartość wymagana dla audit.hsm = 1.
audit.keyŚcieżka lub tekstDla ścieżka do pliku zawierającego klucz prywatny serwera do zestawiania połączeń do serwera logów lub identyfikator klucza prywatnego w HSM.
audit.fileŚcieżkaNazwa pliku logu (dla audit.mode = file).

Sekcja modułu CAO-GATEWAY

Nazwa parametruTyp wartościOpis
log.fileŚcieżkaŚcieżka do pliku, w którym moduł zapisuje przebieg swojej pracy.
pid.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje swój numer procesu.
stat.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje dane statystyczne.
console.portLiczbaNumer portu konsoli HSM (domyślnie: 4521).
server.nameNumer IPAdres IP modułu komunikacyjnego.
server.portLiczbaNumer portu modułu komunikacyjnego (domyślnie: 4522).
server.modulesTekstLista bibliotek zawierających implementacje funkcji MPCL.
mpcl.maxclientsLiczbaMaksymalna ilość klientów (domyślnie: 20).
mpcl.maxconnectionsLiczbaMaksymalna ilość połączeń (domyślnie: 20).
mpcl.maxsessionsLiczbaMaksymalna ilość sesji MPCL (domyślnie: 3).
mpcl.maxtimeLiczbaCzas trwania sesji MPCL (w sek, domyślnie: 3600).
mpcl.maxidleLiczbaCzas bezczynności sesji MPCL (w sek, domyślnie: 600).
mpcl.maxerrorsLiczbaMaksymalna ilość błędów protokołu MPCL.
mpcl.ra.onlyLiczbaWartość logiczna decydująca o tym czy serwer ma obsługiwać wyłącznie konta punktów rejestracji. Wartości dopuszczalne: 0 - nie, 1 - tak (domyślnie: 0).
mpcl.client.jobs.timeLiczbaCzas skanowania kolejki zleceń klientów (w ms, domyślnie: 1000).
ssl.versionTekstDopuszczalne wersje protokołów obsługiwane przez serwer (domyślnie: tls1:ssl3).
ssl.cipherTekstDopuszczalne typy algorytmów obsługiwane przez serwer (domyślnie: aes256-cbc-sha512:aes256-cbc-sha384:aes256-cbc-sha256:aes256-cbc-sha1:aes128-cbc-sha1).
ssl.digalgTekstDopuszczalne funkcje skrótu do handshake'u (domyślnie: md5:sha1).
ssl.peerLiczbaWartość logiczna decydująca o weryfikacji certyfikatu klienta przy zestawianiu połączeń SSL. Wartości dopuszczalne: 0 - nie, 1 - tak (domyślnie: 1).
ssl.certŚcieżkaŚcieżka do pliku zawierającego certyfikat serwera do zestawiania połączeń SSL.
ssl.keyŚcieżka lub tekstDla hsm.enabled = 0, ścieżka do pliku zawierającego klucz prywatny serwera do zestawiania połączeń SSL. Dla hsm.enabled = 1, identyfikator klucza prywatnego w HSM. Wartość wymagana dla hsm.enabled = 1.
extsys.import.enabledLiczbaFlaga aktywująca import danych klientów z systemu zewnętrznego (0 - wyłączony, 1 - włączony).
extsys.import.autoLiczbaTryb importu danych: 0 - manualny, 1 - automatyczny).
extsys.export.enabledLiczbaFlaga aktywująca ekport danych do systemu zewnętrznego (0 - wyłączony, 1 - włączony).
extsys.export.autoLiczbaTryb eksportu danych: 0 - manualny, 1 - automatyczny.
extsys.scriptŚcieżkaSkrypt odpowiedzialny za integrację z systemem zewnętrznym.
extsys.script.timeoutLiczbaMaksymalny czas oczekiwania na wykonanie skryptu (w sek, domyślnie: 30).
audit.certŚcieżkaŚcieżka do pliku zawierającego certyfikat modułu do zestawiania połączeń do serwera logów. Wartość wymagana dla audit.hsm = 1.
audit.keyŚcieżka lub tekstDla ścieżka do pliku zawierającego klucz prywatny serwera do zestawiania połączeń do serwera logów lub identyfikator klucza prywatnego w HSM.
audit.fileŚcieżkaNazwa pliku logu (dla audit.mode = file).

Sekcja modułu CA-PUBLISHER

Nazwa parametruTyp wartościOpis
log.fileŚcieżkaŚcieżka do pliku, w którym moduł zapisuje przebieg swojej pracy.
pid.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje swój numer procesu.
stat.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje dane statystyczne.
console.portLiczbaNumer portu konsoli HSM (domyślnie: 4531).
engine.instance_idTekstIdentyfikator instancji modułu publikacji (domyślnie: publisher_node_1).
engine.idLiczbaIdentyfikator konta procesu w bazie danych (domyślnie: 6).
engine.threadsLiczbaMaksymalna dopuszczalna ilość połączeń jednoczesnych, jaką jest w stanie obsłużyć moduł (domyślnie: 3).
engine.queueLiczbaCzas sprawdzania kolejki zleceń (w ms, domyślnie: 1000).
cert_delete.enabledLiczbaWartość logiczna decydująca o zezwoleniu na zlecenia kasowania certyfikatów. Wartości dopuszczalne: 0 - nie, 1 - tak (domyślnie: 0).
notify.enabledLiczbaWartość logiczna decydująca o włączeniu usługi powiadomień o wygasających certyfikatach przy pomocy e-mail. Wartości dopuszczalne: 0 - nie, 1 - tak (domyślnie: 0).
notify.queue_periodLiczbaCzas co jaki będzie sprawdzana kolejka zleceń (w sek, domyślnie: 86400).
notify.retryLiczbaIlość prób wysłania pojedynczego powiadomienia.
notify.timeoutLiczbaCzas po jakim nastąpi ponowienie próby wysłania powiadomienia (w sek, domyślnie: 1800).
notify.smtp_hostNumer IPAdres serwera pocztowego.
notify.smtp_portLiczbaNumer portu serwera pocztowego.
notify.smtp_domainTekstDomena poczty e-mail.
notify.reply_toTekstAdres konta użytkownika na które maja przychodzić odpowiedzi (pole Reply-To).
notify.smtp_userTekstNazwa użytkownika serwera e-mail.
notify.smtp_passTekstHasło użytkownika serwera e-mail.
notify.smtp_starttlsLiczbaWartość logiczna decydująca o użyciu metody START TLS. Wartości dopuszczalne: 0 - nie, 1 - tak.
notify.smtp_oversslLiczbaWartość logiczna decydująca o użyciu metody OVERSSL. Wartości dopuszczalne: 0 - nie, 1 - tak.
audit.certŚcieżkaŚcieżka do pliku zawierającego certyfikat modułu do zestawiania połączeń do serwera logów. Wartość wymagana dla audit.hsm = 1.
audit.keyŚcieżka lub tekstDla ścieżka do pliku zawierającego klucz prywatny serwera do zestawiania połączeń do serwera logów lub identyfikator klucza prywatnego w HSM.
audit.fileŚcieżkaNazwa pliku logu (dla audit.mode = file).

Sekcja modułu OCSP-SERVER

Definicja interfejsu

Parametry wymagające określenia definicji interfejsu serwera przyjmują wartość podaną według następującego formatu:

protocol://host:port[,options]

Gdzie:

  • protocol - nazwa protokołu interfejsu, jedna z wartości:
    • http - protokół HTTP,
    • https - protokół HTTP w tunelu SSL/TLS,
    • tcp - protokół TCP,
    • tcps - protokół TCP w tunelu SSL/TLS,
  • host - nazwa lub numer IP interfejsu,
  • port - numer portu interfejsu,
  • options - dodatkowe opcje interfejsu:
    • ipcheck - użycie opcji włącza weryfikację numeru IP klienta,
    • auth - użycie opcji włącza autoryzację klienta w oparciu o jego certyfikat,
    • sigreq - użycie opcji włącza konieczność umieszczenia podpisu elektronicznego pod wnioskiem o sprawdzenie statusu certyfikatu.

Lista parametrów konfiguracyjnych

Nazwa parametruTyp wartościOpis
log.fileŚcieżkaŚcieżka do pliku, w którym moduł zapisuje przebieg swojej pracy.
pid.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje swój numer procesu.
stat.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje dane statystyczne.
console.portLiczbaNumer portu konsoli HSM (domyślnie: 4541).
address.totalLiczbaCałkowita ilość dostępnych interfejsów serwera.
address.NDefinicja interfejsuInterfejs numer N serwera.
server.threadsLiczbaMaksymalna dopuszczalna ilość połączeń jednoczesnych, jaką jest w stanie obsłużyć moduł (domyślnie: 50).
server.limitLiczbaMaksymalna dopuszczalna ilość obsługiwanych wniosków na sek. (0 - bez limitu).
server.badcmdLiczbaDopuszczalna ilość błędnych poleceń odebranych od klienta.
server.closeafterLiczbaMaksymalny dopuszczalny czas bezczynności połączenia klienta.
ocsp.modeTekstTryb pracy z bazą danych lub CRL z pliku (0 - db, 1 - plik).
ocsp.response.modeTekstStatus udzielanej odpowiedzi (unknown, good, domyślnie: good).
ocsp.preproductionLiczbaTryb preprodukcji odpowiedzi (0 - bez preprodukcji, tryb standardowy RFC2560, 1 - z preprodukcją, tryb rozszerzony RFC5019).
ocsp.cache.timeLiczbaCzas przechowywania obiektu w cache (w sek, domyślnie: 600).
ocsp.nonceLiczbaObsługa nonce (0 - nie, 1 - tak).
ocsp.crlsURLLista URL do list CRL.
ocsp.crls.freqLiczbaCzas co ile ma być sprawdzana nowa lista CRL (w sek).
ocsp.crls.verifyLiczbaWeryfikacja list CRL (0 - nie, 1 - tak).
ocsp.respondersŚcieżkaŚcieżka do pliku zawierającego definicje responder'ów OCSP.
ssl.hsmDefinicja HSMDefinicja opcjonalnego modułu dla przechowywania kluczy SSL.
ssl.certŚcieżkaŚcieżka do pliku z certyfikatem modułu do zestawiania połączeń SSL. Plik musi być zapisany w formacie PEM.
ssl.keyŚcieżka lub tekstŚcieżka do pliku zawierającego klucz prywatny SSL (plik w formacie PEM) lub identyfikator klucza prywatnego w HSM.
ssl.versionsTekstDopuszczalne wersje protokołów obsługiwane przez moduł (domyślnie: tls1,ssl3).
ssl.ciphersTekstDopuszczalne typy algorytmów obsługiwane przez moduł (domyślnie: aes256-cbc-sha512,aes256-cbc-sha384,aes256-cbc-sha256,aes256-cbc-sha1,des-cbc-sha1).
ssl.handshakeTekstFunkcje skrótu używane do handshake'u (domyślnie: md5,sha1).
rlog.enabledLiczbaFlaga decydująca o rejestrowaniu zapytań i odpowiedzi (0 - nie, 1 - tak).
rlog.fileŚcieżkaŚcieżka do bieżącego pliku rejestru zapytań i odpowiedzi.
rlog.regdirŚcieżkaKatalog rejestrów zapytań i odpowiedzi.
rlog.maxtimeLiczbaMaksymalny czas życia pliku rejestru (w h).
rlog.requestLiczbaWartość logiczna decydująca o użyciu rejestrowania zawartości pakietu zapytania. Wartości dopuszczalne: 0 - nie, 1 - tak.
rlog.responseLiczbaWartość logiczna decydująca o użyciu rejestrowania zawartości pakietu odpowiedzi. Wartości dopuszczalne: 0 - nie, 1 - tak.
hlog.enabledLiczbaFlaga decydująca o rejestrowaniu statystyk dobowych. Wartości dopuszczalne: 0 - nie, 1 - tak.
hlog.fileŚcieżkaŚcieżka do bieżącego pliku rejestru zapytań.
hlog.regdirŚcieżkaKatalog rejestrów.
hlog.maxtimeLiczbaMaksymalny czas życia pliku rejestru (w h).
hlog.freqLiczbaOdstęp czasu miedzy kolejnymi wpisami do pliku statystyk (w sek).
ocsp.stat.enabledLiczbaFlaga włączająca zapis danych statystycznych (0 - wyłączony, 1 - włączony).
ocsp.stat.timeLiczbaCzas aktualizacji danych (w sek).
ocsp.stat.fileŚcieżkaŚcieżka do pliku z danymi statystycznymi.
ocsp.stat.maxsizeLiczbaMaksymalny rozmiar jednego pliku (w MB, 0 - bez ograniczenia).
ocsp.stat.backdirŚcieżkaKatalog do backupu danych.
audit.certŚcieżkaŚcieżka do pliku zawierającego certyfikat modułu do zestawiania połączeń do serwera logów. Wartość wymagana dla audit.hsm = 1.
audit.keyŚcieżka lub tekstDla ścieżka do pliku zawierającego klucz prywatny serwera do zestawiania połączeń do serwera logów lub identyfikator klucza prywatnego w HSM.
audit.fileŚcieżkaNazwa pliku logu (dla audit.mode = file).

Sekcja modułu TS-SERVER

Definicja interfejsu

Parametry wymagające określenia definicji interfejsu serwera przyjmują wartość podaną według następującego formatu:

protocol://host:port[,options]

Gdzie:

  • protocol - nazwa protokołu interfejsu, jedna z wartości:
    • http - protokół HTTP,
    • https - protokół HTTP w tunelu SSL/TLS,
    • tcp - protokół TCP,
    • tcps - protokół TCP w tunelu SSL/TLS,
  • host - nazwa lub numer IP interfejsu,
  • port - numer portu interfejsu,
  • options - dodatkowe opcje interfejsu:
    • ipcheck - użycie opcji włącza weryfikację numeru IP klienta,
    • auth - użycie opcji włącza autoryzację klienta w oparciu o jego certyfikat,
    • p7s - użycie opcji włącza konieczność zastosowania kopertowania wniosku z użyciem formatu PKCS#7 signedData.

Lista parametrów konfiguracyjnych

Nazwa parametruTyp wartościOpis
log.fileŚcieżkaŚcieżka do pliku, w którym moduł zapisuje przebieg swojej pracy.
pid.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje swój numer procesu.
stat.fileŚcieżkaŚcieżka do pliku, w którym serwer zapisuje dane statystyczne.
console.portLiczbaNumer portu konsoli HSM (domyślnie: 4551).
address.totalLiczbaCałkowita ilość dostępnych interfejsów serwera.
address.NDefinicja interfejsuInterfejs numer N serwera.
server.threadsLiczbaMaksymalna dopuszczalna ilość połączeń jednoczesnych, jaką jest w stanie obsłużyć moduł.
server.limitLiczbaMaksymalna dopuszczalna ilosc znaczników na sek. (0 - bez limitu).
server.badcmdLiczbaDopuszczalna ilość błędnych poleceń odebranych od klienta.
server.closeafterLiczbaMaksymalny dopuszczalny czas bezczynności połączenia klienta.
server.keep.aliveLiczbaFlaga trybu keep-alive (0 - wyłączony, 1 - włączony).
server.policiesŚcieżkaŚcieżka do pliku z konfiguracją polityk TSA.
server.cacheŚcieżkaŚcieżka do katalogu cache modułu.
ssl.hsmDefinicja HSMDefinicja opcjonalnego modulu SSL.
ssl.certŚcieżkaŚcieżka do pliku z certyfikatem  modułu do zestawiania połączeń SSL. Plik musi być zapisany w formacie PEM.
ssl.keyŚcieżka lub tekstKlucz serwera do zestawiania połączeń (id dla HSM lub ścieżka).
ssl.versionsTekstDopuszczalne wersje protokołów obsługiwane przez moduł (domyślnie: tls1,ssl3).
ssl.ciphersTekstDopuszczalne typy algorytmów obsługiwane przez moduł (domyślnie: aes256-cbc-sha512,aes256-cbc-sha384,aes256-cbc-sha256,aes256-cbc-sha1,aes128-cbc-sha1).
ssl.handshakeTekstFunkcje skrótu do handshake'u (domyślnie: md5,sha1).
tst.archive.enabledLiczbaFlaga archiwizacji wydanych znaczników (0 - bez archiwizacji, 1 - archiwizacja).
tst.archive.fileŚcieżkaŚcieżka do pliku archiwum wydanych znaczników.
tst.archive.maxsizeLiczbaMaksymalny rozmiar jednego pliku archiwum (w MB, 0 - bez ograniczenia).
tst.archive.backdirŚcieżkaKatalog do backupu archiwum.
tst.stat.enabledLiczbaFlaga wlaczajaca zapis danych statystycznych (0 - wyłączony, 1 - włączony).
tst.stat.timeLiczbaCzas aktualizacji danych (w sek).
tst.stat.fileŚcieżkaŚcieżka do pliku z danymi statystycznymi.
tst.stat.maxsizeLiczbaMaksymalny rozmiar jednego pliku (w MB, 0 - bez ograniczenia).
tst.stat.backdirŚcieżkaKatalog do backupu danych.
audit.certŚcieżkaŚcieżka do pliku zawierającego certyfikat modułu do zestawiania połączeń do serwera logów. Wartość wymagana dla audit.hsm = 1.
audit.keyŚcieżka lub tekstDla ścieżka do pliku zawierającego klucz prywatny serwera do zestawiania połączeń do serwera logów lub identyfikator klucza prywatnego w HSM.
audit.fileŚcieżkaNazwa pliku logu (dla audit.mode = file).

Plik mca-console.conf

Opcjonalny plik konfiguracyjny z listą kont administratorów konsoli HSM (może nie występować jeżeli konsola HSM nie jest wykorzystywana).

Plik zawiera wyłącznie sekcję parametrów globalnych. Poszczególne parametry definiują konta administratorów konsoli HSM. Składnia parametru jest następująca:

# konto administratora konsoli HSM
login = SHA1(passwd)

Nie zachodzi konieczność manualnej edycji tego pliku konfiguracyjnego. Zarządzanie kontami konsoli HSM realizowane jest przy użyciu narzędzia KG-INIT. Domyślnie zdefiniowane jest jedno konto administratora konsoli o identyfikatorze admin z hasłem admin. W instalacjach produkcyjnych zaleca się zmianę hasła domyślnego konta lub jego usunięcie.

Plik mca-auth.conf

Opcjonalny plik konfiguracyjny z regułami autoryzacji klientów usług CA (tj.:TSA, OCSP, SCEP). Może nie występować jeżeli wymienione usługi nie są wykorzystywane.

W pliku zostały wyodrębnione trzy sekcje:

  • RULES,
  • ADDRESSES,
  • FUNCTIONS.

Sekcja RULES definiuje reguły określające grupy klientów usług. Reguły definiowane są według następujących czterech formatów:

IP - ip subnet, format: IP:ip_number/mask
IS - issuer/serial, format: IS:issuer_dn:hex_serial
PI - policy id, format: PI:object_id
SV - subject value, format: SV:rdn:value

Nazwy reguł mogą być dowolne, natomiast wartości przypisywane regułom muszą być zgodne ze zdefiniowanym formatem. Zastosowanie symbolu gwiazdki (*) oznacza, że można zastosować dowolną wartość. Każda z reguł może wystąpić raz, wiele razy lub wcale.

Pierwsza z reguł (prefix: IP) umożliwia zdefiniowanie zakresu adresów IP, które mają możliwość łączenia się do usługi i wywoływania funkcji. Format reguły daje możliwość zdefiniowania pojedynczego adresu IP lub całej podsieci. Reguły typu IP mogą być wykorzystane wyłącznie w sekcji ADDRESSES. Reguły pozostałych typów mogą być wykorzystane wyłącznie w sekcji FUNCTIONS.

Reguła typu IS definiuje, jakimi certyfikatami mogą przedstawiać się klienci wywołujący usługę. Parametr issuer_dn określa wystawcę certyfikatu, a parametr hex_serial numer certyfikatu klienta. Dla przykładu zdefiniowanie reguły:

IS:CN=Malkom CA:*

Powyższa reguła oznacza, że usługa będzie akceptować tylko klientów uwierzytelniających się certyfikatami, które w polu issuer mają wartość commonName (CN) równą Malkom CA. Symbol '*' (gwiazdka) oznacza, że akceptowane będą wszystkie certyfikaty zdefiniowanego wystawcy, bez względu na numer seryjny certyfikatu.

Reguła typu PI określa OID polityki certyfikacji, który jest zapisany w certyfikacie. Tylko klienci, którzy posiadają certyfikaty wystawione z określonej (na podstawie OID) polityki certyfikacji mają dostęp do usługi.

Reguła typu SV określa wartość dla pola subject certyfikatu. Parametr rdn definiuje który element DN jest brany pod uwagę przy udzielaniu odstępu. Zdefiniowanie przykładowej reguły:

SV:O:Malkom

Powyższa reguła oznacza, że dostęp do usługi uzyskają klienci, którzy w polu subject certyfikatu, w elemencie organizationName (O) będą mieli wpisaną wartość Malkom.

Plik logserver-regs.conf

Plik konfiguracyjny modułu LOG-SERVER z definicją dostępnych dzienników. Domyślnie plik zawiera definicję trzech typów dzienników zdarzeń:

  • rejestru bezpieczeństwa,
  • rejestru aktywności użytkowników,
  • rejestru aktywności sieciowej.

Nie zachodzi konieczność manualnej edycji tego pliku konfiguracyjnego.

Plik logserver-acl.conf

Plik konfiguracyjny modułu LOG-SERVER z regułami autoryzacji modułów serwera. Zdefiniowane w pliku reguły decydują o dostępie poszczególnych modułów serwera do serwera logów.

Nie zachodzi konieczność manualnej edycji tego pliku konfiguracyjnego.

Plik ocsp-responder.conf

Opcjonalny plik konfiguracyjny modułu OCSP-SERVER z definicjami parametrów responder'ów OCSP. Plik może nie występować jeżeli usługa OCSP nie jest wykorzystywana.

Usługa weryfikacji statusu certyfikatu umożliwia obsługę wielu responder'ów OCSP jednocześnie. Każdy responder zdefiniowany jest jako osobna sekcja pliku konfiguracyjnego z tym samym zestawem parametrów. Domyślnie w sekcji DEFAULT zdefiniowany jest jeden responder OCSP o nazwie Default OCSP Responder.

Domyślnie plik zawiera definicję następujących zmiennych:

Nazwa zmiennejTyp wartościOpis
$homeŚcieżkaŚcieżka do głównego katalogu oprogramowania serwera (domyślnie: /opt/mca).
$sharedŚcieżkaŚcieżka do katalogów roboczych oprogramowania serwera (domyślnie: /var/opt/mca).


Sekcja globalna pliku zawiera definicję następujących parametrów:

Nazwa parametruTyp wartościOpis
responders.listTekstLista aktywnych responder'ów (lista nazw sekcji rozdzielona przecinkami).


Każda z sekcji definiującej responder'a OCSP może zawierać definicję następujących parametrów:

Nazwa parametruTyp wartościOpis
responder.nameTekstNazwa responder'a OCSP.
responder.hsmDefinicja HSMDefinicja modułu HSM przechowującego klucz responder'a OCSP.
responder.certŚcieżkaŚcieżka do pliku z certyfikatem responder'a OCSP.
responder.keyŚcieżka lub tekstKlucz responder'a OCSP (ID klucza w HSM lub ścieżka do pliku klucza).
responder.cert.verifyLiczbaFlaga decydująca o weryfikacji typu certyfikatu OCSP. Wartości dopuszczalne: 0 - nie, 1 - tak.
responder.cert.addLiczba

Flaga decydująca o dodawaniu certyfikatu responder'a OCSP do zwracanej odpowiedzi OCSP (0 - nie dodawaj, 1 - dodawaj).

responder.crl.requiredLiczba

Flaga decydująca o wymaganiu listy CRL w trybie CRL. Wartości dopuszczalne: 0 - nie, 1 - tak.

Dla wartości 0, w przypadku braku ważnej listy CRL będzie zwracana odpowiedź ze statusem successful (unknown). Dla wartości 1, w przypadku braku ważnej listy CRL będzie zwracana odpowiedź ze statusem internalError.

responder.sign.digalgTekstFunkcja skrótu używana do podpisu udzielanych odpowiedzi o status certyfikatu (md5, sha1, sha256, sha512).
responder.produced.as.this.updateLiczbaFlaga określająca wartość zwracanego w odpowiedzi czasu thisUpdate. Dla wartości 1, czas thisUpdate będzie taki sam jak czas producedAt. Wartości dopuszczalne: 0 - nie, 1 - tak.
responder.next.update.forbiddenLiczbaFlaga decydująca o dodawaniu czasu nextUpdate do odpowiedzi (0 - może być dodawany, 1 - nie będzie dodawany).

Plik tsa-policy.conf

Opcjonalny plik konfiguracyjny modułu TS-SERVER z definicjami parametrów polityk urzędu znakowania czasem (TSA).  Plik może nie występować jeżeli usługa TSA nie jest wykorzystywana.

Usługa znakowania czasem umożliwia obsługę wielu różnych polityk znakowania czasem jednocześnie. Każda polityka zdefiniowana jest jako osobna sekcja pliku konfiguracyjnego z tym samym zestawem parametrów. Domyślnie w sekcji DEFAULT zdefiniowana jest jedna polityka znakowania czasem o nazwie Default TSA Policy.

Domyślnie plik zawiera definicję następujących zmiennych:

Nazwa zmiennejTyp wartościOpis
$homeŚcieżkaŚcieżka do głównego katalogu oprogramowania serwera (domyślnie: /opt/mca).
$sharedŚcieżkaŚcieżka do katalogów roboczych oprogramowania serwera (domyślnie: /var/opt/mca).


Sekcja globalna pliku zawiera definicję następujących parametrów:

Nazwa parametruTyp wartościOpis
policies.listTekstLista aktywnych polityk (lista nazw sekcji rozdzielona przecinkami).
policy.defaultTekstNazwa sekcji definiującej domyślną politykę (używana, gdy klient nie poda identyfikatora polityki).


Każda z sekcji definiującej politykę znakowania czasem może zawierać definicję następujących parametrów:

Nazwa parametruTyp wartościOpis
policy.nameTekstNazwa polityki znakowania czasem.
policy.idTekstUnikalny identyfikator OID polityki znakowania czasem.
policy.urlTekstŚcieżka URL pod którą ma być widoczna polityka w usłudze znakowania czasem.
policy.hsmDefinicja HSMDefinicja modułu HSM przechowującego klucz polityki znakowania czasem.
policy.certŚcieżkaŚcieżka do pliku z certyfikatem polityki znakowania czasem.
policy.keyŚcieżka lub tekstKlucz polityki znakowania czasem (ID klucza w HSM lub ścieżka do pliku klucza).
policy.ca.addLiczba

Flaga decydująca o dodawaniu certyfikatu CA do wydawanych znaczników czasu (0 - nie dodawaj, 1 - dodawaj).

policy.imprint.digalgTekstLista akceptowanych funkcji skrótu, które mogą być użyte we wniosku o wydanie znacznika czasu (md5, sha1, sha256, sha512).
policy.sign.digalgTekstFunkcja skrótu używana do podpisu wydawanych znaczników czasu (md5, sha1, sha256, sha512).
policy.accuracyLiczbaTolerancja wydawanych znaczników czasu (w µs - mikrosekundy, 0 - nie będzie dodawana do wydawanych znaczników czasu).
policy.ms.requiredLiczba

Flaga decydująca o dodawaniu ms do czasu znacznika polityki (0 - nie dodawaj, 1 - dodawaj).

policy.ntp.requiredLiczbaFlaga wymuszająca synchronizację czasu z lokalnie dostępną usługą NTP będącą wzorcem czasu dla usługi znakowania czasem (0 - nie wymagana, 1 - wymagana).

Plik mpkcs11.conf

Opcjonalny plik konfiguracyjny programowego emulatora modułu HSM (softHSM). Może nie występować jeżeli wykorzystywany jest sprzętowy moduł kryptograficzny (HSM).

Plik zawiera dwie sekcje:

  • Settings - sekcja konfiguracji emulatora,
  • Slots - sekcja zawierająca definicję dostępnych w emulatorze slotów PKCS#11.

Domyślnie plik zawiera definicję następujących zmiennych:

Nazwa zmiennejTyp wartościOpis
$homeŚcieżkaŚcieżka do głównego katalogu oprogramowania serwera (domyślnie: /opt/mca).
$sharedŚcieżkaŚcieżka do katalogów roboczych oprogramowania serwera (domyślnie: /var/opt/mca).


Sekcja Settings zawiera definicję następujących parametrów:

Nazwa parametruTyp wartościOpis
LogFileŚcieżkaŚcieżka do pliku logu emulatora HSM.
LogLevelLiczbaLiczba opisująca poziom dokładności zapisywanego przebiegu pracy emulatora. Wartości dopuszczalne: 0-9 (domyślna: 6).
RSAModuleŚcieżkaŚcieżka do biblioteki dynamicznej zawierającej implementację akceleratora algorytmu RSA.


Sekcja Slots zawiera definicję następujących parametrów:

Nazwa parametruTyp wartościOpis
SlotNameNTekstNazwa slotu PKCS#11 o indeksie N.
SlotTokenNŚcieżkaŚcieżka do pliku emulującego token PKCS#11 widoczny w slocie o indeksie N.

Domyślne porty

Domyślne adresy portów IP, na których pracują moduły systemu QR-CERT przedstawiają się następująco:

0.0.0.0:4501 - LOG-SERVER - Konsola HSM
0.0.0.0:4502 - LOG-SERVER - Port usługi

0.0.0.0:4511 - CA-ENGINE - Konsola HSM

0.0.0.0:4521 - CAO-GATEWAY - Konsola HSM
0.0.0.0:4522 - CAO-GATEWAY - Port usługi (CA Operator)

0.0.0.0:4531 - PUBLISHER - Konsola HSM

0.0.0.0:4541 - OCSP - Konsola HSM
0.0.0.0:4542 - OCSP - Interfejs HTTP
0.0.0.0:4543 - OCSP - Interfejs HTTPS
0.0.0.0:4544 - OCSP - Interfejs TCP
0.0.0.0:4545 - OCSP - Interfejs TCPS

0.0.0.0:4551 - TSA - Konsola HSM
0.0.0.0:4552 - TSA - Interfejs HTTP
0.0.0.0:4553 - TSA - Interfejs HTTPS
0.0.0.0:4554 - TSA - Interfejs TCP
0.0.0.0:4555 - TSA - Interfejs TCPS

0.0.0.0:4561 - SCEP - Konsola HSM
0.0.0.0:4562 - SCEP - Interfejs HTTP
0.0.0.0:4563 - SCEP - Interfejs HTTPS

Aby zmienić parametry domyślne modułów oraz przystosować system do określonych warunków środowiska docelowego instalacji należy wprowadzić zmiany w pliku konfiguracyjnym mca.conf.

Na tej stronie

Szukaj w dokumentacji

  • No labels