Udostępnij za pośrednictwem


Konfigurowanie bezpiecznej komunikacji sieciowej

Bezpieczna komunikacja sieciowa (SNC) zwiększa bezpieczeństwo integracji Power Platform SAP, szyfrując dane między lokalną bramą danych a systemem SAP. Ten artykuł przeprowadzi Cię przez proces konfigurowania SNC jako weryfikacji koncepcji.

Ważne

Ustawienia i zalecenia nie są przeznaczone do użytku w środowiskach produkcyjnych. Skonsultuj się z zespołem ds. zabezpieczeń, zasadami wewnętrznymi i partnerem Microsoft, aby uzyskać wskazówki dotyczące konfigurowania SNC w środowisku produkcyjnym.

Wymagania wstępne

  1. Masz połączenie SAP, które korzysta z łącznika SAP ERP.
  2. Masz dostęp do wystąpienia SAP, które możesz ponownie uruchomić i administrować.
  3. Graficzny interfejs użytkownika systemu SAP został zainstalowany i skonfigurowany.
  4. Musisz także znać technologie klucza publicznego i prywatnego.
  5. OpenSSL został zainstalowany i skonfigurowany. Jeśli masz usługę Git dla systemu Windows, dodaj C:\Program Files\Git\usr\bin\ do systemu PATH, aby móc użyć polecenia openssl .

Instalowanie wspólnej biblioteki kryptograficznej SAP

Wspólna biblioteka kryptograficzna SAP umożliwia łącznikowi SAP dla Microsoft .NET (NCo) szyfrowanie komunikacji między lokalną bramą danych a systemem SAP. Aby wyodrębnić bibliotekę, potrzebujesz zastrzeżonego narzędzia dekompresyjnego o nazwie SAPCAR.

Pobierz SAPCAR

  1. Przejdź do Centrum pobierania oprogramowania SAP i zaloguj się przy użyciu poświadczeń administratora globalnego.
  2. Wyszukaj SAPCAR i wybierz najnowszą, niezarchiwizowaną wersję.
  3. Wybierz swój system operacyjny.
  4. Pobierz plik .EXE do C:\sap\SAR.

Instalowanie wspólnej biblioteki kryptograficznej SAP

  1. W Centrum pobierania oprogramowania SAP wyszukaj ciąg "COMMONCRYPTOLIB" i wybierz najnowszą wersję.
  2. Wybierz swój system operacyjny.
  3. Pobierz plik . SAR z najnowszą datą wydania do C:\sap\SAR.

Ektrahowanie wspólnej biblioteki kryptograficznej SAP

  1. Otwórz PowerShell i przejdź do C:\sap\SAR.

  2. Wprowadź następujące polecenie, zastępując xxxx je wartościami:

    .\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
    
  3. Upewnij się, że sapgenpse.exe znajduje się w katalogu C:\sap\libs\sapcryptolib .

Wygeneruj certyfikaty

Teraz, po zainstalowaniu wspólnej biblioteki kryptograficznej SAP, możesz wygenerować certyfikaty, aby ustanowić zaufanie i szyfrowanie między lokalną bramą danych a systemem SAP.

Ostrzeżenie

Ta metoda służy wyłącznie do celów demonstracyjnych i nie jest zalecana w przypadku systemów produkcyjnych. W przypadku systemów produkcyjnych skonsultuj się z wewnętrznym zespołem ds. wytycznych lub zabezpieczeń infrastruktury kluczy publicznych.

W tym przykładzie nasze certyfikaty mają strukturę pokazaną na poniższym diagramie. Główny urząd certyfikacji [O=Contoso, CN=Główny urząd certyfikacji] podpisuje certyfikat szyfrowania SNC [O=Contoso, CN=SNC] i certyfikaty użytkownika [O=Contoso, CN=UserIDs]. W tym artykule skoncentrowano się na konfigurowaniu certyfikatów głównego urzędu certyfikacji i SNC.

Diagram przedstawiający przepływ certyfikatów z głównego urzędu certyfikacji do certyfikatu szyfrowania, certyfikatu podpisywania i identyfikatorów użytkowników.

Utwórz certyfikaty

  1. Utwórz strukturę folderu:

    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. Wygeneruj główny urząd certyfikacji:

    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. Wygeneruj certyfikaty 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. Utwórz plik sncCert/extensions.cnf konfiguracyjny OpenSSL do podpisania:

    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    basicConstraints = critical,CA:false
    keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment
    extendedKeyUsage = clientAuth,emailProtection
    
  5. Podpisz certyfikat SNC przy użyciu głównego urzędu certyfikacji:

    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
    

Stwórz osobiste, bezpieczne środowisko

Utwórz bezpieczne środowisko osobiste (PSE) dla lokalnej bramy danych. Biblioteka NCo szuka certyfikatu SNC wewnątrz PSE.

  1. Utwórz kontener PKCS#12:

    openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
    
  2. Nie można utworzyć zmiennych środowiskowych SECUDIR:

    1. Otwórz Właściwości systemu: W Eksploratorze plików kliknij prawym przyciskiem myszy pozycję Ten komputer, a następnie wybierz Właściwości>Zaawansowane ustawienia systemu.
    2. Wybierz opcję Zmienne środowiskowe.
    3. W Zmienne systemu, wybierz Nowe.
    4. Ustaw nazwę zmienną na SECUDIR.
    5. Ustaw wartość na C:\sapsecudir.
    6. Wybierz pozycję OK.
  3. Zaimportuj kontener PKCS#12 do PSE:

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

Konfiguruj SAP dla SNC

  1. Zaloguj się SAP GUI.

  2. Przejdź do kodu transakcji SNC0.

  3. Wprowadź E jako obszar roboczy.

  4. Wybierz pozycję Nowy wpis z górnego paska i wprowadź wymagane informacje.

    Zrzut ekranu graficznego interfejsu użytkownika systemu SAP przedstawiający listę kontroli dostępu dla systemów.

  5. Wybierz ikonę Zapisz.

  6. Wróc na stronę główną SAP GUI.

  7. Przejdź do kodu transakcji RZ10.

  8. Ustaw następujące parametry profilu:

    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. Zapisz parametry profilu i uruchom ponownie system SAP.

Wymiana certyfikatów między systemem SAP a lokalną bramą danych

Aby ustanowić zaufanie, należy wymienić certyfikaty między lokalną bramą danych a systemem SAP.

Dodawanie certyfikatu SNC bramy do systemu SAP

  1. W graficznym interfejsie użytkownika systemu SAP przejdź do kodu transakcji STRUST.
  2. Jeśli SNC SAPCryptolib ma czerwony znak X, kliknij prawym przyciskiem myszy i wybierz polecenie Utwórz.
  3. W przeciwnym przypadku wybierz pozycję SNC SAPCryptolib, a następnie kliknij dwukrotnie własny certyfikat.
  4. Wybierz pozycję Importuj certyfikat i wybierz certyfikat sncCert\snc.cert.pem publiczny.
  5. Wybierz pozycję Dodaj do listy certyfikatów.

Dodawanie certyfikatu SAP SNC do lokalnej bramy danych

  1. W graficznym interfejsie użytkownika systemu SAP przejdź do kodu transakcji STRUST.

  2. W przeciwnym przypadku wybierz pozycję SNC SAPCryptolib, a następnie kliknij dwukrotnie własny certyfikat.

  3. Eksportuj publiczny certyfikat.

  4. Przenieś certyfikat publiczny na maszynę bramy (na przykład, C:\sap\contoso-public-key.crt).

  5. Zaimportuj certyfikat do PSE bramy:

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

Implementowanie bezpiecznego połączenia

Postępuj zgodnie z instrukcjami, aby przetestować bezpieczne połączenie. Po pomyślnym zakończeniu testu możesz przystąpić do implementacji SNC w środowisku produkcyjnym.

  1. Utwórz przepływ Power Automate błyskawiczny.

  2. Dodaj akcję SAP ERP Call Function.

  3. Dodaj następujące parametry SNC do parametrów połączenia 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. Przetestuj połączenie za pomocą STFC_CONNECTION funkcji RFC.

    Zrzut ekranu przedstawiający wyniki testu w przepływie Power Automate .

Ważne

Upewnij się, że klucze prywatne są bezpiecznie obsługiwane i usuń je po zakończeniu tej konfiguracji.

Następny krok

Konfigurowanie usługi Tożsamość Microsoft Entra na potrzeby rejestracji jednokrotnej