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
- Sie verfügen über eine SAP-Verbindung, die den SAP ERP-Konnektor verwendet.
- Sie haben Zugriff auf eine SAP-Instanz, die Sie neu starten und verwalten können.
- Die SAP GUI ist installiert und eingerichtet.
- Sie sind mit öffentlichen und privaten Schlüsseltechnologien vertraut.
- 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 denopenssl
-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
- Greifen Sie auf das SAP Software Download Center zu, und melden Sie sich mit Ihren SAP-Anmeldeinformationen an.
- Suchen Sie nach SAPCAR und wählen Sie die neueste nicht archivierte Version aus.
- Wählen Sie Ihr Betriebssystem aus.
- Laden Sie die EXA-Datei in
C:\sap\SAR
herunter.
Die SAP Common Crypto Library abrufen
- Suchen Sie im SAP Software Download Center nach „COMMONCRYPTOLIB“ und Auswählen, der neuesten Version.
- Wählen Sie Ihr Betriebssystem aus.
- Laden Sie die SAR-Datei mit dem letzten Veröffentlichungsdatum in
C:\sap\SAR
herunter.
SAP Common Crypto Library extrahieren
Öffnen Sie PowerShell, und gehen Sie zu
C:\sap\SAR
.Geben Sie den folgenden Befehl ein, und ersetzen Sie
xxxx
durch Ihre Werte:.\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
Bestätigen Sie, dass
sapgenpse.exe
un VerzeichnisC:\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.
Zertifikate erstellen
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" }
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"
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"
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
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.
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
Erstellen Sie die SECUDIR-Variable Umgebung:
- Öffnen Sie Systemeigenschaften: Im Datei-Explorer, klicken Sie mit der rechten Maustaste auf Dieser PC, und dann auf Eigenschaften>Erweiterte Systemeinstellungen.
- Wählen Sie Umgebungsvariablen.
- Wählen Sie unter Systemvariablen die Option Neu aus.
- Legen Sie den Variablennamen auf
SECUDIR
fest. - Legen Sie den Wert auf
C:\sapsecudir
fest. - Wählen Sie OK aus.
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
Melden Sie sich bei der SAP GUI an.
Wechseln Sie zum Transaktionscode
SNC0
.Geben Sie E als Arbeitsbereich ein.
Auswählen Neuer Eintrag aus der oberen Leiste und geben Sie die erforderlichen Informationen ein.
Wählen Sie Speichern.
Kehren Sie zum SAP GUI-Startbildschirm zurück.
Wechseln Sie zum Transaktionscode
RZ10
.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```
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
- Gehen Sie im SAP GUI zu Transaktionscode
STRUST
. - Wenn SNC SAPCryptolib ein rotes X hat, klicken Sie mit der rechten Maustaste darauf und wählen Sie Auswählen Erstellen.
- Doppelklicken Sie andernfalls auf SNC SAPCryptolib, und doppelklicken Sie dann auf Ihr Eigenes Zertifikat.
- Wählen Sie Zertifikat Importieren und Ihr öffentliches
sncCert\snc.cert.pem
-Zertifikat aus. - Wählen Sie Zur Zertifikatsliste hinzufügen aus.
Das SAP-SNC-Zertifikat zum lokalen Datengateway hinzufügen
Gehen Sie im SAP GUI zu Transaktionscode
STRUST
.Doppelklicken Sie auf SNC SAPCryptolib, und doppelklicken Sie dann auf Ihr Eigenes Zertifikat.
Exportieren Sie den öffentlichen Schlüssel.
Verschieben Sie das öffentliche Zertifikat auf Ihren Gateway-Computer (zum Beispiel
C:\sap\contoso-public-key.crt
).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.
Erstellen Sie einen Direktflow in Power Automate.
Fügen Sie eine
SAP ERP Call Function
-Aktion hinzu.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" }```
Testen Sie die Verbindung mit der
STFC_CONNECTION
RFC-Funktion.
Wichtig
Stellen Sie sicher, dass Sie sicher mit privaten Schlüsseln umgehen und löschen Sie sie nach Abschluss dieser Einrichtung.