Configurar la comunicación de red segura
Comunicación de red segura (SNC) mejora la seguridad de su integración de SAP con Power Platform mediante el cifrado de los datos entre una puerta de enlace de datos local y un sistema SAP. Este artículo le muestra cómo configurar SNC como prueba de concepto.
Importante
La configuración y las recomendaciones que se presentan en este artículo no están diseñadas para su uso en producción. Consulte a su equipo de seguridad, a las directivas internas y a Microsoft Partner para obtener instrucciones sobre cómo configurar SNC en un ambiente de producción.
Requisitos previos
- Tiene una conexión SAP que utiliza el conector SAP ERP.
- Tiene acceso a una instancia de SAP que puede reiniciar y administrar.
- La GUI de SAP está instalada y configurada.
- Está familiarizado con las tecnologías de clave pública y privada.
- OpenSSL está instalado y configurado. Si tiene Git para Windows, agregue
C:\Program Files\Git\usr\bin\
a su sistema PATH para que pueda usar el comandoopenssl
.
Instalar la biblioteca criptográfica común de SAP
SAP Common Crypto Library permite que SAP Connector for Microsoft .NET (NCo) cifre las comunicaciones entre la puerta de enlace de datos local y SAP. Para extraer la biblioteca, necesita una utilidad de descompresión propietaria llamada SAPCAR.
Obtener SAPCAR
- Vaya al Centro de descarga de software SAP e inicie sesión mediante las credenciales SAP.
- Busque SAPCAR y seleccione la versión no archivada más reciente.
- Seleccione su sistema operativo.
- Descargar el archivo .EXE a
C:\sap\SAR
.
Obtener SAP Common Crypto Library
- En el Centro de descarga de software de SAP, busque "COMMONCRYPTOLIB" y Seleccionar la última versión.
- Seleccione su sistema operativo.
- Descargue el archivo .SAR con la fecha de versión más reciente a
C:\sap\SAR
.
Extraer SAP Common Crypto Library
Abra el PowerShell y diríjase a
C:\sap\SAR
.Introduzca el siguiente comando, reemplazando
xxxx
con sus valores:.\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
Confirme que
sapgenpse.exe
está en el directorioC:\sap\libs\sapcryptolib
.
Generar certificados
Ahora que ha instalado SAP Common Crypto Library, puede generar certificados para establecer confianza y cifrado entre su puerta de enlace de datos local y el sistema SAP.
Advertencia
Este método es sólo para fines de demostración y no se recomienda para sistemas de producción. En el caso de los sistemas de producción, consulte a su equipo de seguridad interno o a su guía de PKI.
En este ejemplo, nuestros certificados están estructurados como se muestra en el siguiente diagrama. La Root CA [O = Contoso, CN = Root CA] firma el certificado de cifrado SNC [O = Contoso, CN = SNC] y los certificados de usuario [O = Contoso, CN =UserIDs
].
Este artículo se centra en la configuración de los certificados de Root CA y SNC.
Crear certificados
Configurar la estructura de carpetas:
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" }
Generar una CA raíz:
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"
Generar el certificado 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"
Cree un archivo de configuración de OpenSSL,
sncCert/extensions.cnf
, para firmar:subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer basicConstraints = critical,CA:false keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment extendedKeyUsage = clientAuth,emailProtection
Firme el certificado SNC con la CA raíz:
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
Crear un entorno personal seguro
Cree un entorno seguro personal (PSE) para la puerta de enlace de datos en las instalaciones. La biblioteca NCo busca el certificado SNC dentro del PSE.
Crear un contenedor PKCS#12:
openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
Cree la variable SECUDIR ambiente:
- Abra Propiedades del sistema: En el Explorador de archivos, haga clic con el botón derecho en Este PC y luego seleccione Propiedades>Configuración avanzada del sistema.
- Seleccione Variable de entorno.
- En Variables del sistema, seleccione Nuevo.
- Establecer el nombre a
SECUDIR
. - Establezca el valor a
C:\sapsecudir
. - Seleccione Aceptar.
Importe el contenedor PKCS#12 en un PSE:
C:\sap\libs\sapcryptolib\sapgenpse.exe import_p12 -p SAPSNCSKERB.pse C:\pki-certs\snc.p12
Configurar SAP para SNC
Inicie sesión en SAP GUI.
Vaya al código de transacción
SNC0
.Introduzca E como área de trabajo.
Seleccione Nueva entrada en la barra superior y complete la información requerida.
Seleccione Guardar.
Vuelva a la pantalla principal de SAP GUI .
Vaya al código de transacción
RZ10
.Establezca estos parámetros de perfil:
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```
Guarde los parámetros del perfil y reinicie su sistema SAP.
Intercambio de certificados entre SAP y la puerta de enlace de datos en las instalaciones
Debe intercambiar certificados entre la puerta de enlace de datos en las instalaciones y SAP para establecer la confianza.
Añadir el certificado SNC de la puerta de enlace a SAP
- En SAP GUI, vaya al código de transacción
STRUST
. - Si SNC SAPCryptolib tiene una X roja, haga clic derecho sobre ella y seleccione Seleccionar Crear.
- De lo contrario, haga doble clic en SNC SAPCryptolib y, a continuación, haga doble clic en su Propio certificado.
- Seleccionar Importar certificado y elegir su
sncCert\snc.cert.pem
certificado público. - Seleccione Agregar a la lista de certificados.
Agregar el certificado SNC de SAP a la puerta de enlace de datos local
En SAP GUI, vaya al código de transacción
STRUST
.Haga doble clic en SNC SAPCryptolib y, a continuación, haga doble clic en su Certificado propio.
Exportar el certificado público.
Mueva el certificado público a la máquina de puerta de enlace (por ejemplo,
C:\sap\contoso-public-key.crt
).Importa el certificado al PSE de tu puerta de enlace:
C:\sap\libs\sapcryptolib\sapgenpse.exe maintain_pk -p SAPSNCSKERB.pse -v -a C:\pki-certs\sncCert\sapkerb.public.cert
Pruebe la conexión segura
Siga los pasos para probar la conexión segura. Una vez que complete la prueba con éxito, estará listo para implementar SNC en su producción ambiente.
Crear un flujo instantáneo en Power Automate.
Agregar una acción
SAP ERP Call Function
.Agregue los siguientes parámetros SNC a la cadena Conexión 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" }```
Pruebe la conexión utilizando la función RFC.
STFC_CONNECTION
Importante
Asegúrese de manejar de forma segura las claves privadas y eliminarlas una vez finalizada esta configuración.