Configurar el cifrado SSL
SSL (Secure Sockets Layer, es decir Capa de sockets seguros) es un protocolo de seguridad que cifra los datos transmitidos entre un cliente y un servidor. En FlowForce Server existen distintas opciones para cifrar las siguientes conexiones HTTP con certificados SSL:
•La conexión entre un navegador y el servidor FlowForce Web Server.
•La conexión entre un consumidor de servicio web (p.ej. una aplicación cliente) y el servicio de FlowForce Web Server.
•La conexión interna entre FlowForce Web Server y FlowForce Server.
Para las dos primeras conexiones de la lista anterior necesita un certificado SSL y una clave privada que corresponda a ese certificado. Por razones de seguridad puede que quiera usar un certificado SSL y una clave privada diferentes para cada conexión. Si quiere usar el mismo certificado y la misma clave privada para las dos conexiones, entonces es necesario que FlowForce Server y FlowForce Web Server tengan el mismo nombre de dominio completo (FQDN por sus siglas en inglés). Por ejemplo, si FlowForce Web Server escucha en https://somehost:8083, entonces FlowForce Server debería escuchar en https://somehost:4647. Recuerde que siempre puede cambiar el puerto más adelante. Por el momento sólo es importante el nombre de host.
Para la última conexión no son necesarios un certificado y una clave privada diferentes, sino que puede usar el mismo certificado SSL que para FlowForce Server. En este caso FlowForce Web Server actúa como cliente HTTP para FlowForce Server.
FlowForce Server Advanced Edition
Si usa FlowForce para el intercambio de datos AS2 también puede usar certificados SSL para firmar o cifrar datos como parte del servicio AS2 (véase Integración con AS2).
Procedimientos del cifrado SSL
Si necesita cifrar las conexiones con el protocolo SSL, siga las instrucciones a continuación. En este ejemplo hemos utilizado el kit de herramientas OpenSSL de código abierto para configurar el cifrado SSL. Por tanto, los pasos que se describen en las instrucciones sólo funcionarán en equipos con OpenSSL. Por lo general, OpenSSL viene preinstalado en la mayoría de las versiones de Linux y en los equipos de macOS. También puede instalar OpenSSL en equipos de Windows. En la wiki de OpenSSL encontrará enlaces para descargar los binarios de instalación.
El cifrado SSL necesita que tenga una clave privada instalada en el servidor FlowForce Server. Esta clave privada se utilizará para cifrar todos los datos que se envíen a clientes. Para crear la clave privada utilice este comando de OpenSSL:
openssl genrsa -out private.key 2048
Este comando crea un archivo llamado private.key que contiene su clave privada. Es importante recordar dónde guarda ese archivo. Necesitará la clave privada para generar la Petición de firma de Certificado (CSR). Por ello, tendrá que instalar esta clave privada en el servidor FlowForce Server (véase el paso 7 más abajo). El valor 2048 hace referencia a una clave privada con un tamaño de 2048 bits, que es el nivel mínimo de cifrado aceptado por lo general por una autoridad de certificación.
Requisitos de clave privadaFlowForce Server se ejecuta sin supervisión, por lo que para habilitar el protocolo SSL es necesario que la clave privada esté sin cifrar. En otras palabras, no debe estar protegida por una contraseña. De lo contrario FlowForce Server no la puede usar. Por este motivo, el archivo que almacena la clave privada debe tener acceso restringido y ser accesible solamente para las personas relevantes de su organización.
Para comprobar si la clave privada está protegida por contraseña o sin cifrar, abra el archivo de clave privada con un editor de texto o desde la línea de comandos. Una clave privada cifrada empieza con estas líneas:
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: AES-256-CBC,DFC3FAD546517ED6336CFF72AA23F6C7
Para descifrar la clave privada puede usar este comando de OpenSSL:
openssl rsa -in enc.key -out dec.key
También debería tener en cuenta estos requisitos:
•La clave privada debe estar en formato PEM (correo de privacidad mejorada). La extensión de los archivos PEM suele ser .pem, pero también puede ser .key, .cert, .cer o .crt. •La clave privada debe guardarse de forma segura.
|
2.Crear una Petición de firma de Certificado (CSR)
La Petición de firma de Certificado (CSR) se envía a una autoridad de certificación (CA), como VeriSign o Thawte, para solicitar un certificado de clave pública. La CSR se basa en su clave privada y contiene información sobre su organización. Cree una CSR con este comando de OpenSSL (que suministra el archivo de clave privada, private.key, que se creó en el primer paso, como uno de sus parámetros):
openssl req -new -nodes -key private.key -out my.csr
Durante la generación de la CSR deberá indicar datos sobre su compañía (enumerados a continuación). Esta información la usará la autoridad de certificación para confirmar la identidad de su empresa.
•País •Localidad (ciudad donde está situada su empresa) •Organización (nombre de su empresa). No utilice caracteres especiales - el certificado no será válido. •Nombre común (nombre DNS de su servidor). Debe ser idéntico al nombre oficial de su servidor (es decir, debe ser el nombre DNS que utilizarán las aplicaciones cliente para conectarse al servidor). •Una contraseña de comprobación. Deje este campo vacío.
|
En el siguiente paso tiene que comprar un certificado SSL de una autoridad de certificación (CA) reconocida, como son VeriSign o Thawte. Para el resto del procedimiento, siga los pasos que le indique VeriSign. El proceso con otras CA es parecido.
•Vaya al sitio web de VeriSign. •Haga clic en Comprar certificados SSL. •Existen distintos tipos de certificados SSL que puede comprar. Para FlowForce Server es suficiente un certificado Secure Site o Secure Site Pro. Como no existe una barra de dirección verde no será necesaria una comprobación extendida (EV). •Siga el procedimiento de registro y rellene la información necesaria para la compra. •Cuando se le pida la CSR (creada en el paso 2), copie y pegue el contenido del archivo my.csr en el formulario del pedido. •Efectúe el pago con una tarjeta de crédito válida.
El certificado de clave pública de una autoridad de certificación SSL suele tardar entre dos y tres días laborables. Es importante que tenga en cuenta este intervalo de tiempo a la hora de configurar FlowForce Server.
Método alternativo: Crear un certificado SSL auto-firmadoOtra opción, si FlowForce Server se ejecuta en una red privada y si usted tiene permiso para ello dentro de su organización, es configurar su propia autoridad de certificación SSL raíz. Ningún navegador o sistema operativo confía en estas autoridades por defecto. Por lo tanto, necesitará configurar cada equipo (o navegador, según el caso) que se conecte a FlowForce Server para que confíe en ese certificado raíz firmado por usted mismo. De lo contrario, el navegador seguirá mostrando advertencias o el servicio web no podrá realizar llamadas con éxito. Para más información consulte el apartado Crear certificados SSL auto-firmados.
|
4.Recibir la clave pública de una CA
La autoridad de certificación completará el proceso de inscripción en uno a tres días laborables. Durante este tiempo puede que reciba algún correo electrónico o alguna llamada para comprobar que está autorizado para solicitar un certificado SSL para su dominio DNS. Colabore con la autoridad para completar el proceso.
Una vez que este proceso haya finalizado, recibirá un correo electrónico que contiene la clave pública de su certificado SSL. La clave pública estará en texto simple o adjunta como archivo .cer.
|
5.Guardar la clave pública en un archivo
Para poder usar la clave pública en FlowForce Server, debe guardarla como archivo .cer. Si la clave pública se suministró como texto, copie y pegue todas las líneas entre estas dos:
--BEGIN CERTIFICATE-- ... --END CERTIFICATE--
en un archivo de texto al que debe llamar mycertificate.cer.
|
6.Guardar los certificados intermedios de la CA en un archivo
Al firmar un certificado con una autoridad de certificación recibirá uno o dos certificados intermedios (primario y secundario) que forman la cadena de confianza entre su servidor y la autoridad de certificación. En caso de que reciba tanto un certificado primario como un certificado secundario, debe combinarlos en un único archivo que se llama Archivo de cadena de certificados tal y como se explica a continuación.
1.Cree un archivo de texto nuevo con un editor de texto como Notepad. Para este ejemplo lo hemos llamado intermediate.pem pero puede escoger otro nombre de archivo y otra extensión. 2.Abra cada uno de los certificados intermedios en un editor de texto y copie y pegue el contenido de todos ellos en el archivo intermediate.pem. Es importante que copie el texto del certificado en orden inverso: El certificado intermedio secundario va primero y el primario va en segundo lugar (véase el ejemplo de código a continuación).
--BEGIN CERTIFICATE-- ... (secondary intermediate certificate) ... --END CERTIFICATE-- --BEGIN CERTIFICATE-- ... (primary intermediate certificate) ... --END CERTIFICATE
3.Guarde los cambios realizados. Necesitará hacer referencia al archivo intermediate.pem más tarde desde la página de configuración de FlowForce.
|
7.Habilitar SSL para FlowForce (Web) Server
Las siguientes instrucciones muestran cómo habilitar SSL para el servicio FlowForce Web Server (el servicio que gestiona la interfaz de administración de FlowForce) y FlowForce Server (el servicio responsable de exponer los servicios web creados desde trabajos de FlowForce a clientes HTTP(S)).
Para habilitar el cifrado SSL para FlowForce Server y FlowForce Web Server, siga estos pasos:
1.Abra la página de configuración de FlowForce Server y haga clic en Configurar parámetros. 2.En función de sus necesidades, vaya a la configuración de FlowForce Server o FlowForce Web Server. 3.Marque la casilla Habilitada de la sección «Conexión con cifrado SSL». 4.En la lista desplegable Dirección de enlace, seleccione «Todas las interfaces (0.0.0.0)». Este valor indica que FlowForce (Web) Server no sólo será accesible desde el equipo actual, sino también desde otros equipos externos. 5.Introduzca el nombre de host (de dominio) y el puerto desde el que FlowForce (Web) Server debe detectar las conexiones con cifrado SSL. La dirección IP que introduce en el campo Nombre de host debe corresponderse con el Nombre común del certificado SSL. Debe ser un puerto que no esté en uso. Según el caso, también puede introducir otra dirección IP. Si introduce una dirección IP en el campo Otro sin introducir un nombre de host, esta dirección IP debe corresponderse con el Nombre común del certificado SSL. 6.Indique la ruta de acceso al certificado en el campo Archivo de certificado. El certificado debe estar en formato PEM (correo de privacidad mejorada). La extensión de los archivos PEM suele ser .pem pero también puede ser .key, .cert, .cer o .crt. El certificado debe emitirse para la dirección IP en la que se está ejecutando FlowForce Server. 7.Indique la ruta de acceso al archivo de la clave privada en el campo Archivo de clave privada. La clave privada debe estar en formato PEM (correo de privacidad mejorada). La extensión de los archivos PEM suele ser .pem pero también puede ser .key, .cert, .cer o .crt. La clave privada debe guardarse de forma segura. Para que la clave privada se pueda usar en FlowForce no debe estar protegida por una contraseña. 8.Indique la ruta de acceso al archivo de cadena de certificados en el campo Archivo de cadena de certificados. Si no hay ningún certificado intermedio, puede dejar este campo vacío. Si hay varios certificados intermedios disponibles, debe combinarlos todos en el denominado Archivo de cadena (consulte Guardar los certificados intermedios de la CA en un archivo (paso 6) más arriba). 9.Haga clic en Aplicar configuración y reiniciar servicios de FlowForce en la parte inferior de la página de configuración.
Otra opción es desmarcar la casilla Habilitada de la sección Conexión sin cifrar. Tenga en cuanta que entonces FlowForce (Web) Server ya no estará disponible a través de HTTP simple, por lo que se recomienda que lleve a cabo este paso una vez empiece a funcionar el cifrado SSL. En lugar de deshabilitar por completo la conexión HTTP, puede que prefiera restringirla a sólo las conexiones locales (mediante la opción Sólo local en la lista desplegable Dirección de enlace).
Tenga en cuenta los siguientes aspectos:
•El navegador (o cliente conectado) mostrará advertencias si el nombre común (CN) del certificado SSL no se corresponde con el nombre de dominio o con la dirección IP en la que se está ejecutando FlowForce Server. •Si está usando certificados auto-firmados, el navegador (o cliente conectado) mostrará advertencias si no ha añadido su certificado raíz CA al almacén de certificados de su sistema operativo o al del navegador (véase Importar el certificado raíz).
|
Ahora puede utilizar cualquier herramienta de prueba SSL para comprobar si la comunicación segura con su servidor a través de HTTPS funciona correctamente. Esta herramienta comprobará y confirmará si (i) el certificado de calve pública se construyó correctamente con la cadena de confianza y si (ii) se puede establecer la conexión con el servidor a través del servidor de seguridad.
|