Thiết lập liên lạc mạng an toàn

Secure Network Communications (SNC) tăng cường tính bảo mật cho tích hợp SAP của bạn với Power Platform bằng cách mã hóa dữ liệu giữa cổng dữ liệu tại chỗ và hệ thống SAP. Bài viết này hướng dẫn bạn cách thiết lập SNC như một bằng chứng khái niệm.

Quan trọng

Các chế độ cài đặt và đề xuất được trình bày trong bài viết này không dành cho mục đích sử dụng chính thức. Tham khảo nhóm bảo mật, chính sách nội bộ và Đối tác Microsoft để được hướng dẫn thiết lập SNC trong môi trường sản xuất.

Điều kiện tiên quyết

  1. Bạn có kết nối SAP sử dụng trình kết nối SAP ERP.
  2. Bạn có quyền truy cập vào phiên bản SAP mà bạn có thể khởi động lại và quản lý.
  3. SAP GUI đã được cài đặt và thiết lập.
  4. Bạn đã quen thuộc với công nghệ khóa công khai và khóa riêng tư.
  5. OpenSSL đã được cài đặt và thiết lập. Nếu bạn có Git cho Windows, hãy thêm C:\Program Files\Git\usr\bin\ vào PATH hệ thống của bạn để bạn có thể sử dụng lệnh openssl .

Cài đặt SAP Common Crypto Library

Thư viện mã hóa chung của SAP cho phép SAP Connector for Microsoft .NET (NCo) mã hóa thông tin liên lạc giữa cổng dữ liệu tại chỗ và SAP. Để giải nén thư viện, bạn cần một tiện ích giải nén độc quyền có tên là SAPCAR.

Nhận SAPCAR

  1. Truy cập Trung tâm tải xuống phần mềm SAP và đăng nhập bằng thông tin đăng nhập SAP của bạn.
  2. Tìm kiếm SAPCAR và chọn phiên bản mới nhất chưa lưu trữ.
  3. Chọn hệ điều hành của bạn.
  4. Tải xuống tệp .EXE vào C:\sap\SAR.

Nhận Thư viện mã hóa chung SAP

  1. Trong Trung tâm tải xuống phần mềm SAP, tìm kiếm "COMMONCRYPTOLIB" và chọn phiên bản mới nhất.
  2. Chọn hệ điều hành của bạn.
  3. Tải xuống tệp .SAR có ngày phát hành gần đây nhất tới C:\sap\SAR.

Trích xuất thư viện SAP Common Crypto

  1. Mở PowerShell và đi tới C:\sap\SAR.

  2. Nhập lệnh sau, thay thế xxxx bằng giá trị của bạn:

    .\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
    
  3. Xác nhận rằng sapgenpse.exe có trong thư mục C:\sap\libs\sapcryptolib .

Tạo chứng chỉ

Sau khi bạn cài đặt SAP Common Crypto Library, hãy tạo chứng chỉ để thiết lập độ tin cậy và mã hóa giữa cổng dữ liệu tại chỗ của bạn và hệ thống SAP.

Cảnh báo

Phương pháp này chỉ dành cho mục đích trình diễn và không được khuyến nghị cho các hệ thống sản xuất. Đối với hệ thống sản xuất, hãy tham khảo hướng dẫn PKI nội bộ hoặc nhóm bảo mật.

Trong ví dụ này, cấu trúc chứng chỉ của bạn như trong sơ đồ sau. Root CA [O=Contoso, CN=Root CA] ký chứng chỉ mã hóa SNC [O=Contoso, CN=SNC] và chứng chỉ người dùng [O=Contoso, CN=UserIDs]. Bài viết này tập trung vào việc thiết lập chứng chỉ Root CA và SNC.

Sơ đồ hiển thị luồng chứng chỉ từ Root CA đến Chứng chỉ mã hóa, Chứng chỉ ký và ID người dùng.

Tạo chứng chỉ

  1. Thiết lập cấu trúc thư mục:

    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. Tạo CA gốc:

    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. Tạo chứng chỉ 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. Tạo tệp cấu hình OpenSSL, sncCert/extensions.cnf, để ký:

    [ v3_leaf ]
    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    basicConstraints = critical,CA:false
    keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment
    extendedKeyUsage = clientAuth,emailProtection
    
  5. Ký chứng chỉ SNC bằng cách sử dụng CA gốc:

    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
    

Tạo môi trường an toàn cá nhân

Tạo môi trường bảo mật cá nhân (PSE) cho cổng dữ liệu tại chỗ. Thư viện NCo tìm kiếm chứng chỉ SNC bên trong PSE.

  1. Tạo vùng chứa PKCS#12:

    openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
    
  2. Tạo biến môi trường SECUDIR:

    1. Mở Thuộc tính hệ thống: Trong File Explorer, nhấp chuột phải vào Máy tính này, sau đó chọn Thuộc tính>Cài đặt hệ thống nâng cao.
    2. Chọn Biến môi trường.
    3. Trong Biến hệ thống, chọn Mới.
    4. Đặt tên biến thành SECUDIR.
    5. Đặt giá trị thành C:\sapsecudir (tạo thư mục này nếu nó không tồn tại).
    6. Chọn OK.
    7. Khởi động lại phiên PowerShell của bạn để chọn biến môi trường mới này.
  3. Nhập container PKCS#12 vào PSE:

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

Thiết lập SAP cho SNC

  1. đăng nhập vào SAP GUI.

  2. Đi tới mã giao dịch SNC0.

  3. Nhập E làm khu vực làm việc.

  4. Chọn Mục nhập mới từ thanh trên cùng và điền thông tin bắt buộc.

    Ảnh chụp màn hình SAP GUI hiển thị Danh sách kiểm soát truy cập cho hệ thống.

  5. Chọn Lưu.

  6. Trở lại màn hình chính của SAP GUI.

  7. Đi tới mã giao dịch RZ10.

  8. Thiết lập các thông số cấu hình sau:

    snc/accept_insecure_cpic: 1
    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. Lưu các tham số cấu hình và khởi động lại hệ thống SAP của bạn.

Trao đổi chứng chỉ giữa SAP và cổng dữ liệu tại chỗ

Bạn cần trao đổi chứng chỉ giữa cổng dữ liệu tại chỗ và SAP để tạo dựng sự tin cậy.

Thêm chứng chỉ SNC cổng vào SAP

  1. Trong SAP GUI, hãy đi tới mã giao dịch STRUST.
  2. Nếu SNC SAPCryptolib có dấu X màu đỏ, hãy nhấp chuột phải vào đó và chọn Tạo.
  3. Nếu không, hãy nhấp đúp vào SNC SAPCryptolib, sau đó nhấp đúp vào Chứng chỉ riêng của bạn.
  4. Chọn Nhập chứng chỉ và chọn sncCert\snc.cert.pem chứng chỉ công khai của bạn.
  5. Chọn Thêm vào Danh sách chứng chỉ.

Thêm chứng chỉ SAP SNC vào cổng dữ liệu tại chỗ

  1. Trong SAP GUI, hãy đi tới mã giao dịch STRUST.

  2. Nhấp đúp vào SNC SAPCryptolib, sau đó nhấp đúp vào Chứng chỉ riêng của bạn.

  3. Xuất chứng chỉ công khai.

  4. Di chuyển chứng chỉ công khai đến máy cổng của bạn (ví dụ: C:\sap\contoso-public-key.crt).

  5. Nhập chứng chỉ vào PSE của cổng kết nối của bạn:

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

Kiểm tra kết nối an toàn

Thực hiện theo các bước để kiểm tra kết nối an toàn. Sau khi hoàn tất bài kiểm tra thành công, bạn đã sẵn sàng triển khai SNC trong môi trường sản xuất của mình.

  1. Tạo ra luồng chảy tức thời Power Automate.

  2. Thêm một SAP ERP Call Function hành động.

  3. Thêm các tham số SNC sau vào chuỗi Kết nối 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. Kiểm tra kết nối bằng cách sử dụng hàm RFC. STFC_CONNECTION

    Ảnh chụp màn hình hiển thị kết quả của một bài kiểm tra trong luồng Power Automate .

Quan trọng

Đảm bảo rằng bạn xử lý các khóa riêng tư một cách an toàn và xóa chúng khi bạn hoàn tất thiết lập này.

Bước tiếp theo

Thiết lập Microsoft Entra ID có chứng chỉ cho SSO