Archiv pro štítek: saprouter

Obnova certifikátu SAP routeru bez odstávky

Jak obnovit certifikát pro SAProuter

Již dříve jsem psal článek o tom jak rozchodit saprouter, který komunikuje po zabezpečeném kanálu. Jelikož je pro SNC spojení nutný certifikát, který má pouze roční platnost je nutné certifikát přes skončením platnosti prodloužit.

Špatná dokumentace od SAPu

Na spoustě webů (včetně oficiální dokumentace SAPu) je popsán špatný postup, který předpokládá že je možné provést odstávku saprouteru. V těch špatných postupech vám tvrdí že je nutné smazat privátní klíč, znovu ho vygenerovat, pak z vygenerovat CSR a ten podepsat na stránkách SAPu. Jde to ale i jinak. Nebude nutné hlásit odstávku – pokud ano tak pouze pro restart saprouter daemona, což zabere asi 5 sekund.

Kontrola stavu certifikátu

Prvním krokem bude že se podíváme do kdy platí stávající certifikát:

Tento příkaz nám vypíše výstup podobný tomuto:

Z výstupu je vidět že certifikátu brzy skončí platnost – tedy je nutné ho nahradit novým.

Vygenerování CSR

Následujícím příkazem vygenerujete CSR, který následně najdete ve složce $SECUDIR a samotný soubor s CSR se bude jmenovat certreq:

Nyní je nutné zkopírovat obsah souboru certreq do schránky. Soubor je možné vypsat třeba takto pomocí příkazu cat:

Obsah souboru certreq by měl vypadat přibližně takto:

Podepsání CSR

Nyní je nutné podepsat CSR na stránkách SAPu. Stránky SAPu se často mění, ale přesto uvádím odkaz: https://support.sap.com/remote-support/saprouter/saprouter-certificates.html. Na těchto stránkách vložíte obsah schránky do textového pole a projdete průvodcem, který vám vygeneruje z CSR certifikát. Certifikát si opět zkopírujeme do schránky. Na serveru kde máme saprouter ho uložíme do souboru s názvem cert, který musí být ve složce $SECUDIR. V souboru cert bude pravděpodobně starý certifikát – tedy ho přepište novým. Pokud si nevěříte tak si raději předem tento soubor zazálohujte.

Import certifikátu

Posledním krokem je import/nahrazení samotného certifikátu. To provedeme příkazem:

Kontrola importu

Ověříme že se certifikát opravdu naimportoval a nahradil certifikát původní:

Nyní zbývá už jenom provést restart saprouteru pomocí příkazu:

Nastavení saprouteru a zabezpečení pomocí SNC

Instalační balíčky

Instalační balíčky je možné stáhnout na stránkách SAPu. Jsou potřeba tři balíčky:

  1. SAPCAR (na rozbalení SAR archivů)
  2. SAPROUTER (samotný program saprouter)
  3. SAPCRYPTOLIB (nutné pro podporu zabezpečené komunikace – SNC)

Balíčky s příponou *.sar se musí rozbalit pomocí programu SAPCAR:

Dále je zapotřebí vytvořit následující složkovou strukturu ve /var/lib/saprouter/ a do ní zkopírovat libsapcrypto.so a sapgenpse vybalené z archivu sapcryptolib, výsledná struktura by měla vypadat takhle:

Vytvořit link pro binárku sapgenpse:

Vytvořit uživatele pod kterým bude spuštěn saprouter:

Nastavit proměnné pro sapgenpse vytvořením následujícího souboru /etc/profile.d/saprouter.sh:

Init script

SAP společně s binárkou saprouter bohužel nedodává init script, jak saprouter startovat po startu nechává na lidové tvořivosti. Zde je funkční init script pro RedHat 6.x který spouští saprouter pod dedikovaným uživatelem. Umí také provést reload saprouttabu.

Zajistit spouštění služby po startu systému:

Dále je dobré nastavit v /etc/sudoers přebírání proměnných které říkají kde je umístěna knihovna sapcryptolib a secudir (složka obsahující certifikát a úložiště privátního klíče):

Dále lze v sudoers povolit uživateli admin-saprouter pomocí příkazu sudo provádět restart saprouteru a generování certifikátu pomocí sapgenpse, podobným způsobem lze nastavit pro skupinu uživatelů:

Saprouttab a SNC komunikace

Pokud chcete aby saprouter komunikoval zabezpečeně je potřeba nastavit ho pro takzvanou SNC komunikaci. Tato komunikace je zabezpečena certifikátem. Proto aby vám SNC fungovalo potřebujete nakonfigurovat saprouter tak aby používal sapcryptolib a certifikát, který si vygenerujete na stránkách SAPu.

Generování certifikátu pro SNC

Všechno začíná návštěvou stránek SAPu kde po přihlášení můžete najít svoje DN (Your Distinguished Name). Toto jméno vyplníte do příkazu pomocí kterého vygenerujete privátní klíč a vaši žádost o podepsání certifikátu:

Nyní vezmete soubor umístěný v $SECUDIR a jmenující se cert do schránky a projdete procesem vystavění certifikátu na stránkách SAPu, kde bude potřeba tuto žádost o certifikát vložit. Po úspěšném absolvování tohoto procesu by jste měli získat certifikát podepsaný SAP autoritou, který lze naimportovat do souboru local.pse:

Posledním krokem je vytvoření souboru pro odemknutí úložiště (local.pse) pro uživatele saprouter (pro uživatele pod kterým poběží saprouter):

Následně je potřeba v init scriptu nastavit správné DN certifikátu a přepsat/vytvořit saprouttab do následující syntaxe:

Test spojení do OSS pomocí niping

Binární soubor niping je testovací program pro NI-Layer (dá se přirovnat k nástroji ping). Jestli je všechno správně nastavené tak lze pomocí nipingu vyzkoušet spojení na servery SAPu:

Tento návod budu postupně ještě doplňovat. V případě dotazů pište komentáře.