Einrichten der sicheren Netzwerkkommunikation

Secure Network Communications (SNC) erhöht die Sicherheit Ihrer SAP-Integration in Power Platform, indem die Daten zwischen einem lokalen Datengateway und einem SAP-System verschlüsselt werden. Dieser Artikel führt Sie durch die Einrichtung von SNC als Machbarkeitsnachweis.

Important

Die in diesem Artikel beschriebenen Einstellungen und Empfehlungen sind nicht für die Verwendung in der Produktion vorgesehen. Wenden Sie sich an Ihr Sicherheitsteam, interne Richtlinien und Microsoft-Partner, um Unterstützung bei der Einrichtung von SNC in einer Produktionsumgebung zu erhalten.

Voraussetzungen

  1. Sie verfügen über eine SAP-Verbindung, die den SAP ERP-Konnektor verwendet.
  2. Sie haben Zugriff auf eine SAP-Instanz, die Sie neu starten und verwalten können.
  3. Die SAP GUI ist installiert und eingerichtet.
  4. Sie sind mit öffentlichen und privaten Schlüsseltechnologien vertraut.
  5. OpenSSL ist installiert und eingerichtet. Wenn Sie Git für Windows haben, fügen Sie C:\Program Files\Git\usr\bin\ Ihrem System PATH hinzu, damit Sie den openssl-Befehl verwenden können.

SAP Common Crypto Library installieren

Die SAP Common Crypto Library ermöglicht es dem SAP Connector for Microsoft .NET (NCo), die Kommunikation zwischen dem lokalen Datengateway und SAP zu verschlüsseln. Um die Bibliothek zu entpacken, benötigen Sie ein proprietäres Dekomprimierungsprogramm namens SAPCAR.

Holen Sie sich SAPCAR

  1. Greifen Sie auf das SAP Software Download Center zu, und melden Sie sich mit Ihren SAP-Anmeldeinformationen an.
  2. Suchen Sie nach SAPCAR und wählen Sie die neueste nicht archivierte Version aus.
  3. Wählen Sie Ihr Betriebssystem aus.
  4. Laden Sie die .EXE-Datei in C:\sap\SAR herunter.

Die SAP Common Crypto Library abrufen

  1. Suchen Sie im SAP Software Download Center nach „COMMONCRYPTOLIB“, und wählen Sie die neueste Version aus.
  2. Wählen Sie Ihr Betriebssystem aus.
  3. Laden Sie die SAR-Datei mit dem aktuellsten Veröffentlichungsdatum in C:\sap\SAR herunter.

SAP-Common-Crypto-Bibliothek extrahieren

  1. Öffnen Sie PowerShell, und gehen Sie zu C:\sap\SAR.

  2. Geben Sie den folgenden Befehl ein, und ersetzen Sie xxxx durch Ihre Werte:

    .\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
    
  3. Bestätigen Sie, dass sapgenpse.exe im Verzeichnis C:\sap\libs\sapcryptolib vorhanden ist.

Zertifikate generieren

Nachdem Sie SAP Common Crypto Library installiert haben, generieren Sie Zertifikate, um Vertrauen und Verschlüsselung zwischen Ihrem lokalen Datengateway und dem SAP-System herzustellen.

Warning

Diese Methode dient nur zu Demonstrationszwecken und wird nicht für Produktionssysteme empfohlen. Wenden Sie sich bei Produktionssystemen an Ihre internen PKI-Richtlinien oder an Ihr Sicherheitsteam.

Strukturieren Sie in diesem Beispiel Ihre Zertifikate wie im folgenden Diagramm dargestellt. Die Root CA [O=Contoso, CN=Root CA] signiert das SNC-Verschlüsselungszertifikat [O=Contoso, CN=SNC] und die Benutzerzertifikate [O=Contoso, CN=UserIDs]. Dieser Artikel konzentriert sich auf die Einrichtung der Root-CA und der SNC-Zertifikate.

Diagramm, das den Zertifikatfluss von der Stammzertifizierungsstelle zum Verschlüsselungszertifikat, zum Signaturzertifikat und zu den Benutzer-IDs zeigt.

Zertifikate erstellen

  1. Die Ordnerstruktur einrichten:

    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" }
    
  2. Generieren Sie eine Stamm-CA:

    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"
    
  3. Das SNC-Zertifikat generieren:

    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"
    
  4. Erstellen Sie die OpenSSL-Konfigurationsdatei sncCert/extensions.cnf zum Signieren:

    [ v3_leaf ]
    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    basicConstraints = critical,CA:false
    keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment
    extendedKeyUsage = clientAuth,emailProtection
    
  5. Signieren Sie das SNC-Zertifikat mithilfe der Stammzertifizierungsstelle:

    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
    

Erstellen einer persönlichen sicheren Umgebung

Erstellen Sie eine persönliche sichere Umgebung (PSE) für das lokale Datengateway. Die NCo-Bibliothek sucht innerhalb der PSE nach dem SNC-Zertifikat.

  1. Einen PKCS#12-Container erstellen:

    openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
    
  2. Die SECUDIR-Umgebungsvariable erstellen:

    1. Öffnen Sie Systemeigenschaften: Im Datei-Explorer, klicken Sie mit der rechten Maustaste auf Dieser PC, und dann auf Eigenschaften>Erweiterte Systemeinstellungen.
    2. Wählen Sie Umgebungsvariablen.
    3. Wählen Sie unter Systemvariablen die Option Neu aus.
    4. Legen Sie den Variablennamen auf SECUDIR fest.
    5. Legen Sie den Wert auf C:\sapsecudir und erstellen Sie dieses Verzeichnis, wenn es nicht existiert.
    6. Wählen Sie OK aus.
    7. Starten Sie Ihre PowerShell-Sitzung neu, um diese neue Umgebungsvariable zu übernehmen.
  3. Importieren Sie den PKCS#12-Container in eine PSE:

    C:\sap\libs\sapcryptolib\sapgenpse.exe import_p12 -p SAPSNCSKERB.pse C:\pki-certs\snc.p12
    

SAP für SNC einrichten

  1. Melden Sie sich bei der SAP GUI an.

  2. Wechseln Sie zum Transaktionscode SNC0.

  3. Geben Sie E als Arbeitsbereich ein.

  4. Wählen Sie Neuer Eintrag aus der oberen Leiste und geben Sie die erforderlichen Informationen ein.

    Screenshot der SAP GUI mit der Zugriffssteuerungsliste für Systeme.

  5. Wählen Sie Speichern aus.

  6. Kehren Sie zum SAP GUI-Startbildschirm zurück.

  7. Wechseln Sie zum Transaktionscode RZ10.

  8. Legen Sie die folgenden Profilparameter fest:

    snc/accept_insecure_cpic: 1
    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```
    
    
  9. Sichern Sie die Profilparameter und starten Sie Ihr SAP-System neu.

Zertifikate zwischen SAP und dem lokalen Datengateway austauschen

Sie müssen Zertifikate zwischen dem lokalen Datengateway und SAP austauschen, um eine Vertrauensstellung herzustellen.

Hinzufügen des Gateway-SNC-Zertifikats zu SAP

  1. Gehen Sie im SAP GUI zu Transaktionscode STRUST.
  2. Wenn SNC SAPCryptolib ein rotes X hat, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Erstellen aus.
  3. Doppelklicken Sie andernfalls auf SNC SAPCryptolib, und doppelklicken Sie dann auf Ihr Eigenes Zertifikat.
  4. Wählen Sie Zertifikat Importieren und Ihr öffentliches sncCert\snc.cert.pem-Zertifikat aus.
  5. Wählen Sie Zur Zertifikatsliste hinzufügen aus.

Das SAP-SNC-Zertifikat zum lokalen Datengateway hinzufügen

  1. Gehen Sie im SAP GUI zu Transaktionscode STRUST.

  2. Doppelklicken Sie auf SNC SAPCryptolib, und doppelklicken Sie dann auf Ihr Eigenes Zertifikat.

  3. Exportieren Sie das öffentliche Zertifikat.

  4. Verschieben Sie das öffentliche Zertifikat auf Ihren Gateway-Computer (zum Beispiel C:\sap\contoso-public-key.crt).

  5. Importieren Sie das Zertifikat in die PSE Ihres Gateways:

    C:\sap\libs\sapcryptolib\sapgenpse.exe maintain_pk -p SAPSNCSKERB.pse -v -a C:\pki-certs\sncCert\sapkerb.public.cert
    

Die sichere Verbindung testen

Gehen Sie folgendermaßen vor, um die sichere Verbindung zu testen: Nachdem Sie den Test erfolgreich abgeschlossen haben, können Sie SNC in Ihrer Produktionsumgebung implementieren.

  1. Erstellen Sie einen Sofortfluss in Power Automate.

  2. Fügen Sie eine SAP ERP Call Function-Aktion hinzu.

  3. Fügen Sie der SAP-Verbindungszeichenfolge die folgenden SNC-Parameter hinzu:

    {
    "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"
    }```
    
    
  4. Testen Sie die Verbindung mit der STFC_CONNECTION RFC-Funktion.

    Screenshot mit den Ergebnissen eines Tests in einem Power Automate-Flow.

Important

Stellen Sie sicher, dass Sie private Schlüssel sicher behandeln und löschen, wenn Sie dieses Setup abgeschlossen haben.

Nächster Schritt

Einrichten von Microsoft Entra ID mit Zertifikaten für SSO