Nastavení zabezpečené síťové komunikace
Zabezpečená síťová komunikace (SNC) zvyšuje zabezpečení integrace SAP s Power Platform šifrováním dat mezi místní bránou dat a systémem SAP. Tento článek vás provede nastavením SNC jako důkazu konceptu.
Důležité
Nastavení a doporučení uvedená v tomto článku nejsou určena pro produkční použití. Poraďte se se svým bezpečnostním týmem, interními zásadami a partnerem Microsoft, který vám poradí s nastavením SNC v produkčním prostředí.
Předpoklady
- Máte připojení SAP, které používá konektor SAP ERP.
- Máte přístup k instanci SAP, kterou můžete restartovat a spravovat.
- Grafické uživatelské rozhraní SAP je nainstalované a nastavené.
- Jste obeznámeni s technologiemi veřejného a privátního klíče.
- OpenSSL je nainstalované a nastavené. Pokud máte Git pro Windows, přidejte
C:\Program Files\Git\usr\bin\
do systému PATH, abyste mohli příkazopenssl
použít.
Instalace společné kryptografické knihovny SAP
Společná kryptografická knihovna SAP umožňuje konektoru SAP pro Microsoft .NET (NCo) šifrovat komunikaci mezi místní bránou dat a SAP. Chcete-li extrahovat knihovnu, potřebujete proprietární dekompresní nástroj s názvem SAPCAR.
Získání SAPCAR
- Přejděte do Centra pro stahování softwaru SAP a přihlaste se pomocí přihlašovacích údajů SAP.
- Vyhledejte SAPCAR a vyberte nejnovější nearchivovanou verzi.
- Vyberte svůj operační systém.
- Stáhněte soubor .EXE do
C:\sap\SAR
.
Získání společné kryptografické knihovny SAP
- V centru stahování softwaru SAP vyhledejte „COMMONCRYPTOLIB“ a vyberte nejnovější verzi.
- Vyberte svůj operační systém.
- Stáhněte si soubor . SAR s nejnovějším datem vydání do
C:\sap\SAR
.
Extrahování společné kryptografické knihovny SAP
Otevřete PowerShell a přejděte na
C:\sap\SAR
.Zadejte následující příkaz a nahraďte
xxxx
svými hodnotami:.\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
Potvrďte, že
sapgenpse.exe
je v adresářiC:\sap\libs\sapcryptolib
.
Vygenerování certifikátů
Teď, když jste nainstalovali společnou kryptografickou knihovnu SAP, můžete vygenerovat certifikáty pro navázání důvěry a šifrování mezi místní bránou dat a systémem SAP.
Upozorňující
Tato metoda slouží pouze pro demonstrační účely a nedoporučuje se pro produkční systémy. V případě produkčních systémů se obraťte na interní pokyny k infrastruktuře veřejných klíčů nebo bezpečnostní tým.
V tomto příkladu jsou naše certifikáty strukturované, jak je znázorněno v následujícím diagramu. Kořenová certifikační autorita [O=Contoso, CN=Root CA] podepisuje šifrovací certifikát SNC [O=Contoso, CN=SNC] a uživatelské certifikáty [O=Contoso, CN=UserIDs
].
Tento článek se zaměřuje na nastavení kořenové certifikační autority a certifikátů SNC.
Vytváření certifikátů
Nastavení struktury složky:
mkdir rootCA mkdir sncCert # Create the necessary serial and index files if they don't exist if (-Not (Test-Path "rootCA\index.txt")) { New-Item -Path "rootCA\index.txt" -ItemType File } if (-Not (Test-Path "rootCA\serial")) { Set-Content -Path "rootCA\serial" -Value "01" }
Vygenerování kořenové certifikační autority:
openssl genpkey -algorithm RSA -out rootCA/ca.key.pem -pkeyopt rsa_keygen_bits:2048 openssl req -x509 -new -key rootCA/ca.key.pem -days 7305 -sha256 -extensions v3_ca -out rootCA/ca.cert.pem -subj "/O=Contoso/CN=Root CA"
Vygenerování certifikátu SNC:
openssl genrsa -out sncCert/snc.key.pem 2048 openssl req -key sncCert/snc.key.pem -new -sha256 -out sncCert/snc.csr.pem -subj "/O=Contoso/CN=SNC"
Vytvořte konfigurační soubor OpenSSL,
sncCert/extensions.cnf
, pro podepisování:subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer basicConstraints = critical,CA:false keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment extendedKeyUsage = clientAuth,emailProtection
Podepište certifikát SNC kořenovou certifikační autoritou:
openssl x509 -req ` -in sncCert/snc.csr.pem ` -CA rootCA/ca.cert.pem ` -CAkey rootCA/ca.key.pem ` -CAcreateserial ` -out sncCert/snc.cert.pem ` -days 3650 ` -sha256 ` -extfile sncCert\extensions.cnf ` -extensions v3_leaf
Vytvoření osobního bezpečného prostředí
Vytvořte osobní zabezpečené prostředí (PSE) pro místní bránu dat. Knihovna NCo hledá certifikát SNC uvnitř PSE.
Vytvoření kontejneru PKCS#12:
openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
Vytvořte proměnnou prostředí SECUDIR:
- Otevřete Vlastnosti systému: V Průzkumníku souborů klikněte pravým tlačítkem na Tento počítač a poté vyberte Vlastnosti>Upřesnit nastavení systému.
- Vybrat Proměnné prostředí.
- V části Systémové proměnné vyberte Nový.
- Nastavte název proměnné na
SECUDIR
. - Nastavte hodnotu na
C:\sapsecudir
. - Vyberte OK.
Importujte kontejner PKCS#12 do PSE:
C:\sap\libs\sapcryptolib\sapgenpse.exe import_p12 -p SAPSNCSKERB.pse C:\pki-certs\snc.p12
Nastavení SAP pro SNC
Přihlaste se k SAP GUI.
Přejděte na kód transakce
SNC0
.Zadejte E jako pracovní oblast.
Na horní liště vyberte Nový záznam a vyplňte požadované informace.
Vyberte Uložit.
Vraťte se na úvodní stránku SAP GUI.
Přejděte na kód transakce
RZ10
.Nastavte tyto parametry profilu:
snc/accept_insecure_gui: 1 snc/accept_insecure_rfc: 1 snc/enable: 1 snc/extid_login_diag: 1 snc/extid_login_rfc: 1 snc/gssapi_lib: $(SAPCRYPTOLIB) snc/identity/as: p:CN=ID3, O=Contoso snc/permit_insecure_start: 1 snc/data_protection/max: 3```
Uložte parametry profilu a restartujte systém SAP.
Výměna certifikátů mezi SAP a místní bránou dat
Pokud chcete vytvořit vztah důvěry, musíte si vyměňovat certifikáty mezi místní bránou dat a SAP.
Přidání certifikátu SNC brány do SAP
- V SAP GUI přejděte na kód transakce
STRUST
. - Pokud má SNC SAPCryptolib červené X, klikněte na něj pravým tlačítkem a vyberte Vytvořit.
- V opačném případě klikněte dvakrát na SNC SAPCryptolib a potom dvakrát klikněte na Vlastní certifikát.
- Vyberte Importovat certifikát a zvolte svůj veřejný certifikát
sncCert\snc.cert.pem
. - Vyberte Přidat do seznamu certifikátů.
Přidání certifikátu SAP SNC do místní brány dat
V SAP GUI přejděte na kód transakce
STRUST
.Klikněte dvakrát na SNC SAPCryptolib a potom dvakrát klikněte na Vlastní certifikát.
Exportujte veřejný certifikát.
Přesuňte veřejný certifikát do počítače brány (například
C:\sap\contoso-public-key.crt
).Importujte certifikát do PSE vaší brány:
C:\sap\libs\sapcryptolib\sapgenpse.exe maintain_pk -p SAPSNCSKERB.pse -v -a C:\pki-certs\sncCert\sapkerb.public.cert
Otestování zabezpečeného připojení
Postupujte podle pokynů a otestujte zabezpečené připojení. Po úspěšném dokončení testu jste připraveni implementovat SNC v produkčním prostředí.
Vytvořte okamžitý tok v Power Automate.
Přidejte akci
SAP ERP Call Function
.Do řetězce Připojení SAP přidejte následující parametry SNC:
{ "AppServerHost": "xxx", "Client": "xx", "SystemNumber": "xx", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\\sap\\libs\\sapcryptolib\\sapcrypto.dll", "SncMyName": "p:CN=SNC, O=Contoso", "SncPartnerName": "p:CN=ID3, O=Contoso", "SncQop": "Default", "UseSnc": "true", "SncSso": "Off" }```
Otestujte připojení pomocí funkce
STFC_CONNECTION
RFC.
Důležité
Ujistěte se, že s privátními klíči zacházíte bezpečně, a po dokončení tohoto nastavení je odstraňte.