CSA - Seguridad, contraseñas, LDAP, SSL, SSO y XSS

ccppmop1561
Utilice la Administración del sistema de CA PPM (CSA) para gestionar la seguridad, establecer las contraseñas del servidor de la base de datos, activar SSL, integrar con servidores LDAP, configurar el inicio de sesión único, activar FIPS y gestionar las direcciones URL externas.
2
Gestión de las contraseñas del servidor de base de datos
Utilice una contraseña del servidor para asegurar cada servidor. Si el servidor está en un clúster, la contraseña de servidor no concede acceso a los otros servidores del clúster.
Para minimizar el riesgo de que se produzcan accesos no autorizados, cambie periódicamente la contraseña en cada servidor.
  1. Cambie la contraseña del servidor de la base de datos. Consulte la documentación de la base de datos de terceros para obtener más información.
  2. Cambie la contraseña de CSA.
  3. Reinicie los servicios después de cambiar la contraseña del servidor de la base de datos.
Cifrado de contraseñas de servidor
Para proteger un archivo de contraseña del servidor, se puede cifrar. Se puede activar el cifrado AES de contraseñas del servidor mediante el archivo
properties.xml
. Este método de cifrado requiere que se utilice una contraseña separada (clave) para cifrar las contraseñas en
properties.xml
. Garantice la seguridad de esta clave sin cifrar.
La ventaja del cifrado en el lado del servidor es que solamente es necesario garantizar la seguridad de una clave, que está almacenada en un archivo al que puede acceder el servidor. La clave solamente se necesita al iniciar el servidor. Después de que
Clarity PPM
se esté ejecutando, puede proteger aún más el archivo de claves con otro nivel de cifrado. Si el archivo se encuentra en una unidad de almacenamiento extraíble, puede desconectar y bloquear el archivo en un lugar seguro.
Cuando se activa el cifrado de contraseñas del servidor, cualquier contraseña de texto sin cifrar de
properties.xml
se cifrará automáticamente la próxima vez que
Clarity PPM
acceda al archivo. Si activa el cifrado y edita
properties.xml
directamente, se podrán introducir contraseñas sin cifrar. La próxima vez que se acceda al archivo (por ejemplo, cuando se implemente o se inicie un servicio), las contraseñas que estaban sin cifrar estarán cifradas.
Para cifrar contraseñas de servidor, cree un archivo de clave válido al que pueda acceder el servidor y que contenga el archivo de propiedades. Cada servidor debe tener acceso al archivo clave (en la red) o a una copia del mismo (en el disco local del servidor).
Siga estos pasos:
  1. Inicie sesión en CSA.
  2. Haga clic en
    Página principal
    y, a continuación, en
    Servidores
    .
  3. Haga clic en el nombre del servidor.
  4. Haga clic en la ficha
    Seguridad
    .
  5. Seleccione una opción y haga clic en
    Guardar
    .
    • Para activar el cifrado mediante una clave del sistema, seleccione la opción
      Utilizando archivo de sistema
      en el campo
      Cifrar contraseñas
      . Esta opción utiliza una clave codificada mediante el procedimiento "hard-coded" que se envía con el producto. Esta opción es la menos segura de las dos opciones. Si se llega a conocer la clave para una instalación de CA PPM, se conocerá la clave para todas las instalaciones. Esta opción no fomenta los observadores casuales. Si un empleado está mirando la clave del sistema sin ningún tipo de mala intención, el empleado no verá ninguna contraseña. Sin embargo, un intruso que pretenda intencionadamente obtener acceso al sistema y que ya haya conseguido acceder a archivos del servidor, probablemente podrá descifrar las contraseñas.
    • Para activar el cifrado mediante un archivo de claves personalizado, seleccione la opción
      Utilizando archivo clave personalizado
      . Introduzca el nombre de archivo y la ruta completa al archivo de claves personalizado en el campo
      Archivo clave
      . Esta opción requiere que se cree un archivo de claves y se ponga a disposición de todos los servidores que ejecutan
      Clarity PPM
      . El archivo clave está bien seguro, por lo que un intruso se enfrentaría a la tarea prácticamente imposible de descifrar las contraseñas sin una clave.
      Si cifra contraseñas con un archivo clave personalizado, cambie el archivo clave personalizado. De lo contrario, las contraseñas se perderán (no se podrán descifrar). En este caso, debe volver a introducir las contraseñas.
Cambio de las contraseñas del servidor de base de datos
Siga estos pasos:
  1. Cambie la contraseña del servidor de base de datos en la base de datos.
    Consulte la documentación de la base de datos de terceros para obtener más información.
  2. Cambie la contraseña del servidor de base de datos en CSA por la contraseña nueva que ha introducido. Inicie sesión en CSA.
  3. Detenga los servicios de la Aplicación de CA PPM (app) y de Fondo de CA PPM (bg) realizando las acciones siguientes:
    1. Haga clic en Página principal y, a continuación, en Todos los servicios.
    2. Seleccione las casillas de verificación situadas junto a Aplicación de CA PPM y a Fondo de CA PPM y, a continuación, haga clic en Detener.
      Los servicios se detienen.
  4. Haga clic en Página principal y, a continuación, en Servidores.
  5. Haga clic en Propiedades y, a continuación, haga clic en la ficha Base de datos.
  6. En la sección Conexión interna: Niku, rellene los siguientes campos:
    • Contraseña
      Introduzca una contraseña nueva.
    • Confirmar contraseña
      Escriba la contraseña otra vez.
  7. Haga clic en Guardar.
  8. Reinicie los servicios del fondo de CA PPM (bg) y de la aplicación de CA PPM (app):
    1. Haga clic en Página principal y, a continuación, en Todos los servicios.
    2. Seleccione las casillas de verificación situadas junto a Fondo de CA PPM (bg) y Aplicación de CA PPM (app) y haga clic en Inicio.
Configuración de Secure Sockets Layer (SSL) en Apache Tomcat
SSL es un protocolo para transmitir datos entre los nodos. El protocolo utiliza un método de cifrado para proteger los datos frente al acceso no autorizado que está basado en dos claves: una clave pública, que todo el mundo conoce, y una clave privada (secreta), que conoce solamente el destinatario del mensaje.
  • Debido a que los pasos descritos en esta sección hacen referencia a componentes de productos de terceros, el soporte es limitado.
  • Se debe decidir dónde instalar SSL. Por ejemplo, para mejorar el rendimiento, se puede utilizar otro servidor en lugar del servidor de aplicaciones.
  • El comando
    keytool
    de Java se utiliza habitualmente para la creación y gestión de certificados SSL. Otros comandos y herramientas también están disponibles.
  • Los pasos descritos se aplican a muchos de los entornos; aunque no a todos. Además, los pasos podrían ser incluso incorrectos en algunos entornos. En concreto, se podrían utilizar certificados autofirmados (no adquiridos de un distribuidor certificado como Verisign o Thawte). Estos certificados podrían requerir varias instalaciones antes de poder instalar el certificado real. Los nombres de estos certificados pueden variar.
  • Siga las instrucciones de su distribuidor de certificados SSL en lugar de seguir únicamente los pasos de esta página. Los distribuidores pueden requerir pasos o comandos específicos distintos de los descritos en esta página.
  • Con fines de pruebas, utilice la clave privada incluida con
    Clarity PPM
    .
Cuando HTTP se utiliza con SSL, se denomina "HTTPS".
Cuando se activa SSL en el servicio de aplicación, todos los datos que se mueven entre las aplicaciones de cliente (por ejemplo, un explorador web u Open Workbench) están cifrados. Los datos se cifran antes del envío y se descifran antes de que se reciban. Sin el cifrado SSL, una entidad no autorizada podría leer los datos y robar información confidencial como, por ejemplo, nombres de usuario y contraseñas.
Siga estos pasos:
Los pasos de esta página hacen referencia solamente a la primera instalación de
Clarity PPM
. También se puede instalar un certificado renovado cuando caduca uno antiguo.
4
4
Generación de un par de claves pública y privada
Utilice el comando
keytool
de Java para generar un par de claves pública y privada, y para crear una solicitud de firma de certificado (CSR).
Los pasos de esta página proporcionan únicamente los parámetros de Java requeridos. Para obtener más información acerca de todos los parámetros de los comandos de Java, consulte el sitio web de documentación de Oracle.
Antes de poner el sistema en producción, cree un archivo de almacén de claves para la clave privada y distribuya el archivo a todos los servidores de aplicaciones. Si ya tiene otro archivo de almacén de claves, también puede utilizar el archivo con
Clarity PPM
.
Siga estos pasos:
  1. Abra el servidor de aplicaciones de
    Clarity PPM
    , abra una línea de comandos y genere un par de claves pública y privada emitiendo el comando siguiente:
    keytool -genkey -keystore /<Clarity Home Directory>/config/.keystore -keyalg RSA -storepass keystore
  2. Defina los siguientes valores:
    • -genkey
      Esta opción genera un almacén de claves, en caso de que no exista uno. El almacén de claves contiene la clave pública ficticia y la pública.
    • keystore
      Especifica la ruta y el nombre del archivo de almacén de claves. De forma predeterminada, el almacén de claves se denomina
      .keystore
      y se encuentra en el directorio
      /<Directorio principal de Clarity>/config/
      .
    • keyalg
      Especifica el algoritmo que se debe utilizar para generar el par de claves (RSA en este ejemplo).
    • storepass
      Contraseña que se utiliza para proteger el almacén de claves (que debe tener como mínimo seis caracteres). Esta contraseña se proporciona a todos los comandos que acceden al almacén de claves.
  3. Cuando se solicite, introduzca la información apropiada acerca de la organización.
  4. Pulse la tecla
    Intro
    cuando se le solicite que introduzca la contraseña de clave. La contraseña de clave y la contraseña del almacén de claves deben ser la misma.
En el caso de un certificado autofirmado, exporte el archivo .cer de la clave privada generada y omita el procedimiento siguiente. No cree una solicitud de firma de certificado (CSR). En este caso, no es necesaria una solicitud de firma de certificado. Para exportar el archivo, utilice el comando siguiente:
keytool –export -file <nombre_archivo.cer> -keystore <directorio_principal_Clarity/config/.keystore> -storepass keystore
Creación de una solicitud de firma de certificado (CSR)
En los sistemas de producción, sustituya el certificado de prueba por un certificado real. Para obtener un certificado, cree una solicitud de firma de certificado (CSR) y envíela a una autoridad certificadora. La autoridad certificadora genera un certificado real que autentica la clave pública. La solicitud de firma de certificado es una solicitud para un certificado SSL real en función de la información del sistema. No se debe instalar la solicitud de firma de certificado. Instale el certificado real proporcionado por el proveedor de SSL como respuesta a la solicitud de firma de certificado. Siempre siga las instrucciones de su proveedor de SSL. Generalmente, se requieren comandos específicos para instalar los certificados intermedios o raíz. Los distribuidores pueden requerir la instalación de otro tipo de certificados.
Siga estos pasos:
  1. En el servidor de aplicaciones de
    Clarity PPM
    , abra una línea de comando y emita el comando siguiente:
    keytool -certreq -keystore /<Clarity Home Directory>/config/.keystore -keyalg RSA -file ca_ppm.csr
  2. Cuando se le solicite una contraseña, introduzca la contraseña predeterminada (
    keystore
    ).
  3. Defina los siguientes valores:
    • -certreq
      Genera una solicitud de firma de certificado (CSR).
    • keystore
      Especifica la ruta y el nombre del archivo de almacén de claves. De forma predeterminada, el almacén de claves se llama
      .keystore
      y se encuentra en el directorio <Directorio principal de Clarity>/config/.
    • keyalg
      Especifica el algoritmo (RSA) que se va a utilizar al generar el par de claves.
    • file
      Especifica el nombre (ca_ppm.csr) del archivo de solicitud de certificado generado.
  4. En el explorador web, abra el sitio web de la autoridad de certificación y proporcione el contenido del archivo de la solicitud de firma de certificado generado.
    Utilice el proceso que especifica la autoridad certificadora. El archivo CSR lo proporciona la autoridad certificadora.
  5. Copie el certificado nuevo (por ejemplo, ca_ppm.cer) proporcionado por el proveedor de SSL en el servidor de aplicaciones de
    Clarity PPM
    .
    La clave privada permanece intacta.
  6. Realice una copia de seguridad del archivo de almacén de claves copiándolo en otro volumen. Mientras espera el certificado real, no modifique el archivo del almacén de claves. Cualquier modificación realizada podría causar problemas al importar el certificado real. Si no se puede importar el certificado real u otro usuario ha modificado el archivo, puede realizar de nuevo todo el procedimiento. No genere ninguna solicitud de firma de certificado nueva ni espere una nueva copia del certificado real. Para ahorrar tiempo, puede utilizar la copia de seguridad del archivo de almacén de claves.
Instalación de certificados
Si ha recibido un certificado de su distribuidor de SSL, importe la respuesta de la autoridad de certificación y reemplace el certificado autofirmado con una cadena de certificados. Al final de la cadena está el certificado que ha emitido la autoridad certificadora para autenticar la clave pública. El certificado siguiente en la cadena es uno que autentica la clave pública de la autoridad certificadora.
Importe los certificados para crear una cadena de certificados. En el caso de certificados autofirmados o de certificados creados en los servidores de certificados propios, el creador proporciona los certificados. Como creador, configure las cadenas de confianza para que SSL funcione correctamente, tal como si se tratara de certificados adquiridos de distribuidores de SSL. Importe el certificado raíz, el certificado intermedio o cualquier otro certificado y el certificado real proporcionado por el proveedor de SSL como respuesta a la solicitud de firma de certificado.
Siga estos pasos para crear un archivo de almacén de claves que contenga la clave privada, que está emparejada con el certificado firmado por la autoridad certificadora.
Siga estos pasos:
  1. Abra el servidor de aplicaciones de
    Clarity PPM
    , abra una línea de comando y emita el comando siguiente:
    keytool -import -keystore /<Clarity Home Directory>/config/.keystore -keyalg RSA -file CA PPM - Source.cer -trustcacerts
    Puede que se le solicite importar el certificado intermedio raíz de la autoridad de certificación en el archivo de almacén de claves antes de importar el certificado. Consulte la documentación de la autoridad certificadora de terceros para obtener más información.
  2. Introduzca la contraseña del almacén de claves y pulse Intro.
  3. Responda
    .
Distribución del archivo de almacén de claves a todos los servidores de aplicaciones
Si tiene más de un servidor con servicios de la aplicación, distribuya el almacén de claves a todos ellos.
Siga estos pasos:
  1. Inicie sesión en CSA.
  2. Detenga todos los servicios realizando las acciones siguientes:
    1. Haga clic en Página principal y, a continuación, en Todos los servicios.
    2. Seleccione todos los servicios y haga clic en Detener.
  3. Haga clic en Distribuir y, a continuación, en Distribuir todo.
  4. Marque el cuadro situado junto a cada servidor y haga clic en Distribuir.
  5. Reinicie todos los servicios realizando las acciones siguientes:
    1. Haga clic en Página principal y, a continuación, en Todos los servicios.
    2. Seleccione todos los servicios y haga clic en Inicio.
      El archivo de almacén de claves se distribuye a los servidores con servicios de la aplicación.
Definición de la contraseña y la ubicación del archivo de almacén de claves
Repita estos pasos para cada servidor del clúster.
Siga estos pasos:
  1. Inicie sesión en CSA.
  2. Para cambiar el servidor, haga clic en el icono de propiedades.
  3. Haga clic en la ficha Seguridad.
  4. Rellene los siguientes campos y guárdelos:
    • Almacén de claves de SSL
      Introduzca la ubicación del archivo de almacén de claves. Si deja vacío el campo, se usará el valor predeterminado de
      <Clarity Home Directory>/config/.keystore
      .
    • Contraseña de SSL
      Introduzca la contraseña del almacén de claves (el valor predeterminado es
      keystore
      ).
    • Confirmar contraseña
      Escriba otra vez la contraseña del almacén de claves.
  5. Detenga y reinicie todos los servicios realizando las acciones siguientes:
    1. Abra la Página principal y haga clic en Todos los servicios.
    2. Haga clic en el icono Seleccionar todo para seleccionar todos los servicios y haga clic en Detener.
    3. Haga clic en el icono Seleccionar todo para seleccionar todos los servicios y haga clic en Inicio.
Activación de SSL en cada servidor
La configuración de la gestión de SSL determina cómo se comporta la aplicación con respecto a SSL. La configuración contiene las siguientes opciones:
  • Deriva de la configuración del puerto (implícita)
    Deriva de si los puertos del servidor web se activan o desactivan. Esta configuración emula el comportamiento SSL desde las versiones anteriores (antes de la versión 13.0).
  • Se utiliza SSL pero se procesa externamente (externo)
    Especifica que el equilibrador de carga o de otros puntos finales anteriores finaliza el SSL fuera del servidor de aplicaciones.
  • Cambiar a HTTPS solo para las páginas confidenciales (híbrida)
    Especifica que
    Clarity PPM
    cambiará activamente entre HTTP y HTTPS para páginas seguras y no seguras.
  • Compatible con HTTP y HTTPS sin conmutación (ambos)
    Especifica que HTTP y HTTPS están activados. No intente cambiar entre los dos.
  • Soporta solo HTTPS (completa)
    Especifica el SSL todos. Todos los datos se encriptan. Si es necesario, cambie a SSL.
  • Solo compatible con HTTP (ninguno)
    No especifica el SSL. Todos los datos están sin cifrar.
Estos pasos explican cómo configurar la gestión de SSL con la opción Solo compatible con HTTPS. Si selecciona derivados de la configuración del puerto como opción de gestión de SSL, la siguiente configuración de campo adicional para cada instancia de aplicación es obligatoria:
  • HTTP activado
    Desmarque la casilla de verificación.
  • HTTPS activado
    Seleccione la casilla de verificación.
Para activar SSL, complete estos pasos para cada servidor:
Siga estos pasos:
  1. Inicie sesión en CSA.
  2. Haga clic en Página principal y, a continuación, en Servidores.
  3. Haga clic en el nombre del servidor que desee configurar.
  4. Haga clic en la ficha Propiedades.
  5. Haga clic en la ficha Aplicación.
  6. En la sección servidor de aplicaciones, rellene el siguiente campo:
    • SSL Handling
      Seleccione la opción que se llama
      Solo compatible con HTTPS
      .
  7. En cada sección
    de la instancia de aplicación que se asocia con el servidor, rellene los siguientes campos:
    • Puerto HTTPS
      Especifique el puerto que desea utilizar para el tráfico de HTTPS.
    • URL de entrada HTTPS
      Introduzca la URL HTTPS (incluido el puerto).
      Ejemplo:
      https://ca_ppm.mycompany.com:8443
  8. Guarde los cambios.
  9. Detenga y reinicie los servicios de la aplicación realizando las acciones siguientes:
    1. Haga clic en
      Página principal
      y, a continuación, en
      Todos los servicios
      .
    2. Seleccione cada servicio que desee detener y haga clic en
      Detener
      .
    3. Seleccione cada servicio que desee reiniciar y haga clic en
      Inicio
      .
Activación de SSL para páginas protegidas mediante contraseña
Se puede activar SSL solamente para esas páginas que contienen contraseñas de usuario. Con esta configuración, los usuarios se redirigen automáticamente entre páginas seguras e inseguras en la aplicación. El método de redireccionamiento se ha hecho posible activando HTTP y HTTPS al mismo tiempo.
Con esta configuración, los dos puertos en los sistemas operativos de UNIX deben ser superiores a 1024. Excepcionalmente, se pueden utilizar los números de puerto habituales si se utiliza un comando SUDO para iniciar los servicios con permisos similares a los permisos root. Esta excepción no se aplica a las instalaciones con un servidor proxy o equilibrador de carga. En esos casos, se deben utilizar los intervalos de puertos personalizados. En entornos que no son de producción, se puede elegir todavía si no se debe utilizar un equilibrador de carga (con la descarga de SSL opcional). Aún se
pueden
utilizar los puertos tradicionales inferiores a 1024.
Siga estos pasos:
  1. Inicie sesión en CSA.
  2. Haga clic en
    Página principal
    y, a continuación, en
    Servidores
    .
  3. Haga clic en el icono
    Propiedades
    del servidor que desee configurar.
  4. Haga clic en la ficha
    Aplicación
    .
  5. En la sección
    servidor de aplicaciones
    , rellene el siguiente campo:
    • SSL Handling
      Seleccione la opción
      Cambiar a HTTPS solo para las páginas confidenciales
      .
  6. En cada sección
    de la instancia de aplicación que se asocia con el servidor, rellene los siguientes campos:
    • HTTP activado
      Seleccione la casilla de verificación.
    • HTTPS activado
      Seleccione la casilla de verificación.
    • Puerto HTTPS
      Especifique el puerto que desee utilizar para el tráfico de HTTPS.
      En el caso de UNIX, los números de los puertos HTTP y HTTPS deben ser mayores de 1024, a menos que se utilice un comando SUDO.
    • URL de entrada HTTP
      Introduzca la URL HTTP (incluido el puerto).
      Ejemplo:
      http://ca_ppm.mycompany.com:8080
    • URL de entrada HTTPS
      Introduzca la URL HTTPS (también el puerto).
      Ejemplo:
      https://ca_ppm.mycompany.com:8443
  7. Configurar más servidores.
  8. Detenga y reinicie cada servicio de la aplicación:
    1. Haga clic en la ficha
      Servicios
      .
    2. Seleccione cada servicio que desee detener y haga clic en
      Detener
      .
    3. Seleccione cada servicio que desee reiniciar y haga clic en
      Inicio
      .
Activación de una conexión JDBC segura entre los servidores de base de datos y aplicación de CA PPM en hosts diferentes con SSL
Con el fin de cumplir con las políticas de seguridad de la información y otros marcos, es posible que deba cifrar aplicaciones y mover CA PPM a AWS, Azure y otros servidores en la nube a nivel de aplicación y base de datos.
Se pueden definir algunos parámetros en la cadena de conexión de la base de datos en el archivo de propiedades de CA PPM para activar SSL.
  1. Siga los pasos anteriores para instalar el certificado SSL en Oracle o SQL Server.
  2. Agregue los atributos siguientes en el elemento de la base de datos del archivo de propiedades de CA PPM:
    1. Agregue
      useURL = "true"
    2. En el atributo
      url
      , agregue
      encryptionmethod=SSL
      tal y como se muestra a continuación:
    <database id="Niku" vendor="mssql" serviceName="niku" password="xxxxxx" upgradeStatus="upgradeNotNeeded" schemaName="niku" username="xxxxxxx" host="sqlservere.clarity.com" url="jdbc:clarity:sqlserver://sqlserver.clarity.com:1433;DatabaseName=NNNNN_STAGE;InsensitiveResultSetBufferSize=0;ProgramName=Clarity;encryptionmethod=ssl;" driver="com.ca.clarity.jdbc.sqlserver.SQLServerDriver" instanceName="" serviceId="NNNNN_STAGE" jndiDatabaseId="jdbc/NikuDS" useURL="true"/>
  3. También se admite el cifrado de red de Oracle. Agregue el siguiente parámetro en la dirección URL de JDBC:
    DataIntegrityLevel=required
  4. Abra el archivo
    sqlnet.ora
    y confirme que contiene la configuración de parámetros siguiente:
    SQLNET.ENCRYPTION_SERVER = required
    SQLNET.CRYPTO_CHECKSUM_SERVER = required
    El valor de configuración
    required
    activa los servicios de cifrado o integridad y no permite la conexión si el cliente no está activado para el servicio de seguridad. Este es el valor de configuración predeterminado para las implementaciones de la base de datos en el servicio de base de datos en la nube.
  5. Reinicie los servicios.
Para verificar que la conexión de red está cifrada con SSL, ejecute un seguimiento de paquetes de Wireshark y filtre la dirección IP de la base de datos de SQL Server y el número de puerto definido en la cadena de conexión.
Configuración de
Clarity PPM
para trabajar con descargadores de SSL
En un servicio de aplicación de SSL, los datos que se mueven entre aplicaciones cliente se cifran antes de enviarse y se descifran antes de que se reciban. El cifrado de paquetes SSL puede causar un rendimiento más lento en los servidores de aplicaciones. Para gestionar SSL, se debe utilizar un equilibrador de carga o un servidor proxy en lugar de los servidores de aplicaciones.
Si se utiliza un descargador de SSL externo como un equilibrador de carga o un proxy inverso, el descargador de SSL cifra el tráfico de HTTP para
Clarity PPM
. El descargador se comunica con el cliente mediante HTTPS. Estos ajustes de la configuración pueden proporcionar una mejora del rendimiento pero hay que realizar algunas configuraciones, tanto en el descargador como en
Clarity PPM
.
Asegúrese de que cualquier descargador de SSL que utiliza tiene una función de reescritura de URL que está activada.
Siga estos pasos:
  1. Inicie sesión en CSA.
  2. Haga clic en
    Página principal
    y, a continuación, en
    Servidores
    .
  3. Haga clic en el icono
    Propiedades
    para el servidor que se desee configurar.
  4. Haga clic en la ficha
    Aplicación
    .
  5. En la sección
    servidor de aplicaciones
    , rellene el siguiente campo:
    • SSL Handling
      Seleccione la opción que se denomina
      SSL se utiliza pero se procesa externamente
      .
  6. Para cada instancia de la aplicación que no sea la instancia del servidor de aplicaciones de
    Clarity PPM
    , rellene los valores de configuración siguientes:
    • HTTP activado
      Especifica que se utiliza HTTP para comunicarse. Seleccione la casilla de verificación.
    • URL de entrada HTTP
      Indica la dirección URL que se desea utilizar para el tráfico entre
      Clarity PPM
      y un cliente. Al utilizar un descargador de SSL, el descargador se convierte en la interfaz front-end para
      Clarity PPM
      , algo similar a la forma en que un equilibrador de carga es la interfaz front-end en un entorno de varios servidores. Como la URL del descargador de SSL es segura, introduzca una URL HTTPS en este campo usando el formato siguiente:
      https://<hostname>:Portal CA.
    • HTTPS activado
      Esta casilla de verificación no es aplicable cuando se está utilizando un descargador de SSL. Desmarque esta casilla de verificación.
  7. Guarde los cambios realizados.
Configuración de Clarity PPM para utilizar HTTPS
Los pasos siguientes se aplican a un entorno de Clarity PPM que no se encuentra en el clúster.
En este procedimiento, se genera una solicitud de certificado y un almacén de claves. Una vez que se han importado los certificados, se deben realizar los ajustes pertinentes en CSA.
En el caso de una implementación con arquitectura de carga equilibrada, SSL se debe activar mediante la instalación del certificado en el equilibrador de carga y no en los servidores de aplicaciones. En la ficha
Aplicación
, cambie el valor del campo
Gestión de SSL
a
SSL se utiliza pero se procesa externamente
.
Siga estos pasos
:
  1. Inicie sesión en el servidor que hospeda CA PPM.
  2. Vaya al directorio en el que desea almacenar la clave privada. Por ejemplo:
    C:\ppm150101
  3. Prepare las respuestas a los mensajes del paso 5.
  4. Genere un almacén de claves con el comando siguiente: "keytool -genkey -keystore C:\ppm15101\keystore.jks -keyalg RSA -storepass changeit".
    "Keystore.jks" es el nombre del almacén de claves y la contraseña es "changeit". Cambie la contraseña a una más segura cuando ejecute este comando.
  5. Aparecen varios mensajes en los que se le solicita los detalles del servidor y la organización. Utilice la información que había preparado en el paso 3. Las autoridades de certificación pueden proporcionarle todos los detalles necesarios. Póngase en contacto con las autoridades si no puede responder a todas las preguntas por su cuenta.
  6. Cuando se le solicite el
    nombre y apellidos
    , introduzca el nombre completo del servidor sin
    http://
    ni
    https://
    en el nombre.
  7. Genere una solicitud de certificación:
    keytool -certreq -keystore C:\ppm15101\keystore.jks -keyalg RSA -file myRequest0.cer
  8. Para obtener un certificado para el servidor, envíe este archivo a la autoridad de certificación.
  9. Compruebe que los siguientes certificados están listos antes de importarlos al almacén de claves:
    1. Certificado de servidor
    2. Certificado intermedio
    3. Certificado raíz
      (Compruebe con la autoridad de certificación los certificados intermedio y raíz).
  10. Importe el certificado raíz (sustituya el nombre del almacén de claves, la ruta, el nombre y el parche del certificado y el resto de parámetros):
    keytool -import -keystore C:\ppm15101\keystore.jks -keyalg RSA -file root.cer -trustcacerts -alias root
  11. Importe el certificado intermedio:
    keytool -import -keystore C:\ppm15101\keystore.jks -keyalg RSA -file intermediate.cer -trustcacerts -alias intermediate
  12. Importe el certificado de servidor:
    keytool -import -keystore C:\ppm15101\keystore.jks -keyalg RSA file server.cer -trustcacerts -alias server
Realización de cambios en CSA
  1. Inicie sesión en CSA y haga clic en la ficha
    Seguridad
    .
  2. En el campo
    Almacén de claves de SSL
    , introduzca la ruta completa al almacén de claves.
  3. Rellene los campos
    Contraseña de SSL
    y
    Confirmar contraseña
    .
  4. Haga clic en la ficha
    Aplicación
    .
  5. Cambie el valor del campo
    Gestión de SSL
    a
    Es compatible tanto con HTTP como HTTPS sin necesidad de conmutar
    .
  6. En la sección
    Instancia de aplicación: aplicación
    , seleccione
    HTTPS activado
    .
  7. Cambie el valor de Puerto HTTPS a un número asignado a la aplicación de CA PPM (dependiente de la organización). Por ejemplo, el número de puerto podría ser 8043.
  8. Cambie el valor de URL de entrada HTTPS por el nombre exacto del servidor que se ha especificado durante la generación del almacén de claves.
  9. Reinicie el servicio de la aplicación.
  10. Compruebe que HTTPS está en funcionamiento navegando mediante HTTPS (utilice la dirección URL y el número de puerto adecuados). Por ejemplo, la dirección URL podría ser "https://nombre_servidor.organización.com:8043/".
  11. Cambie el valor de Gestión de SSL a Solo compatible con HTTPS.
  12. Reinicie de nuevo el servicio de la aplicación.
Si se ha importado un certificado de forma incorrecta y se desea suprimir, se puede utilizar un comando como este: "keytool -keystore c:\ppm15101\keystore.jks -alias root -delete".
El siguiente comando también es muy útil si se desea enumerar todos los certificados en un almacén de claves: "keytool -keystore c:\ppm15101\keystore.jks -list". Para activar el modo detallado, se puede utilizar el comando siguiente: "keytool -keystore c:\ppm15101\keystore.jks -list -v".
Por último, las rutas mencionadas en esta sección hacen referencia a un sistema operativo Windows. Si la aplicación está creada en el sistema operativo Linux, cambie las rutas a la ruta que especifique la convención de Linux. El resto de parámetros permanecen invariables.
Integración de
Clarity PPM
con el protocolo ligero de acceso a directorios (LDAP)
Una interfaz de Protocolo ligero de acceso a directorios (LDAP) para autorizar el acceso a través de todas las aplicaciones puede ser conveniente. Un servidor de directorio central controla el acceso para que los usuarios puedan tener un nombre de usuario y una contraseña para todas las aplicaciones. Se admiten las opciones siguientes:
  • El protocolo LDAP v2 (sencillo) utiliza un subconjunto pequeño de funciones LDAP, incluida la autenticación (texto sin cifrar o SSL), los vínculos y la búsqueda.
  • Control mediante LDAP v3 para resultados por página, tal y como se define en RFC 2696.
Para sincronizar los usuarios entre el servidor de directorio y
Clarity PPM
, los usuarios se recuperan desde el servidor de directorio en un lote. Los valores de configuración de LDAP de
Clarity PPM
especifican el tamaño del lote.
Las cookies que están basadas en sesión llevan un token que se utiliza para acceder a los datos de sesión. El token se mantiene en la memoria caché para entornos de una aplicación o en una base de datos para entornos de clúster. El explorador web del usuario debe aceptar cookies de
Clarity PPM
, que están basadas en la sesión, por lo que no se escriben en el disco. Cuando el usuario se desconecta, se borra la información de sesión de la base de datos y la memoria caché correspondientes a la cookie.
Cuando se integra
Clarity PPM
con un servidor LDAP, se obtienen los beneficios siguientes:
  • Simplificación de la administración de nombre y contraseña del usuario. La TI solamente tiene que gestionar un par formado por el nombre de usuario y la contraseña para cada usuario.
  • Soporte de autenticación. La TI solamente tiene que proporcionar soporte en un lugar donde los usuarios puedan tener problemas de autenticación.
  • Mejora en la usabilidad. Los usuarios solamente tienen que recordar un nombre de usuario y una contraseña.
  • Mejora de la gestión de usuarios. El nombre de usuario y la información de correo electrónico se pueden almacenar en LDAP.
  • Mejora de la seguridad. El hecho de usar un nombre de usuario y una contraseña facilita el uso de contraseñas complejas y permite cambiarlas más a menudo. La probabilidad de elegir una contraseña familiar se reduce cuando hay solamente una contraseña de la que acordarse.
El trabajo LDAP - Sincronizar usuarios nuevos y modificados permite sincronizar entradas de LDAP. A continuación, el trabajo almacena la última fecha y hora en que se ha ejecutado correctamente y almacena la información en la tabla de la base de datos MN_DIRECTORY_SERVERS. Durante la ejecución del próximo trabajo de fondo, el trabajo sincroniza las entradas. El trabajo sincroniza solamente las entradas de usuario que se hayan cambiado o que se hayan creado recientemente cuya marca de tiempo sea mayor que el valor que se encuentra en la propiedad CMN_DIRECTORY_SERVERS.LAST_SYNC_DATE.
  • Clarity PPM
    no verifica si un usuario de un grupo o de una búsqueda que especifica CSA está activo o inactivo en LDAP.
    Clarity PPM
    comprueba solamente si un usuario está presente en un grupo de
    Clarity PPM
    o si un atributo que se está buscando está en
    Clarity PPM
    .
  • Clarity PPM
    no reconoce los grupos anidados en LDAP. Antes de ejecutar el trabajo
    LDAP - Sincronizar usuarios nuevos y modificados
    o el trabajo
    LDAP - Sincronizar usuarios obsoletos
    , asegúrese de que los usuarios estén asociados a un grupo de PPM en el que Administración del sistema de CSA pueda realizar búsquedas. Los usuarios que estén incluidos en grupos anidados dentro del grupo de
    Clarity PPM
    de LDAP no se comprueban cuando se ejecutan los trabajos de sincronización de LDAP.
  • Un usuario que está desactivado en el servidor LDAP estará desactivado en
    Clarity PPM
    la próxima vez que se ejecute el trabajo de sincronización. Si un usuario se reactiva en el servidor LDAP, no se reactivará en
    Clarity PPM
    ; se le solicitará reactivar el recurso.
Antes de implementar LDAP, elija un servidor LDAP compatible.
Configure
Clarity PPM
para la autenticación LDAP en cada servidor que está ejecutando un servicio de la aplicación. Para completar estos pasos, configure un servidor LDAP. Si dispone de un clúster de servidores de
Clarity PPM
, repita estos pasos en cada servidor del clúster.
Siga estos pasos:
  1. Cree un recurso como usuario de prueba para acceder a
    Clarity PPM
    como un usuario LDAP.
    Este usuario de prueba debe tener el mismo ID de usuario en
    Clarity PPM
    que el usuario sAMAccountName de LDAP en Microsoft Active Directory o que el UID de otras implementaciones LDAP.
  2. Decida cómo definir los usuarios LDAP a los que se les concede acceso a
    Clarity PPM
    .
    Puede activar la autenticación de grupo especificando un grupo o creando una combinación de atributo/valor en LDAP o las dos cosas. Se puede definir esta configuración desde la página
    Servidor: Propiedades
    en CSA.
  3. Defina las propiedades del servidor LDAP.
  4. Configure
    Clarity PPM
    para la autenticación.
  5. Detenga y reinicie todos los servicios de
    Clarity PPM
    .
Definición de las propiedades de servidor LDAP
Se pueden definir las propiedades del servidor LDAP en CSA.
Siga estos pasos:
  1. Inicie sesión en CSA.
  2. Haga clic en el icono
    Propiedades
    para el servidor que desee configurar.
  3. Haga clic en la ficha
    Seguridad
    .
  4. En la sección
    Servidor LDAP
    , rellene los campos:
    • URL:
      Define la dirección URL del servidor LDAP. Si el servidor LDAP está habilitado para SSL, utilice el protocolo LDAPS en la URL (en lugar del protocolo LDAP predeterminado).
    • Contexto principal:
      Define el contexto de nomenclatura de LDAP, por ejemplo: "ou=People, dc=niku, dc=com".
    • Buscar usuario:
      Define el nombre de usuario con las credenciales apropiadas para vincular con el servidor LDAP.
    • Contraseña:
      Permite definir la contraseña y confirmarla en el campo Confirmar contraseña.
    • Filtro de búsqueda
      : Define la cadena del filtro de búsqueda (tal y como se define en RFC 2254).
    • Formato de fecha/hora:
      Define el formato de fecha y hora que utiliza el servidor LDAP.
    • Nombre del grupo:
      Activa la autenticación del grupo. Introduzca el nombre del grupo y, en el campo Identificador de grupo, especifique el ID del grupo.
    • Permitir usuarios que no sean LDAP
      : Indica que se permite el acceso a
      Clarity PPM
      mediante métodos de autenticación alternativos.
    • Utilizar pertenencias a grupos:
      Seleccione esta casilla de verificación (aparece sin seleccionar de forma predeterminada) si desea mejorar el rendimiento con el trabajo LDAP - Sincronizar usuarios obsoletos. El trabajo utiliza las pertenencias a grupos durante la sincronización y requiere una relación inversa de usuarios a grupos en LDAP. El valor predeterminado es
      memberOf
      ; sin embargo, se puede especificar cualquier otro valor en el campo siguiente.
    • Identificador de grupo en Usuarios
      : Si necesita especificar otro valor además del atributo predeterminado
      memberOf
      , introduzca el identificador de grupo compatible con LDAP en este campo.
      Utilizar pertenencias a grupos
      e
      Identificador de grupo en Usuarios
      están disponibles en el parche 15.5.1.1.
  5. Haga clic en
    Save
    .
  6. Detenga y reinicie todos los servicios de
    Clarity PPM
    realizando las acciones siguientes:
    1. Haga clic en
      Página principal
      y, a continuación, en
      Todos los servicios
      .
    2. Haga clic en el icono
      Seleccionar todo
      para seleccionar la casilla de verificación que está al lado de cada servicio y haga clic en
      Detener
      .
    3. Haga clic en el icono
      Seleccionar todo
      para seleccionar la casilla de verificación que está al lado de cada servicio y haga clic en
      Inicio
      .
  7. Haga clic en
    Save
    .
  8. En CSA, haga clic en la ficha
    Aplicación
    .
  9. En la sección
    Servidor de aplicaciones
    , seleccione
    Utilizar LDAP
    y haga clic en
    Guardar
    .
Sincronización de LDAP
Los siguientes trabajos de sincronización de LDAP trabajan juntos para sincronizar
Clarity PPM
con LDAP:
  • Trabajo LDAP - Sincronizar usuarios nuevos y modificados
    Este trabajo sincroniza los registros de LDAP con registros de
    Clarity PPM
    sincronizando los usuarios que se agregan al grupo de
    Clarity PPM
    de LDAP. El trabajo también activa a los usuarios activos en el servidor de
    Clarity PPM
    . Si utiliza la opción de filtro de la búsqueda y cambia un atributo a uno utilizado por
    Clarity PPM
    , el usuario se activa en el servidor de
    Clarity PPM
    . La activación se produce la próxima vez que se ejecute la tarea. A continuación, el trabajo almacena la última fecha y hora en que se ha ejecutado correctamente en la tabla de la base de datos CMN_DIRECTORY_SERVERS. El trabajo sincroniza solo las entradas del usuario recientemente creadas o modificadas. Para la sincronización, la marca de tiempo debe ser mayor que el valor encontrado en el campo CMN_DIRECTORY_SERVERS.LAST_SYNC_DATE.
  • Trabajo LDAP - Sincronizar usuarios obsoletos
Este trabajo desactiva los usuarios que se eliminan del grupo de
Clarity PPM
de LDAP en el servidor LDAP o cuyo registro ya no contenga el atributo de búsqueda seleccionado. Este trabajo no verifica si un usuario que se encuentra en el grupo de
Clarity PPM
de LDAP o en la búsqueda que especifica CSA está activo o inactivo en LDAP. Para desactivar a los usuarios en
Clarity PPM
utilizando el trabajo, elimine a los usuarios del grupo de
Clarity PPM
de LDAP o elimine el atributo de búsqueda que se especifica en CSA. Estos trabajos de sincronización funcionan bien si se han configurado correctamente las secciones Servidor LDAP y Asignación de atributo LDAP en CSA.
Es necesario seleccionar una programación para cada trabajo.
Práctica recomendable:
Ejecute estos trabajos por la noche.
Para sincronizar la base de datos con el servidor de directorios, suprima todas las filas de la tabla de la base de datos CMN_DIRECTORY_SERVERS y ejecute el trabajo de fondo de nuevo. Se puede ejecutar también el trabajo para un grupo específico para que solamente se vean afectados los registros para esos usuarios.
Cómo forzar el trabajo LDAP - Sincronizar usuarios nuevos y modificados para realizar una sincronización completa
Puede que necesite anular el comportamiento del trabajo
LDAP - sincronizar usuarios nuevos y modificados
, y se puede forzar una sincronización completa.
Siga estos pasos:
  1. Suprima la fila de tabla de la base de datos CMN_DIRECTORY_SERVERS.
  2. Ejecute (o programe) el trabajo otra vez.
Solución de problemas de LDAP
He aquí algunos problemas comunes de LDAP y las formas de enfrentarse a ellos:
  • Para depurar el proceso de autenticación de LDAP, active el registro de mensajes de depuración por parte del componente de seguridad. Detenga todos los servicios de fondo excepto aquel en el cual esté activando los mensajes de depuración. Reinicie el servicio de fondo para que se apliquen los cambios y examine el archivo de registro (bg-ca.log).
  • Al revisar los registros de
    Clarity PPM
    para ver los mensajes de error, se pueden mostrar códigos de error específicos de LDAP.
    Consulte la documentación de LDAP de terceros para ver las descripciones de los códigos de error específicos de LDAP.
  • Si no puede iniciar sesión en
    Clarity PPM
    mediante un nombre de usuario LDAP y una contraseña, pregúntese lo siguiente:
    • ¿Está utilizando una cuenta de LDAP activa que también existe como cuenta activa en
      Clarity PPM
      ?
    • ¿Ha activado la configuración LDAP seleccionando el campo Utilizar LDAP en la página de propiedades del servidor de la aplicación en CSA?
    • ¿Ha introducido el ID de usuario correcto en el campo Buscar usuario y la contraseña correcta en el campo Contraseña de la página de propiedades del servidor de seguridad en CSA?
    • Consulte los archivos de registro para obtener mensajes más específicos.
    • El tiempo de procesamiento para el trabajo
      LDAP - Sincronizar usuarios obsoletos
      y el trabajo
      LDAP - Sincronizar usuarios nuevos y modificados
      depende del número de usuarios que estén cargados desde el servicio de directorio en
      Clarity PPM
      . En concreto, si la cantidad es muy grande, se puede ralentizar el tiempo de procesamiento.
Resolución de problemas de los trabajos de sincronización LDAP
Cuando un trabajo de sincronización de LDAP o un proceso de autenticación no funciona del modo previsto, realice una de estas tareas:
  • Consulte los archivos de registro de sincronización de LDAP del directorio /niku/Clarity/logs/ldapsync.
  • Consulte el archivo *users*.xml. Este archivo contiene una lista de nombres de usuario que se extraen del servidor LDAP. Si falta este archivo, la comunicación entre
    Clarity PPM
    y el servidor LDAP no se realiza correctamente.
  • Consulte el archivo *sync*.xml. Este archivo contiene los resultados de una sesión de importación del usuario de la puerta de enlace. Si falta este archivo, la comunicación entre
    Clarity PPM
    y la puerta de enlace no se realiza correctamente.
  • Active los mensajes de depuración en el componente de seguridad realizando los siguientes pasos:
    1. Edite
      bg-logger.xml
      y agregue la categoría
      com.niku.security
      .
    2. Establezca la prioridad en
      debug
      (depuración).
    3. Reinicie el servicio de fondo de CA PPM (bg) para que los cambios surtan efecto.
    4. Consulte el archivo bg-ca.log.
    5. Si tiene varios servicios bg en el clúster, ciérrelos todos, excepto uno. Tener solo un servicio de bg garantiza que la tarea se esté ejecutando en el servidor que está depurando. También puede activar la depuración en todos los servicios de forma individual.
Comprobación de los registros de sincronización de LDAP
Compruebe los registros de transacciones de sincronización de LDAP en el directorio siguiente:
<Clarity Home Directory>/logs/ldapsync
Los archivos de registro que se relacionan con los trabajos de los usuarios nuevos y modificados son:
  • ldapusers_nm_*.xml: Lista de usuarios que se encuentran en el servidor de directorio que se deben sincronizar con
    Clarity PPM
    .
  • ldapsync_nm_*.xml: lista de los mensajes de éxito, error o advertencia para este trabajo de sincronización.
Los archivos de registro referidos al trabajo
LDAP - Sincronizar usuarios obsoletos
son:
  • ldapusers_ia_*.xml: Lista de los usuarios que se tienen que desactivar en
    Clarity PPM
    .
  • ldapsync_ia_*.xml: lista de los mensajes de éxito, error o advertencia para este trabajo de sincronización.
Activación de los mensajes de depuración
El componente de seguridad lleva un registro de los mensajes de depuración. Detenga todos los servicios de Fondo de CA PPM (bg) en la implementación, excepto aquel para el cual esté activando los mensajes de depuración. Reinicie el servicio de Fondo de CA PPM (bg) para que se apliquen los cambios y, a continuación, examine el archivo de registro (bg-niku.log).
Siga estos pasos:
  1. Inicie sesión en CSA.
  2. Haga clic en Página principal y, a continuación, en Servidores.
  3. Haga clic en el icono Registros del servidor cuyos mensajes de depuración desee activar.
  4. Haga clic en la ficha secundaria Editar configuración.
  5. En la sección Categorías, haga clic en Agregar categoría.
  6. Introduzca lo siguiente para el nuevo elemento de la línea:
    • Nombre
      Introduzca
      com.niku.security
      .
    • Priority
      Seleccione Depuración en el menú desplegable.
  7. Guarde los cambios realizados.
    Los mensajes de depuración se activan.
Configuración de LDAP y SSL
Cuando un servidor LDAP se está ejecutando con Secure Socket Layer (SSL), se requiere configurar LDAP y SSL. El administrador de
Clarity PPM
instala el certificado de seguridad de confianza para el servidor LDAP en el equipo que está ejecutando los servicios de fondo de CA PPM (bg). Para instalar el certificado, utilice el comando keytool que se incluye con el JDK de Java 7.
Emita los comandos siguientes desde el símbolo del sistema:
keytool -import -v -trustcacerts -alias <alias> -file <certificate file name> -keystore cacerts
Ejemplo:
$cd $JAVA_HOME/jre/lib/security $keytool -import -v -trustcacerts -alias NikuLdapServer -file TrustedRootCert.der -keystore cacerts
Configuración del inicio de sesión único para la versión clásica de
Clarity PPM
El inicio de sesión único (SSO) es un proceso de autenticación que permite el acceso de los usuarios a varios sistemas mediante un solo nombre del usuario y una contraseña. Mediante el inicio de sesión único, una vez que el servidor utiliza la información almacenada en el directorio LDAP para autenticar la identidad de un usuario, permite el acceso a la información solicitada en función de los privilegios de acceso del usuario.
Se puede configurar el inicio de sesión único para integrar
Clarity PPM
con la aplicación del portal interno con la que se autentica el usuario. El inicio de sesión único elimina la necesidad de que los usuarios introduzcan su nombre de usuario y contraseña repetidamente al cambiar de una aplicación a otra. La aplicación del portal tiene vínculos (URL) a otras aplicaciones internas. Una vez que se invoca la aplicación del portal, a los usuarios no se les muestran los cuadros de diálogo de autenticación, sino que se toman directamente en la aplicación. La aplicación del portal tiene un complemento de SSO que dirige a los usuarios para que se registren en el portal y, a continuación, los remite a la aplicación apropiada. De esta forma, los usuarios no pueden señalar una página como marcador y volver más tarde sin iniciar sesión primero.
El SSO ofrece los beneficios siguientes:
  • Administración de nombre de usuario y contraseña. La TI solamente tiene que gestionar un nombre de usuario y una contraseña para cada usuario.
  • Soporte de autenticación. La TI solamente tiene que proporcionar soporte en un lugar donde los usuarios puedan tener problemas de autenticación.
  • Facilidad de uso. Los usuarios solamente tienen que recordar un nombre de usuario y una contraseña y únicamente tienen que iniciar sesión una vez.
  • Seguridad: Tener un nombre de usuario y una contraseña facilita el uso de contraseñas complejas y permite cambiarlas más a menudo. La posibilidad de que un usuario elija una contraseña familiar se reduce cuando hay solamente una contraseña de la que acordarse.
Práctica recomendada
: Si está utilizando CA SiteMinder u otro software de SSO, establezca la configuración para permitir el uso de caracteres de paréntesis angulares (< y >) en la dirección URL. Por ejemplo, si está utilizando SiteMinder, desactive CssChecking. De lo contrario, una dirección URL que contenga paréntesis angulares produce un error cuando
Clarity PPM
los transfiere. Los paréntesis angulares pueden aparecer en una dirección URL, posiblemente creada por un proceso que utiliza condiciones como <, <=, >, o >=).
Siga estos pasos:
  1. Configure el servidor de SSO y el servidor proxy para que hagan referencia a
    Clarity PPM
    y pasen un token de autenticación que contenga un nombre de usuario de
    Clarity PPM
    válido.
    Configure el servidor de inicio de sesión único para que la URL de entrada sea:
    http://<server>/niku/nu#action:npt.overview
  2. Inicie sesión en CSA y haga clic en Inicio, Servidores.
  3. Haga clic en el nombre del servidor que desee editar.
  4. Haga clic en la ficha secundaria Aplicación.
  5. Para utilizar LDAP, en la sección Servidor de la aplicación, seleccione la casilla de verificación Utilizar LDAP.
    Si LDAP se activa, los clientes que no usen explorador utilizan el mismo nombre de usuario y contraseña.
  6. En la sección Instancia de la aplicación, seleccione la casilla de verificación Utilizar inicio de sesión único y haga clic en Guardar.
  7. Haga clic en la ficha Seguridad.
  8. En la sección Cifrado, rellene los siguientes campos:
    • Almacén de claves de SSL
      Define la ruta al archivo de almacén de claves.
      Ejemplo
      : <ruta_almacén_claves>/server.keystore.
    • Contraseña de SSL
      Define la contraseña del almacén de claves. Una vez introducido, confirme la información mediante el campo Confirmar contraseña.
  9. En la sección Servidor LDAP, rellene los siguientes campos:
    • URL
      Especifica la URL del servidor LDAP.
    • Contexto principal
      Define el contexto de denominación del servidor LDAP, por ejemplo: "ou=People, dc=niku, dc=com".
    • Buscar usuario
      Define el nombre de usuario con las credenciales apropiadas para vincular con el servidor LDAP.
    • Contraseña
      Especifica la contraseña del servidor LDAP. Una vez introducida, confirme la información de nuevo mediante el campo Confirmar contraseña.
    • Tamaño del lote
      Activa el funcionamiento sincrónico. Establezca el tamaño del lote usando los criterios siguientes:
      • 0. Permite el uso de todos los resultados que se reciben del servidor tal y como se generan.
      • Un número distinto de cero. Los mensajes se bloquean hasta que se reciban
        n
        mensajes desde el servidor. La enumeración continúa mientras se colocan en cola más mensajes.
      • El tamaño del lote predeterminado es 1. Una enumeración de los resultados de la búsqueda procedente de una operación de búsqueda sincrónica devuelve los mensajes a medida que se reciben del servidor.
    • Filtro de búsqueda
      Define la cadena del filtro de búsqueda (tal y como se define en RFC 2254).
    • Formato de fecha/hora
      Define el formato de fecha y hora que utiliza el servidor LDAP.
    • Nombre del grupo
      Define el grupo que está activado para la autenticación de grupo.
    • Identificador de grupo
      Especifica el ID de grupo para el grupo que está habilitado para la autenticación de grupo.
    • Permitir usuarios que no sean LDAP
      Indica si los usuarios que no sean LDAP pueden acceder a la aplicación usando un método de autenticación alternativo.
  10. En la sección Asignación de atributo LDAP, rellene los siguientes campos:
    Nombre del usuario
    Especifica el atributo para el nombre de usuario.
    Nombre
    Especifica el atributo para el nombre de pila.
    Apellidos
    Especifica el atributo para el apellido.
    Nombre completo
    Especifica el atributo para el apellido.
    Dirección de correo electrónico
    Especifica el atributo para la dirección de correo electrónico.
    Modificar intervalo de tiempo
    Especifica el atributo para la modificación de la marca de tiempo.
  11. En la sección Inicio de sesión único (SSO), complete los campos siguientes:
    Nombre de token
    Especifica la cookie de HTTP que
    Clarity PPM
    acepta como un token de autenticación válido para iniciar una sesión de usuario.
    Tipo de token
    Especifica el tipo de token. Los valores son:
    Cookie.
    El token está incluido en una cookie.
    Encabezado.
    El token está incluido en el encabezado del mensaje.
    Parámetro.
    El token se proporciona en un parámetro.
    URL de cierre de sesión
    Define la URL totalmente cualificada que se muestra cuando el usuario cierra la sesión.
    URL de error de autenticación
    Define la URL totalmente cualificada que se muestra cuando el usuario no se puede autenticar.
  12. Guarde los cambios realizados.
  13. Reinicie la aplicación e inicie sesión en
    Clarity PPM
    como administrador de aplicaciones.
    Aparecerá la página de configuración del sistema.
Configuración del inicio de sesión único para la Nueva experiencia de usuario
Para activar la implementación del inicio de sesión único para la
Nueva experiencia de usuario
, se debe configurar el servidor de inicio de sesión único, tal como se describe en el procedimiento siguiente. Los ejemplos proporcionados para los valores de configuración son aplicables para el servidor de inicio de sesión único de SiteMinder. Los valores de configuración pueden variar en función del servidor de inicio de sesión único que se esté utilizando.
Antes de configurar el servidor de inicio de sesión único para la
Nueva experiencia de usuario
, se debe verificar que el inicio de sesión único está activado para la versión clásica de
Clarity PPM
. Para obtener más detalles, consulte Configuración del inicio de sesión único para la versión clásica de CA PPM. Si el inicio de sesión único no está configurado para la versión clásica de
Clarity PPM
, el inicio de sesión único para la
Nueva experiencia de usuario
no funcionará.
Siga estos pasos:
  1. Proteja las siguientes direcciones URL para la
    Nueva experiencia de usuario
    :
    https://<server:port>/pm*
    https://<server:port>/ppm/rest/*
    Ejemplo de SiteMinder:
    En el dominio existente que tiene el territorio de la versión clásica de
    Clarity PPM
    , cree dos territorios nuevos:
    Cree un territorio que incluya una regla para proteger las API de REST.
    • Nombre
      : Regla de API de REST de CA PPM
    • Descripción
      : Regla para proteger las API de REST de
      Clarity PPM
    • Atributos
      ,
      Recurso
      : ppm/rest/*
    • Acción,
      cuadro de lista
      Acción del agente web:
      Seleccione Get, Post, Put, Delete y Head.
    Cree un territorio que incluya una regla para proteger la
    Nueva experiencia de usuario
    .
    • Nombre
      : Regla para la nueva interfaz de usuario de
      Clarity PPM
    • Descripción
      : Regla para proteger la
      Nueva experiencia de usuario
    • Atributos,
      Recurso:
      pm*
    • Acción,
      cuadro de lista
      Acción del agente web:
      Seleccione Get, Post, Put, Delete y Head.
      Después de definir las reglas, vaya a la ficha Reglas y agregue la
      respuesta
      existente del inicio de sesión único de la versión clásica de
      Clarity PPM
      a cada nueva regla. La respuesta define el nombre de la cookie de nombre de usuario y el formato del valor que espera el inicio de sesión único de
      Clarity PPM
      .
    image2017-1-27 9:44:40.png
  2. Configure las propiedades siguientes para el agente web:
    1. Agregue la siguiente dirección URL a la lista de direcciones URL de fin de sesión existentes:
      https://<server:port>/ppm/rest/v1/auth/logout
    2. Agregue la siguiente dirección URL a la lista de direcciones URL que se deben omitir:
      https://<server:port>//pm/js/core/layout/logout.html
    3. Agregue las extensiones de archivo siguientes a la lista de extensiones que se deben omitir:
      • .woff
      • .svg
      • .ttf
      • .eot
    4. Elimine las comillas simples (si existe el valor) de la lista de caracteres de dirección URL incorrecta.
    5. Elimine las comillas simples (si existe el valor) de la lista de caracteres de consulta incorrecta.
Ejemplo de SiteMinder:
Modifique las propiedades del agente siguientes:
  • IgnoreExt:
    Agregue las extensiones de archivo .woff, .svg, .ttf y .eot a la lista de extensiones que se deben omitir.
  • IgnoreUrl
    : Agregue /pm/js/core/layout/logout.html a la lista de direcciones URL que se deben omitir.
  • LogoffUri:
    Agregue /ppm/rest/v1/auth/logout a la lista de URI de fin de sesión.
  • BadUrlChars:
    Elimine el valor de comillas simples, si existe.
  • BadQueryChars
    : Elimine el valor de comillas simples, si existe.
Uso de LDAP con SSO
Se puede utilizar LDAP con el inicio de sesión único (SSO).
Práctica recomendable:
Aunque el SSO no requiere que LDAP esté activado, se recomienda utilizar LDAP con SSO por las siguientes razones:
  • Los clientes que no usen explorador pueden aprovechar la mayor parte de los beneficios de SSO.
  • Con SSO solamente, la información del usuario (como nombres y correo electrónico) se deberá gestionar todavía desde
    Clarity PPM
    . Con LDAP, estos datos se guardan en el servidor del directorio.
Uso de LDAP sin SSO
SSO ofrece pocos beneficios extra con respecto a LDAP. Los usuarios deben introducir el nombre de usuario y la contraseña para iniciar sesión en
Clarity PPM
, pero los demás beneficios se siguen aplicando con LDAP. La configuración del sistema es mucho más sencilla para LDAP solamente. Con LDAP, no hay ninguna necesidad de disponer de un proxy o de un servidor de inicio de sesión único y solo se requiere una instancia de
Clarity PPM
.
Establecimiento de opciones para las vulnerabilidades de la generación de scripts de sitios (XSS)
La generación de scripts de sitios (XSS) ataca los scripts maliciosos insertados en sitios web que serían de confianza. Un atacante de XSS utiliza una aplicación web para enviar código malicioso, generalmente en forma de un script de lado de explorador, a un usuario final. Estos ataques se realizan correctamente cuando una aplicación web incluye datos de entrada de usuario en el resultado que genera sin validar ni codificar primero los datos de entrada.
El explorador del usuario final no puede determinar si el script es malicioso. Debido a que parece que el script malicioso procede de una fuente de confianza, el explorador ejecuta el código. El código puede acceder a cookies, tókenes de sesión y otra información confidencial.
Para abordar las vulnerabilidades de XSS, se debe verificar la seguridad de todos los datos introducidos por el usuario que se devuelve al explorador utilizando la validación de los datos introducidos. Los datos introducidos por el usuario deben escaparse correctamente antes de que se incluyan en la página de resultado. Una codificación del resultado apropiada garantiza que los datos introducidos por el usuario se traten siempre como texto en el explorador, en lugar de como contenido activo que se puede ejecutar.
Como mecanismo de seguridad frente a las vulnerabilidades de XSS, la aplicación gestiona la validación y las restricciones (escape) de la entrada del usuario a partir de las versiones 14.1 y 14.2. Para solicitar cambios en la configuración predeterminada de la restricción o para obtener ayuda con los problemas de seguridad de XSS, póngase en contacto con ca.com/support.
5
5
XSS: Validación de la entrada del usuario
Clarity PPM
valida que todas las entradas de usuario que se envían al explorador están a salvo de XSS. El producto compara la entrada del usuario con un conjunto de patrones de cadenas que se utilizan frecuentemente para XSS. Si cualquier parte de la entrada del usuario coincide con uno de los patrones comunes,
Clarity PPM
limita la cadena XSS (caracteres de escape) en la entrada del usuario.
El producto limita a la cadena de XSS mediante la colocación antes y después de la cadena de caracteres de escape. Estos caracteres son visibles para el usuario final. Los caracteres de escape le indican al explorador que ignore cualquier secuencia de comandos o etiquetas HTML que se adjunte a la entrada del usuario.
De forma predeterminada, la detección de XSS está activada. Los atributos de la dirección URL y los vínculos del sitio estén excluidos de esta comprobación. Para obtener más información sobre cómo cambiar estos valores de configuración, consulte Configurar restricciones de XSS en las entradas de usuario.
XSS: Restricciones de la entrada del usuario
La entrada del usuario que contiene uno de los patrones XSS comunes se deberá escapar antes de que se incluya en la página de resultados. Esta codificación de salida garantiza que la entrada del usuario sea tratada como texto y no como contenido que no está activo que se puede ejecutar. Las opciones administrativas permiten activar o desactivar las restricciones XSS (escape).
Para cambiar la configuración de cualquier opción, ejecute las declaraciones de base de datos SQL.
Siga estos pasos:
  1. Acceda a la tabla de base de datos CMN_OPTION_VALUES.
  2. Actualice la entrada de tabla para la opción concreta. Para obtener más información sobre cada opción, consulte las descripciones de la opción.
  3. Vaciar la memoria caché.
XSS: Opción de restricción
Esta opción restringe la cadena de XSS en la entrada del usuario si la cadena coincide con un patrón en la opción CMN.XSS.PATTERNS. Esta opción del sistema se aplica a toda la aplicación de
Clarity PPM
, excepto los atributos de la dirección URL y los enlaces del sitio. Se pueden establecer las restricciones de atributos de la dirección URL y vínculos del sitio a través de opciones particulares.
  • RESTRICT.APP.XSS
    Valores = verdadero (las restricciones se encuentran en), falso (las restricciones están desactivadas)
    Valor predeterminado: true
El contenido de HtmlPortlet no está restringido (no se ha escapado). Los portlets HTML ejecutan cualquier script en el contenido HTML, lo cual es el comportamiento esperado.
Para cambiar la opción RESTRICT.APP.XSS, actualice la tabla CMN_OPTION_VALUES de la base de datos mediante el siguiente comando SQL:
update cmn_option_values set value='false|true' where option_id = (select id from cmn_options where option_code=' RESTRICT.APP.XSS')
Notas de seguridad
: La aplicación de este comando de actualización no impide que un portlet HTML se codifique con Javascript ni que dicho Javascript se ejecute en el equipo de cliente. Como administrador, su preocupación va a estar en los servidores y en protegerlos de Meltdown y Spectre. En cambio, no estará tan preocupado por el código Javascript malicioso que se pueden encontrar en los equipos de cliente porque no tiene tanto control sobre los mismos.
Para iniciar un ataque más grave, el atacante debe ser capaz de ejecutar código en el procesador de la víctima. Para poder procesar los sitios web modernos, cualquier motor web de JavaScript debe autorizar la ejecución de código JavaScript en el que no confía en el procesador del usuario. Cualquier código Javascript que forma parte de un portlet HTML se ejecuta en el explorador del equipo cliente y no en el servidor. PPM no ejecuta Javascript en el servidor.
Las restricciones de XSS filtran los parámetros dentro de envíos de formularios y direcciones URL que pueden contener código Javascript malicioso que, si se vuelve a enviar al explorador del cliente, puede ejecutarse y causar posibles daños el equipo cliente. Estas restricciones se gestionan mediante filtros en la aplicación web que funcionan en una solicitud enviada desde el cliente al servidor con la esperanza de que la respuesta al cliente se pueda ejecutar o redirigir de manera que no afecte al cliente. Un portlet HTML que un usuario codifica con Javascript no gestiona estos filtros. Es una respuesta a una acción que se ha solicitado a PPM que la lleve a cabo como, por ejemplo, mostrar un portlet. Las respuestas no pasan por el filtro. Por lo tanto, un usuario que codifica un portlet HTML e inserta Javascript solo deberá ejecutar el código Javascript en su propio equipo de cliente.
XSS: Opción del valor del atributo URL
Esta opción restringe el valor del atributo URL (que se ha creado con Studio) si el valor coincide con un patrón en la opción CMN.XSS.PATTERNS.
  • RESTRICT.URL.ATTR.XSS
    Valores = verdadero (las restricciones se encuentran en), falso (las restricciones están desactivadas)
    Valor predeterminado: false
Para cambiar la opción RESTRICT.URL.ATTR.XSS, actualice la tabla de base de datos CMN_OPTION_VALUES mediante el siguiente comando SQL:
update cmn_option_values set value='false|true' where option_id = (select id from cmn_options where option_code=' RESTRICT.URL.ATTR.XSS')
XSS: Opción de vínculos del sitio
Esta opción restringe el valor de entrada de enlaces del sitio si el valor coincide con un patrón en la opción CMN.XSS.PATTERNS.
  • RESTRICT.SITE.LINKS.XSS
    Valores = verdadero (las restricciones se encuentran en), falso (las restricciones están desactivadas)
    Valor predeterminado: false
Para cambiar la opción RESTRICT.SITE.LINKS.XSS, actualice la tabla de base de datos CMN_OPTION_VALUES mediante el siguiente comando SQL:
update cmn_option_values set value='false|true' where option_id = (select id from cmn_options where option_code=' RESTRICT.SITE.LINKS.XSS')
XSS: Opción de patrones de XSS comunes
Esta opción define los patrones de cadena que se utilizan frecuentemente para XSS. Se pueden agregar valores para esta opción para incluir más patrones de cadena.
  • CMN.XSS.PATTERNS
    String patterns = </script> <script(.*?)> <script>(.*?)</script> alert(.*?) eval\\((.*?)\\) expression\\((.*?)\\) javascript: onerror(.*?)= onload(.*?)= src[\r\n]*=[\r\n]*\\\"(.*?)\\\" src[\r\n]*=[\r\n]*\\\'(.*?)\\\'
Para agregar patrones, acceda a la tabla de base de datos CMN_OPTION_VALUES e incluya los nuevos patrones en la opción CMN.XSS.PATTERNS.
Ejemplo: agregue el nuevo patrón "onfocus" a la opción CMN.XSS.PATTERNS.
Oracle
CMN_OPTION_VALUES_INS_SP('CMN.XSS.PATTERNS','true','true','onfocus(.*?)=',1);
MSSQL
EXEC CMN_OPTION_VALUES_INS_SP 'CMN.XSS.PATTERNS','true','true','onfocus(.*?)=',1
Encabezados de respuesta de seguridad: X-XSS-Protection y X-Content-Type-Options
Los exploradores web tienen dos encabezados de respuesta de seguridad activados de forma predeterminada para obtener una capa adicional de protección.
  • X-XSS-Protection
    : El encabezado
    X-XSS-Protection
    obliga a la utilización del filtro XSS en el modo Activación, incluso si está desactivado. Este encabezado de seguridad es compatible con los exploradores Internet Explorer, Chrome y Safari, y detiene la carga de páginas cuando el explorador detecta ataques de XSS reflejados. Este encabezado no es necesario en los exploradores modernos cuando las aplicaciones implementan una política de seguridad de contenido (CSP) solida que desactiva el uso de JavaScript en línea que no sea seguro. Aunque en este sentido la seguridad de CA PPM es sólida, la aplicación continúa proporcionando esta protección para los usuarios de los exploradores web anteriores a la compatibilidad con la CSP.
  • X-Content-Type-Options
    : El
    X-Content-Type-Options
    encabezado es un marcador que utiliza el servidor para evitar cualquier cambio en los tipos MIME anunciados en los encabezados Content-Type.
Aunque poco probable, si surgen problemas, puede desactivar encabezados individuales o todos los encabezados en la respuesta de la red con los siguientes comandos SQL:
  • Para desactivar
    X-Content-Type-Options: nosniffing
    delete from cmn_option_values where option_id in (select id from cmn_options where option_code like 'ENABLED_RESPONSE_HEADERS%') and value like 'X-Content-Type%'
  • Para desactivar
    X-XSS-Protection: 1; mode=block
    delete from cmn_option_values where option_id in (select id from cmn_options where option_code like 'ENABLED_RESPONSE_HEADERS%') and value like 'X-XSS-Protection%'
  • Para desactivar todos los encabezados:
    call CMN_OPTION_VALUES_DEL_SP('ENABLED_RESPONSE_HEADERS');
URL externas
La propiedad externalUrl es una configuración de aplicación opcional que ofrece soporte a esquemas de autenticación externos o federados en los mensajes de notificación. Cuando no se especifica externalUrl, los mensajes de notificación de
Clarity PPM
que contienen direcciones URL utilizan la propiedad entryUrl estándar.
La propiedad entryUrl estándar hace referencia directamente al servidor de
Clarity PPM
. La propiedad externalUrl hace que la solicitud se enrute primero a un servidor externo que proporciona la autenticación de inicio de sesión para la sesión. El servidor externo vuelve a dirigir la solicitud original de vuelta a
Clarity PPM
mediante el inicio de sesión único (SSO). Este método permite asegurarse de que el usuario no tenga que registrarse directamente en
Clarity PPM
. Cuando el usuario hace clic en un vínculo de notificación, se produce la autenticación externa y la solicitud se envía a
Clarity PPM
. Si el usuario ya ha iniciado sesión, la solicitud se envía automáticamente sin interrupción.
La URL externa no sustituye a la URL de entrada estándar; más bien, funciona con la URL de entrada estándar. Las dos forman una URL compuesta que incluye direcciones externas e internas, codificadas según sea necesario para garantizar que las URL incrustadas se transmitan correctamente. La ruta de autenticación puede incluir varios servidores así que, generalmente, las URL incluyen parámetros de consulta que indican a cada servidor dónde debe dirigirse después de haber procesado la solicitud.
La propiedad externalUrl es compatible con las macros siguientes:
  • ${entryurl}
    Inserta la propiedad de la configuración entryUrl actual.
  • replace(regex,replacement,text)
    Sustituya todas las instancias de 'regex' por 'replacement' en 'text'.
  • encode()
    Sustituya el texto por texto codificado en UTF-8.
Las macros se pueden combinar y anidar.
Especifique los caracteres XML restringidos como el et (&) utilizando el nombre de la entidad equivalente (por ejemplo, &amp;). Si no se hace así, es posible que los servicios de
Clarity PPM
no se inicien.
Por ejemplo: creación de una URL externa
La ruta de autenticación para un entorno en particular determina la externalUrl. La ruta de autenticación incluye específicamente las direcciones de cada servidor en la ruta y los parámetros que requiere cada servidor. Antes de establecer este valor, determine la ruta recopilando esta información.
Por ejemplo, considere el entorno siguiente:
  • Servidor 1
    Finalidad
    : servidor de autenticación externo
    Dirección
    : http://auth.somecompany.com
    Parámetros necesarios
    : REDIRECT.
    Descripción
    : Autentica (invocando el inicio de sesión si es necesario) y, a continuación, redirige a la dirección especificada en el parámetro REDIRECT.
  • Servidor 2
    Finalidad
    : servidor de autenticación interno.
    Dirección
    : http://sso.mycompany.com
    Parámetros necesarios
    : TARGET
    Descripción
    : Invoca el inicio de sesión único interno y, a continuación, dirige la solicitud hacia la dirección especificada en el parámetro TARGET.
  • Servidor 3
    Finalidad
    : Servidor de aplicaciones de
    Clarity PPM
    .
    Dirección
    : http://ca_ppm.mycompany.com
    Parámetros necesarios
    : Todos los parámetros de
    Clarity PPM
    estándares.
    Descripción
    : Dirección especificada en entryUrl.
Para resumir, las solicitudes van primero a http://auth.somecompany.com, que es el sistema de gestión de identidades externo. A continuación, las solicitudes van al servidor de inicio de sesión único interno de http://sso.mycompany.com y, finalmente, al servidor de http://ca_ppm.mycompany.com.
Siga estos pasos:
  1. La construcción de la URL externa se inicia cuando se agrega la primera parada, el servidor de autenticación externo:
    externalUrl=http://auth.somecompany.com
    Este servidor requiere un parámetro, REDIRECT, que indica al servidor dónde se debe enrutar la solicitud después del procesamiento. En este ejemplo, la solicitud es ir al servidor de autenticación interno:
    externalUrl=http://auth.somecompany.com?REDIRECT=http://sso.mycompany.com
  2. El servidor de SSO interno requiere un parámetro, TARGET, que contiene la dirección URL de la entrada estándar de
    Clarity PPM
    . La macro ${entryurl} expande automáticamente la configuración entryUrl actual cuando se envían notificaciones:
    externalUrl=http://auth.somecompany.com?REDIRECT=http://sso.mycompany.com?TARGET=${entryurl}
  3. La URL externa está casi completa, pero queda un paso todavía.
    El parámetro REDIRECT para el Servidor 1 contiene caracteres que deben codificarse mediante UTF-8 para que se puedan pasar en una cadena de consulta con seguridad. La macro de codificación se encarga de esto:
    externalUrl=http://auth.somecompany.com?REDIRECT=encode(http://sso.mycompany.com?TARGET=${entryurl})
    El Servidor 2 también tiene un parámetro que se debe codificar:
    externalUrl=http://auth.somecompany.com?REDIRECT=encode(http://sso.mycompany.com?TARGET=encode(${entryurl}))
    Las macros encode() están anidadas. El anidamiento provoca que la interna tenga doble codificación, o sea, que el texto codificado en UTF-8 está codificado una segunda vez. Esta doble codificación es necesaria porque el Servidor 1 descodifica el parámetro entero REDIRECT en la primera parada, y el Servidor 2 espera un parámetro codificado mediante UTF-8. La macro que codifica se puede anidar tantas veces como sea necesario para garantizar que el parámetro final tenga la codificación correcta.
Ciclo de vida de una solicitud
Cuando se genera una nueva notificación de correo electrónico de
Clarity PPM
, las propiedades externalUrl y entryUrl se utilizan para generar una dirección URL apropiada para el evento. La URL estándar (sin utilizar externalUrl) puede tener este aspecto:
http://ca_ppm.mycompany.com/niku/nu#action:timeadmin.currentTimesheet
Con el valor externalUrl activado, como en este ejemplo, la URL generada sería así:
externalUrl=http://auth.somecompany.com?REDIRECT=http%3A%2F%2Fsso.mycompany.com%3FTARGET%3Dhttp%253A%252F%252Fca_ppm.mycompany.com%252Fniku%252Fnu%2523action%253Atimeadmin.currentTimesheet
El ejemplo anterior es una URL que hace referencia al Servidor 1 y un único parámetro con las direcciones y las propiedades del Servidor 2 y el Servidor 3 codificadas mediante UTF-8 (la URL de entrada se codifica dos veces). Cuando un usuario hace clic en esta URL, la solicitud se envía al Servidor 1 (http://auth.somecompany.com). El Servidor 1 descodifica el parámetro (todo el texto que está detrás de REDIRECT=) y lo convierte en:
http://sso.mycompany.com?TARGET=http%3A%2F%2Fca_ppm.mycompany.com%2Fniku%2Fnu%23action%3Atimeadmin.currentTimesheet
El Servidor 1 utiliza la URL para redirigir al Servidor 2. La cadena de parámetro para el Servidor 2 está todavía codificada, aunque el Servidor 1 haya descodificado la cadena de consulta entera. Este ejemplo muestra el efecto de la doble codificación. El Servidor 2, a su vez, descodifica el parámetro TARGET para generar lo siguiente:
http://ca_ppm.mycompany.com/niku/nu#action:timeadmin.currentTimesheet
La URL anterior es la final. La dirección URL se descodifica y se prepara para que
Clarity PPM
la procese. A lo largo del camino, el servidor 1 y el servidor 2 realizan sus funciones de autenticación. Cuando la solicitud llega finalmente a
Clarity PPM
, contiene el token de autenticación Single Sign On (inicio de sesión único) adecuado para identificar al usuario. Aparte de generar la dirección URL correcta cuando se produce la notificación,
Clarity PPM
no participa en modo alguno en el proceso de autenticación.
Resolución de problemas de las URL externas
La clave para resolver los problemas de una URL externa problemática radica en conocer lo que espera cada servidor de la cadena. Una vez conseguido esto, se puede garantizar que las URL y los parámetros están correctamente codificados en cada punto. Se puede verificar manualmente una URL de notificación dada mediante los pasos siguientes.
Siga estos pasos:
  1. Obtenga una utilidad de descodificación de UTF-8. Se puede descargar una utilidad simple.
  2. Genere un correo electrónico de notificación mediante la configuración de URL externa actual.
  3. Examine la URL y verifique que la primera parte de la dirección URL señala al servidor 1. La primera parte de la dirección URL incluye todo hasta el primer carácter del signo de interrogación.
  4. Descártelo todo incluida la primera interrogación, y deje la cadena de parámetro que se ha pasado al Servidor 1.
  5. Descodifique el resto de la cadena una vez utilizando la utilidad de descodificación de UTF-8.
    La cadena descodificada representa los parámetros pasados al Servidor 1. Compruebe que los parámetros sean correctos.
  6. Descarte el nombre del parámetro ("REDIRECT" en nuestro ejemplo) y verifique que la primera parte de la dirección URL señala al servidor 2. Una vez más, todo hasta el signo de interrogación se incluye en la primera parte de la dirección URL.
  7. Una vez más, descártelo todo hasta la interrogación y, a continuación, descodifique el resto de la cadena una vez.
  8. Compruebe los siguientes puntos:
    • La primera parte de la dirección URL hace referencia al servidor de
      Clarity PPM
      .
    • El resto de la cadena de consulta contiene parámetros de
      Clarity PPM
      estándares.
    • Los parámetros no están codificados.
¿Cómo realiza
Clarity PPM
un seguimiento de las sesiones de usuario?
Una cookie basada en sesión incluye un token que se utiliza para acceder a los datos de sesión que persisten en las siguientes ubicaciones:
  • Memoria caché (en un entorno de una única aplicación)
  • Base de datos (para un entorno agrupado)
¿Esto plantea cualquier tipo de limitación en nuestro entorno?
El explorador web del usuario final debe aceptar cookies de la aplicación de
Clarity PPM
. Las cookies están basadas en sesión, por lo que no se escriben en el disco.
¿Esta técnica influye en los equilibradores de carga o en los clústeres?
El equilibrio de carga y la agrupación en clústeres funcionan bien con esta técnica. Muchas compañías utilizan las funciones de equilibrio de carga y de agrupación en clúster de
Clarity PPM
.
¿Puede una sesión ser secuestrada accidentalmente o deliberadamente?
Para robar maliciosamente la sesión de otro usuario, habría que hacer búsquedas en el tráfico HTTP para identificar los encabezados que contienen la cookie de autenticación. Este token, sin embargo, es válido solamente mientras el usuario real tiene la sesión iniciada. Una vez que el usuario se desconecta, se suprime la información de la sesión de la base de datos o de la memoria caché que
Clarity PPM
relaciona con el valor de la cookie.
¿Cómo puedo mantener la ID de sesión fuera de los registros?
Como medida de seguridad, se puede configurar
Clarity PPM
para evitar que los valores de ID de sesión aparezcan en los archivos de registro. Para evitar que estos valores aparezcan, edite el archivo logger.xml. Sustituya el patrón de registro (%u:%s:%a) por el patrón (%U:%a).
Los ejemplos siguientes muestran los resultados del uso de los patrones de registro en el archivo logger.xml.
Ejemplo: (%u:%s:%a)
Esta línea de código indica cómo el patrón para mostrar el valor de ID de sesión aparece en el archivo logger.xml.
<param name="ConversionPattern" value="%-5p %d{ISO8601} [%t] %c{2} (%u:%s:%a) %m\r\n"/>
Este patrón genera registros en un archivo de registro con el valor de ID de sesión. El siguiente registro de la app-ca.log que muestra el valor de ID de sesión (en negrita):
DEBUG 2014-08-18 19:52:02,949 [http-bio-80-exec-3] odf.view (ca_ppm:admin:
5077018__8DF3B2A0-F398-4A4B-BC35-E9A012065CE0
:npt.overview) Adding view FILTER_VIEW_LOADER::USER:NIKU.ROOT to transient cache
Ejemplo: (%U:%a)
Esta línea de código muestra cómo el patrón para evitar el valor de ID de sesión aparece en el archivo logger.xml.
<param name="ConversionPattern" value="%-5p %d{ISO8601} [%t] %c{2} (%U:%a) %m\r\n"/>
Este patrón genera un registro en un archivo de registro sin el valor de ID de sesión. El ejemplo siguiente es un registro de la aplicación app-ca-service.log que no muestra ningún valor de ID de sesión.
DEBUG 2014-08-18 19:52:02,494 [http-bio-80-exec-3] in.service (admin:npt.overview)
Clarity PPM
es compatible con los patrones de registro adicionales de la tabla siguiente si el diseño está establecido en NikuLayout en logger.xml para un agregador.
Opción de patrón
Finalidad
u
Crea el ID de usuario con el ID de cliente en el registro.
Ejemplo: (%u) crea la salida (clarity: admin) en el registro.
U
Crea el ID de usuario en el registro.
Ejemplo: (%U) crea la salida (admin) en el registro.
s
Crea el ID de sesión en el registro.
Ejemplo: (%s) crea la salida (5077018__8DF3B2A0-F398-4A4B-BC35-E9A012065CE0) en el registro.
a
Crea el ID de acción en el registro.
Ejemplo: (%a) crea la salida (npt.overview) en el registro.
Para obtener más información acerca de los patrones que admite la versión 1.2 de log4j, consulte la documentación de API para la clase PatternLayout en https://logging.apache.org.