Impostare Secure Network Communications
Secure Network Communications (SNC) migliora la sicurezza dell'integrazione SAP con Power Platform crittografando i dati tra un gateway dati locale e un sistema SAP. Questo articolo ti guiderà nella configurazione di SNC come prova di concetto.
Importante
Le impostazioni e i consigli presentati in questo articolo non sono destinati all'uso in produzione. Per indicazioni su come configurare SNC in un ambiente di produzione, consulta il team addetto alla sicurezza, criteri interni e il partner Microsoft.
Prerequisiti
- Hai una connessione SAP che utilizza il connettore SAP ERP.
- Hai accesso a un'istanza SAP che puoi riavviare e amministrare.
- L'interfaccia utente grafica SAP è installata e configurata.
- Hai familiarità con le tecnologie a chiave pubblica e privata.
- OpenSSL è installato e configurato. Se hai Git per Windows, aggiungi
C:\Program Files\Git\usr\bin\
al PATH di sistema in modo da poter usare il comandoopenssl
.
Installa la libreria SAP Common Crypto
SAP Common Crypto Library consente a SAP Connector for Microsoft .NET (NCo) di crittografare le comunicazioni tra il gateway dati locale e SAP. Per estrarre la libreria è necessaria un'utilità di decompressione proprietaria denominata SAPCAR.
Ottieni SAPCAR
- Vai a SAP Software Download Center e accedi con le tue credenziali.
- Cerca SAPCAR e Seleziona l'ultima versione non archiviata.
- Seleziona il tuo sistema operativo.
- Scarica il file .EXE in
C:\sap\SAR
.
Ottere SAP Common Crypto Library
- Nell'SAP Software Download Center, cerca "COMMONCRYPTOLIB" e Seleziona la versione più recente.
- Seleziona il tuo sistema operativo.
- Scarica il file .SAR con la data di rilascio più recente
C:\sap\SAR
.
Estrarre SAP Common Crypto Library
Apri PowerShell e vai a
C:\sap\SAR
.Inserisci il seguente comando, sostituendo
xxxx
con i tuoi valori:.\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
Conferma che
sapgenpse.exe
è nella directoryC:\sap\libs\sapcryptolib
.
Generare certificati
Ora che hai installato SAP Common Crypto Library, puoi generare certificati per stabilire attendibilità e crittografia tra il tuo gateway dati locale e il sistema SAP.
Avviso
Questo metodo è solo a scopo dimostrativo e non è consigliato per i sistemi di produzione. Per i sistemi di produzione, consulta le linee guida PKI interne o il team di sicurezza.
In questo esempio, i nostri certificati sono strutturati come mostrato nel diagramma seguente. La CA radice [O=Contoso, CN=CA radice] firma il certificato di crittografia SNC [O=Contoso, CN=SNC] e i certificati utente [O=Contoso, CN=UserIDs
].
Questo articolo si concentra sulla configurazione dei certificati Root CA e SNC.
Creare certificati
Imposta la struttura delle cartelle:
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" }
Genera una CA radice:
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"
Genera il certificato 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"
Crea un file di configurazione OpenSSL,
sncCert/extensions.cnf
, per la firma:subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer basicConstraints = critical,CA:false keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment extendedKeyUsage = clientAuth,emailProtection
Firma il certificato SNC con la radice CA:
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
Crea un ambiente personale e sicuro
Creare un PSE (Personal Secure ambiente) per il gateway dati locale. La libreria NCo cerca il certificato SNC all'interno del PSE.
Crea un contenitore PKCS#12:
openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
Crea la variabile SECUDIR ambiente:
- Apri Proprietà di sistema: in Esplora file, fai clic con il pulsante destro del mouse su Questo PC, quindi seleziona Proprietà>Impostazioni di sistema avanzate.
- Seleziona Variabili di ambiente.
- In Variabili di sistema seleziona Nuovo.
- Imposta il nome della variabile su
SECUDIR
. - Imposta il valore su
C:\sapsecudir
. - Seleziona OK.
Importare il contenitore PKCS#12 in un PSE:
C:\sap\libs\sapcryptolib\sapgenpse.exe import_p12 -p SAPSNCSKERB.pse C:\pki-certs\snc.p12
Impostare SAP per SNC
Accedi alla GUI SAP.
Vai al codice della transazione
SNC0
.Immetti E come area di lavoro.
Seleziona Nuova voce nella barra in alto e compila le informazioni richieste.
Seleziona Salva.
Ritorna alla schermata iniziale della GUI SAP.
Vai al codice della transazione
RZ10
.Imposta questi parametri del profilo:
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```
Salva i parametri del profilo e riavvia il sistema SAP.
Scambia certificati tra SAP e il gateway dati locale
Per stabilire l'attendibilità è necessario scambiare certificati tra il gateway dati locale e SAP.
Aggiungi il certificato SNC del gateway a SAP
- Nella GUI SAP, vai al codice di transazione
STRUST
. - Se SNC SAPCryptolib ha una X rossa, fai clic con il pulsante destro del mouse e seleziona Seleziona Crea.
- Altrimenti, fai doppio clic su SNC SAPCryptolib, quindi fai doppio clic sul tuo Certificato personale.
- Seleziona Importa certificato e scegli il tuo
sncCert\snc.cert.pem
certificato pubblico. - Seleziona Aggiungi all'elenco di certificati.
Aggiungere il certificato SNC SAP al gateway dati locale
Nella GUI SAP, vai al codice di transazione
STRUST
.Fai doppio clic su SAPCryptolib SNC, quindi fai doppio clic su Certificato personale.
Esporta il certificato pubblico.
Sposta il certificato pubblico nel tuo computer gateway (ad esempio,
C:\sap\contoso-public-key.crt
).Importa il certificato nel PSE del tuo gateway:
C:\sap\libs\sapcryptolib\sapgenpse.exe maintain_pk -p SAPSNCSKERB.pse -v -a C:\pki-certs\sncCert\sapkerb.public.cert
Testare la connessione protetta
Segui i passaggi per testare la connessione protetta. Una volta completato con successo il test, sei pronto a implementare SNC nel tuo ambiente di produzione.
Creare un flusso istantaneo in Power Automate.
Aggiungi un'azione
SAP ERP Call Function
.Aggiungi i seguenti parametri SNC alla stringa Connessione SAP:
{ "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" }```
Testa la connessione utilizzando la funzione RFC
STFC_CONNECTION
.
Importante
Assicuratevi di gestire in modo sicuro le chiavi private ed eliminatele al termine della configurazione.