Escolar Documentos
Profissional Documentos
Cultura Documentos
La Información sobre Seguridad en servicios web, es muy limitada por ello y con el fin de
brindar una guía para necesidades similares se ha elaborado este documento que tiene como
temas principales : La Configuración de Seguridad para servicios web en la capa de
transporte usando SSL, además se ha creado un cliente Punto net para el consumo del
servicio web y se ha creado una autenticación mutua(también conocida como autenticación
del cliente). Por último si se desea autenticar tanto cliente como servidor pero sin enviar sus
mensajes encriptados se ha colocado tips para poder configurar en WAS este tipo de
comunicación.
Para establecer seguridad en ell nivel de transporte, utilizando SSL, se necesita crear un
almacén claves (key store) y uno de confianza (trust store) que la nueva configuración SSL
usará.
Cuando un cliente intenta conectarse con SSL , WAS retornará el certificado del servidor a el
cliente, confirmando su identidad.
1. Navegar a Security>SSL certificate and key management > Key stores and
certificates.
2. Click en el almacen creado recientemente.
3. Click en Personal Certificates.
4. Click en Create a self-signed certificate e ingrese los datos de la figura 2.
Figure 2. Creating a self-signed certificate
Cuando WebSphere .A.S actúe como un cliente a otro servidor e intente hacer una conexión
SSL , WebSphere AS enviará el certificado de cliente a el servidor confirmando su identidad.
Aunque en este caso WAS va a ser el servidor, se debe crear un certificado de cliente porque
para configurar SSL se necesita indicar por defecto los certificados tanto del servidor
como del cliente.
1. Navegar a Security>SSL certificate and key management > Key stores and
certificates.
2. Click en el almacen de claves (key store) el cual se creó siguiendo los pasos
anteriores.
3. Click en Personal Certificates.
4. Click en Create a self-signed certificate e ingrese los detalles indicados en la figura
Figure 2.
5. Ingrese un alias para el certificado, por ejemplo, myclientcert.
6. Click en OK y guarde los cambios a la configuración maestra.
Un almacén de confianza contiene los certificados que el servidor confía. Los certificados de
clientes son añadidos como firmas certificadas a el almacén de confianza. Para que la
conexión SSL se realice se debe agregar el certificado del cliente de WID en el almacén de
confianza del WAS.
Para poder relacionar los certificados de cliente y servidor, se crea una cadena de Transporte
que enlaza la configuración SSL específica al puerto. Esta encuentra los certificados de
cliente y servidor que serán usados por el puerto para leer la configuración específica SSL.
Esto indica que solamente los clientes de confianza podrán conectarse al servidor. Esto
obligará a cualquier cliente a enviar su certificado cuando se quiere establecer una
comunicación con WAS.
1. Navegar a Security >SSL certificate and key management > Key stores and
certificates.
2. Click en SSL configuration, que fue creada anteriormente.
3. Click en Quality of protection (QoP) settings. (esta a la derecha del panel)
4. Seleccione Required en Client Authentication como muestra la figura 5.
5. Click en OK y guarde los cambios.
Figure 5. Obligar la autenticación de los clientes
NOTA: Para verificar cuando WAS envíe un certificado o no, se puede seleccionar None
o Supported. Esto permite invocar al servicio web end-point desde un browser y ver el
certificado del servidor que retornará WebSphere AS. However, asegurarse que luego
de la verificación regrese a Required.
Cuando se crea una cadena de transporte se debe crear un Puerto. Por el cual se va a escuchar
las peticiones.
3. Click en New.
4. Ingrese los detalles de la cadena de transporte como se indica en la figura 7. Nota,
seleccione la plantilla de cadena terminada en Chain_2.
Figura 9 El puerto creado en este caso es el 8103, fíjese que SSL está habilitado.
Nota para propósitos de Verificación, puede crear otra cadena de transporte sin SSL. Para
esto seleccione WebContainer(templates/chains|webcontainer-chains.xml#Chain_1)
como plantilla de la cadena de transporte, para otro Puerto por ejemplo, 8001.
Navegue a Servers > Servers>Server Types>W. Application servers > server1 > Web
container Settings> Web container transport chains como se muestra en la Figura 6
(anterior).
La aplicación entonces necesita ser mapeada a este Nuevo host virtual. Cree el nuevo host
virtual.
Para propósitos de verificación, si se ha creado una cadena de traansporte sin SSL , entonces
cree otro alias para la cadena de transporte sin SSL, por ejemplo, 8001 .
Cuando un cliente intenta conectarse con SSL , WAS retornará el certificado del servidor a el
cliente, confirmando su identidad.
8. Navegar a Security>SSL certificate and key management > Key stores and
certificates.
9. Click en el almacen creado recientemente.
10. Click en Personal Certificates.
11. Click en Create a self-signed certificate e ingrese los datos de la figura 15.
En este caso WPS va a ser el cliente, pero se debe crear un certificado de servidor también
porque para configurar SSL se necesita indicar por defecto los certificados tanto del
servidor como del cliente.
7. Navegar a Security>SSL certificate and key management > Key stores and
certificates.
8. Click en el almacen de claves (key store) el cual se creó siguiendo los pasos
anteriores.
9. Click en Personal Certificates.
10. Click en Create a self-signed certificate e ingrese los detalles indicados en la figura
Figure 2.
11. Ingrese un alias para el certificado, por ejemplo, myclientcert.
12. Click en OK y guarde los cambios a la configuración maestra.
Un almacén de confianza contiene los certificados que el servidor confía. Los certificados de
clientes son añadidos como firmas certificadas a el almacén de confianza. Para que la
conexión SSL se realice se debe agregar el certificado del cliente de WID en el almacén de
confianza del WAS.
Para poder relacionar los certificados de cliente y servidor, se crea una cadena de Transporte
que enlaza la configuración SSL específica al puerto. Esta encuentra los certificados de
cliente y servidor que serán usados por el puerto para leer la configuración específica SSL.
-Djavax.net.ssl.keyStore=${CONFIG_ROOT}/cells/qcell/nodes/qnode/mikey.p12
- Djavax.net.ssl.keyStorePassword=wgutierrez
Fíjese en figura
1. Navegue a SSL certificate and key management > Key stores and certificates >
2. Seleccione el almacén de claves (key store) creado por usted en WPS.
3. Seleccione ahora Personal certificates.
4. En mi caso el path queda SSL certificate and key management > Key stores and
certificates > Mialmacenclaves > Personal certificates
5. Luego seleccione el certificado del cliente como indica la figura .
Figura extracción del certificado de cliente WPS
6. Ingrese los detalles como se ve en la figura (Nota indique el path donde va a guardar
el certificado).
Figura
Luego Añada el certificado exportado del WAS a el trust store de WPS
Figura
Ahora los servidores de RAD(WAS) y de WID(WPS) confían el uno en el otro, restaure
ambos servidores y listo.
Primero debemos proceder importando al interface remota, normalmente, sin que el servidor
AS haya habilitado la seguridad SSL , es decir instalamos el EAR en el host por defecto, sin
utilizar el host virtual que creó en el WAS.
Se le abre una ventana en al que debe ingresar los parámetros que requiera el servicio,
como:
Y pulse continuar, luego seleccione el servidor
Para ver esta página de la consola administrativa, pulse el botón Security > SSL certificate and key
management. Bajo Configuration settings, click en Manage endpoint security configurations >
{Inbound | Outbound} > ssl_configuration. Bajo los items relacionados, click en SSL configurations >
. Click {la selección de la configuración SSL que se desee }. Bajo propiedades adicionales (Aditional
properties), click en Quality of protection (QoP) settings, como se muetsra en la figura.
Autenticación de Cliente
Si se selecciona la opción None ,el servidor no solicita un certificado al cliente durante el apretón de
manos. Si se ha seleccionado Supported , el servidor solicita un certificado al cliente. Si el cliente no
tiene certificado, el apretón de manos podría darse. Si se ha seleccionado la opción Required, el
servidor solicita que el cliente envíe su certificado. Si el cliente no tiene un certificado entonces la
conexión (apretón de manos) falla.
Default: None
Protocolo
Especifica el protocolo para el apretón de manos usando Secure Sockets Layer (SSL) handshake .
Este protocolo es típicamente SSL_TLS, el cual soporta todos los protocolos de apretón de manos
excepto por SSLv2 en el lado del servidor.
Default: SSL_TLS
Proveedor
Especifica una de los proveedores predefinidos de JSSE , por defecto se usa el IBMJSSE2 .
Especifica los grupos que pueden ser seleccionados dependiendo de la seguridad que se desee
asignar. El cipher suite stronger es el de mayor seguridad ; aun cuando , este puede afectar en el
desempeño. Además dependiendeo del tipo que se seleccione Stron,Medium,Weak,Custom, se
pude tener diferentes tipos de chiper suites .
Nota: En el caso de necesitar utilizar SSL pero sólo para autenticación pero sin cifrado, se puede
utilizar uno de los grupos: Weak o Custom.
Que usan
SLS_RSA_WITH_NULL_SHA
SLS_RSA_WITH_NULL_MD5.