Condividi tramite


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

  1. Hai una connessione SAP che utilizza il connettore SAP ERP.
  2. Hai accesso a un'istanza SAP che puoi riavviare e amministrare.
  3. L'interfaccia utente grafica SAP è installata e configurata.
  4. Hai familiarità con le tecnologie a chiave pubblica e privata.
  5. 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 comando openssl .

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

  1. Vai a SAP Software Download Center e accedi con le tue credenziali.
  2. Cerca SAPCAR e Seleziona l'ultima versione non archiviata.
  3. Seleziona il tuo sistema operativo.
  4. Scarica il file .EXE in C:\sap\SAR.

Ottere SAP Common Crypto Library

  1. Nell'SAP Software Download Center, cerca "COMMONCRYPTOLIB" e Seleziona la versione più recente.
  2. Seleziona il tuo sistema operativo.
  3. Scarica il file .SAR con la data di rilascio più recente C:\sap\SAR.

Estrarre SAP Common Crypto Library

  1. Apri PowerShell e vai a C:\sap\SAR.

  2. Inserisci il seguente comando, sostituendo xxxx con i tuoi valori:

    .\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
    
  3. Conferma che sapgenpse.exe è nella directory C:\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.

Diagramma che mostra il flusso del certificato dalla CA radice al certificato di crittografia, al certificato di firma e agli ID utente.

Creare certificati

  1. 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" }
    
  2. 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"
    
  3. 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"
    
  4. 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
    
  5. 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.

  1. 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
    
  2. Crea la variabile SECUDIR ambiente:

    1. 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.
    2. Seleziona Variabili di ambiente.
    3. In Variabili di sistema seleziona Nuovo.
    4. Imposta il nome della variabile su SECUDIR.
    5. Imposta il valore su C:\sapsecudir.
    6. Seleziona OK.
  3. 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

  1. Accedi alla GUI SAP.

  2. Vai al codice della transazione SNC0.

  3. Immetti E come area di lavoro.

  4. Seleziona Nuova voce nella barra in alto e compila le informazioni richieste.

    Screenshot dell'interfaccia utente grafica SAP che mostra l'elenco di controllo degli accessi per i sistemi.

  5. Seleziona Salva.

  6. Ritorna alla schermata iniziale della GUI SAP.

  7. Vai al codice della transazione RZ10.

  8. 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```
    
    
  9. 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

  1. Nella GUI SAP, vai al codice di transazione STRUST.
  2. Se SNC SAPCryptolib ha una X rossa, fai clic con il pulsante destro del mouse e seleziona Seleziona Crea.
  3. Altrimenti, fai doppio clic su SNC SAPCryptolib, quindi fai doppio clic sul tuo Certificato personale.
  4. Seleziona Importa certificato e scegli il tuo sncCert\snc.cert.pem certificato pubblico.
  5. Seleziona Aggiungi all'elenco di certificati.

Aggiungere il certificato SNC SAP al gateway dati locale

  1. Nella GUI SAP, vai al codice di transazione STRUST.

  2. Fai doppio clic su SAPCryptolib SNC, quindi fai doppio clic su Certificato personale.

  3. Esporta il certificato pubblico.

  4. Sposta il certificato pubblico nel tuo computer gateway (ad esempio, C:\sap\contoso-public-key.crt).

  5. 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.

  1. Creare un flusso istantaneo in Power Automate.

  2. Aggiungi un'azione SAP ERP Call Function.

  3. 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"
    }```
    
    
  4. Testa la connessione utilizzando la funzione RFC STFC_CONNECTION.

    Screenshot che mostra i risultati di un test in un flusso Power Automate.

Importante

Assicuratevi di gestire in modo sicuro le chiavi private ed eliminatele al termine della configurazione.

Passaggio successivo

Impostare Microsoft Entra ID con certificati per SSO