Freigeben über


Sichere Netzwerkverbindungen einrichten

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.

Wichtig

Die Einstellungen und Empfehlungen in diesem Artikel sind nicht für die Produktion vorgesehen. Wenden Sie sich an Ihr Sicherheitsteam, Ihre internen Richtlinien und Ihren Microsoft-Partner, um Anleitungen zum Einrichten von SNC in einer Produktion Umgebung zu erhalten.

Anforderungen

  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.

Installieren der SAP Common Crypto Library

Mithilfe der SAP Common Crypto Library kann der SAP Connector für Microsoft .NET (NCo) die Kommunikation zwischen dem lokal-Datengateway und SAP verschlüsseln. Zum Extrahieren der Bibliothek 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 EXA-Datei in C:\sap\SAR herunter.

Die SAP Common Crypto Library abrufen

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

SAP Common Crypto Library 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 un Verzeichnis C:\sap\libs\sapcryptolib vorhanden ist.

Zertifikate generieren

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

Warnung

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

In diesem Beispiel sind unsere Zertifikate wie im folgenden Diagramm dargestellt strukturiert. 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 Stammzertifizierungsstelle und der SNC-Zertifikate.

Diagramm, das den Zertifikatsfluss von der Stammzertifizierungsstelle zum Verschlüsselungszertifikat, Signaturzertifikat und 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 Stammzertifizierungsstelle:

    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:

    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    basicConstraints = critical,CA:false
    keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment
    extendedKeyUsage = clientAuth,emailProtection
    
  5. Signieren Sie das SNC-Zertifikat mit 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 Sie ein persönliches sicheres 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. Erstellen Sie die SECUDIR-Variable Umgebung:

    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 fest.
    6. Wählen Sie OK aus.
  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. Auswählen Neuer Eintrag aus der oberen Leiste und geben Sie die erforderlichen Informationen ein.

    Screenshot der SAP-GUI, der die Zugriffskontrollliste für Systeme zeigt.

  5. Wählen Sie Speichern.

  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_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. Speichern Sie die Profilparameter und starten Sie Ihr SAP-System neu.

Zertifikatsaustausch zwischen SAP und dem Datengateway lokal

Sie müssen Zertifikate zwischen dem Datengateway lokal und SAP austauschen, um Vertrauen 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 Auswählen Erstellen.
  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 den öffentlichen Schlüssel.

  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: Sobald Sie den Test erfolgreich abgeschlossen haben, können Sie SNC in Ihrer Produktion implementieren Umgebung.

  1. Erstellen Sie einen Direktflow 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.

Wichtig

Stellen Sie sicher, dass Sie sicher mit privaten Schlüsseln umgehen und löschen Sie sie nach Abschluss dieser Einrichtung.

Nächster Schritt

Einrichten von Microsoft Entra ID mit Zertifikaten für SSO