Cheque de tarjeta de crédito

Si tiene una aplicación que acepta tarjetas de crédito o sus sitios web tienen acceso a servidores de bases de datos que almacenan números de tarjetas de crédito, debe utilizar las medidas de prevención de fugas de datos (DLP) y configurar la protección para cada tipo de tarjeta de crédito que acepte.

La comprobación de la tarjeta de crédito de Citrix Web App Firewall impide que los atacantes aprovechen los defectos de la prevención de fugas de datos para obtener números de tarjetas de crédito de sus clientes. Siguiendo sencillos pasos de configuración, puede aplicar la protección de una o más de las siguientes tarjetas de crédito: 1) Visa, 2) Master Card, 3) Discover, 4) American Express (Amex), 5) JCB y 6) Diners Club.

La comprobación de seguridad de tarjeta de crédito examina las respuestas del servidor para identificar instancias de los números de tarjeta de crédito de destino y aplica una acción especificada cuando se encuentra dicho número. La acción puede ser transformar la respuesta al tachar todos menos el último grupo de dígitos del número de tarjeta de crédito, o bloquear la respuesta si contiene más de un número especificado de números de tarjeta de crédito. Si especifica ambos, la acción de bloqueo tiene prioridad. El valor Máximo de tarjetas de crédito permitidas por página determina cuándo se invoca la acción de bloqueo. La configuración predeterminada, 0 (no se permiten números de tarjeta de crédito en la página), es la más segura, pero puede permitir hasta 255. Dependiendo de dónde se detecte la infracción en la respuesta y se active la acción de bloqueo, es posible que obtenga menos del número máximo permitido de tarjetas de crédito en la respuesta.

Para evitar falsos positivos, puede aplicar relajantes para eximir números específicos de la comprobación de la tarjeta de crédito. Por ejemplo, un número de seguro social, un número de pedido de compra o un número de cuenta de Google pueden ser similares a un número de tarjeta de crédito. Puede especificar números individuales o utilizar una expresión regular para indicar la cadena de dígitos que se van a omitir al procesar la dirección URL de respuesta para la inspección de tarjetas de crédito.

Si no está seguro de qué números de tarjeta de crédito eximir, puede utilizar la función de aprendizaje para generar recomendaciones basadas en los datos aprendidos. Para obtener un beneficio óptimo sin comprometer el rendimiento, es posible que quiera habilitar esta opción durante un corto período de tiempo para obtener una muestra representativa de las reglas y, a continuación, implementar las relajaciones e inhabilitar el aprendizaje.

Si habilita la función de registro, la comprobación de tarjeta de crédito genera mensajes de registro que indican las acciones que realiza. Puede supervisar los registros para determinar si las respuestas a las solicitudes legítimas se están bloqueando. Un gran aumento en el número de mensajes de registro puede indicar intentos frustrados de obtener acceso. De forma predeterminada, el parámetro doSecureCreditCardLogging es ON, por lo que el número de tarjeta de crédito no se incluye en el mensaje de registro generado por la infracción de comercio seguro (tarjeta de crédito).

La función de estadísticas recopila estadísticas sobre infracciones y registros. Un aumento inesperado en el contador de estadísticas podría indicar que su aplicación está siendo atacada.

Para configurar la comprobación de seguridad de la tarjeta de crédito para proteger su aplicación, configure el perfil que rige la inspección del tráfico hacia y desde esta aplicación.

Nota:

Un sitio web que no tiene acceso a una base de datos SQL generalmente no tiene acceso a información privada confidencial, como números de tarjetas de crédito.

Uso de la línea de comandos para configurar la comprobación de la tarjeta de crédito

En la interfaz de línea de comandos, puede utilizar el comando set appfw profile o el comando add appfw profile para activar la comprobación de tarjetas de crédito y especificar qué acciones realizar. Puede utilizar el comando unset appfw profile para volver a la configuración predeterminada. Para especificar relajantes, utilice el comando bind appfw para enlazar números de tarjetas de crédito al perfil.

Para configurar una comprobación de tarjeta de crédito mediante la línea de comandos

Utilice el comando set appfw profile o el comando add appfw profile, de la siguiente manera:

  • set appfw profile <name> -creditCardAction ( ([block][learn] [log][stats]) | [none])
  • set appfw profile <name> -creditCard (VISA | MASTERCARD | DISCOVER | AMEX | JCB | DINERSCLUB)
  • set appfw profile <name> -creditCardMaxAllowed <integer>
  • set appfw profile <name> -creditCardXOut ([ON] | [OFF])<name> -doSecureCreditCardLogging ([ON] | [OFF])

  • Para configurar una regla de relajación de tarjeta de crédito mediante la línea de comandos

    Utilice el comando enlazar para enlazar el número de tarjeta de crédito al perfil. Para quitar un número de tarjeta de crédito de un perfil, utilice el comando unbind, con los mismos argumentos que utilizó para el comando bind. Puede utilizar el comando show para mostrar los números de tarjetas de crédito enlazados a un perfil.

  • Para enlazar un número de tarjeta de crédito a un perfil

    bind appfw profile <profile-name> -creditCardNumber <any number/regex> “<url>”

    Ejemplo: Enlazar perfil appfw test_profile -creditCardNumber 378282246310005http://www.example.com/credit\_card\_test.html

    • Para desvincular un número de tarjeta de crédito de un perfil

      unbind appfw profile <profile-name> -creditCardNumber <credit card number / regex> <url>

    • Para mostrar la lista de números de tarjetas de crédito enlazados a un perfil.

      show appfw profile <profile>

Uso de la interfaz gráfica de usuario para configurar la comprobación de la tarjeta de crédito

En la GUI, configure la comprobación de seguridad de la tarjeta de crédito en el panel para el perfil asociado a la aplicación.

Para agregar o modificar la comprobación de seguridad de la tarjeta de crédito mediante la interfaz gráfica de usuario

  1. Vaya a Web App Firewall > Perfiles, resalte el perfil de destino y haga clic en Modificar.

  2. En el panel Configuración avanzada, haga clic en Comprobaciones de seguridad.

    La tabla de comprobación de seguridad muestra los valores de acción configurados actualmente para todas las comprobaciones de seguridad. Tiene 2 opciones para la configuración:

    1. Si solo quiere habilitar o inhabilitar las acciones Bloquear, Registrar, Estadísticas y Aprender para la tarjeta de crédito, puede activar o desactivar las casillas de verificación de la tabla, hacer clic en Aceptar y, a continuación, en Guardary Cerrar para cerrar el panel Comprobación de seguridad.
    2. Si quiere configurar opciones adicionales para esta comprobación de seguridad, haga doble clic en Tarjeta de crédito o seleccione la fila y haga clic en Configuración de acción para mostrar las opciones adicionales de la siguiente manera:
      • Fuera: Enmascara cualquier número de tarjeta de crédito detectado en una respuesta reemplazando cada dígito, excepto los dígitos del grupo final, por la letra “X”.

      • Máximo de tarjetas de crédito permitidas por página: Especifique el número de tarjetas de crédito que se pueden reenviar al cliente sin activar una acción de bloqueo.

      • Tarjetas de crédito protegidas. Active o desactive una casilla de verificación para habilitar o inhabilitar la protección para cada tipo de tarjeta de crédito.

      • También puede modificar las acciones Bloquear, Registrar, Estadísticas y Aprender en el panel Configuración de tarjeta de crédito.

        Después de realizar cualquiera de los cambios anteriores, haga clic en Aceptar para guardar los cambios y volver a la tabla Comprobaciones de seguridad. Puede proceder a configurar otras comprobaciones de seguridad si es necesario. Haga clic en Aceptar para guardar todos los cambios realizados en la sección Comprobaciones de seguridad y, a continuación, haga clic en Guardar y cerrar para cerrar el panel Comprobación de seguridad.

  3. En el panel Configuración avanzada, haga clic en Configuración del perfil. Para habilitar o inhabilitar el registro seguro de números de tarjetas de crédito, active o desactive la casilla de verificación Registro seguro de tarjetas de crédito. (Por defecto, está seleccionado).

    Haga clic en Aceptar para guardar los cambios.

  • Para configurar una regla de relajación de tarjeta de crédito mediante la interfaz gráfica de usuario

    1. Vaya a Web App Firewall > Perfiles, resalte el perfil de destino y haga clic en Modificar.
    2. En el panel Configuración avanzada, haga clic en Reglas de relajación. La tabla Reglas de relajación tiene una entrada de tarjeta de crédito. Puede hacer doble clic o seleccionar esta fila y hacer clic en Modificar para acceder al diálogo Reglas de relajación de tarjetas de crédito. Puede realizar operaciones Agregar, Modificar, Eliminar, Habilitar o Desactivar para reglas de relajación.

Uso de la función de aprendizaje con la comprobación de tarjeta de crédito

Cuando la acción de aprendizaje está habilitada, el motor de aprendizaje de Web App Firewall supervisa el tráfico y descubre las infracciones desencadenadas. Puede inspeccionar periódicamente estas reglas aprendidas. Después de tener debidamente en cuenta, si quiere eximir una cadena específica de dígitos de la comprobación de seguridad de la tarjeta de crédito, puede implementar la regla aprendida como regla de relajación.

  • Para ver o utilizar datos aprendidos mediante la interfaz de línea de comandos

    show appfw learningdata <profilename> creditCardNumber

    rm appfw learningdata <profilename> -creditcardNumber <credit card number> "<url>"

    export appfw learningdata <profilename> creditCardNumber

  • Para ver o utilizar datos aprendidos mediante la interfaz gráfica de usuario

    1. Vaya a Web App Firewall > Perfiles, resalte el perfil de destino y haga clic en Modificar.
    2. En el panel Configuración avanzada, haga clic en Reglas aprendidas. Puede seleccionar la entrada Tarjeta de crédito en la tabla Reglas aprendidas y hacer doble clic en ella para acceder a las reglas aprendidas. Puede implementar las reglas aprendidas o modificar una regla antes de implementarla como regla de relajación. Para descartar una regla, puede seleccionarla y hacer clic en el botón Omitir. Solo puede modificar una regla a la vez, pero puede seleccionar varias reglas para implementar u omitir.

    También tiene la opción de mostrar una vista resumida de las relajaciones aprendidas seleccionando la entrada de tarjeta de crédito en la tabla Reglas aprendidas y haciendo clic en Visualizador para obtener una vista consolidada de todas las infracciones aprendidas. El visualizador hace que sea muy fácil administrar las reglas aprendidas. Presenta una visión completa de los datos en una pantalla y facilita la acción en un grupo de reglas con un solo clic. La mayor ventaja del visualizador es que recomienda expresiones regulares para consolidar varias reglas. Puede seleccionar un subconjunto de estas reglas, basado en el delimitador y la URL de acción. Puede mostrar 25, 50 o 75 reglas en el visualizador seleccionando el número de una lista desplegable. El visualizador de reglas aprendidas ofrece la opción de modificar las reglas e implementarlas como relajaciones. O puede omitir las reglas para ignorarlas.

Uso de la función de registro con la comprobación de la tarjeta de crédito

Cuando la acción de registro está habilitada, las infracciones de comprobación de seguridad de tarjeta de crédito se registran en el registro de auditoría como infracciones APTFW_SAFECOMMERCE o APTFW_SAFECOMMERCE_XFORM. El Web App Firewall admite los formatos de registro nativo y CEF. También puede enviar los registros a un servidor syslog remoto.

La configuración predeterminada para doSecureCreditCardLogging es ON. Si lo cambia a OFF, el número y el tipo de tarjeta de crédito se incluyen en el mensaje de registro.

Dependiendo de la configuración configurada para las comprobaciones de tarjeta de crédito, los mensajes de registro generados por el firewall de la aplicación pueden incluir la siguiente información:

  • La respuesta se bloqueó o no se bloqueó.
  • Los números de tarjetas de crédito se transformaron (X’d out). Se genera un mensaje de registro independiente para cada número de tarjeta de crédito transformado, por lo que se pueden generar varios mensajes de registro durante el procesamiento de una sola respuesta.
  • La respuesta contenía el número máximo de posibles números de tarjetas de crédito.
  • Números de tarjetas de crédito y sus tipos correspondientes.

  • Para acceder a los mensajes de registro mediante la línea de comandos

    Cambie al shell y siga los ns.logs en la carpeta /var/log/ para acceder a los mensajes de registro relacionados con las infracciones de la tarjeta de crédito:

    • Shell
    • cola -f /var/log/ns.log | grep SAFECOMMERCE
  • Para acceder a los mensajes de registro mediante la interfaz gráfica de usuario

    1. La GUI de Citrix incluye una herramienta muy útil (Syslog Viewer) para analizar los mensajes de registro. Tiene un par de opciones para acceder al Visor de Syslog: Desplácese hasta el perfil de destino > Comprobaciones de seguridad. Resalte la fila Tarjeta de crédito y haga clic en Registros. Cuando accede a los registros directamente desde la comprobación de seguridad de la tarjeta de crédito del perfil, filtra los mensajes de registro y muestra solo los registros relacionados con estas infracciones de comprobación de seguridad.

    2. También puede acceder al Visor de Syslog navegando a NetScaler > Sistema > Auditoría. En la sección Mensajes de auditoría, haga clic en el vínculo Mensajes de Syslog para mostrar el Visor de Syslog, que muestra todos los mensajes de registro, incluidos otros registros de infracciones de comprobación de seguridad. Esto es útil para depurar cuando se pueden desencadenar varias infracciones de comprobación de seguridad durante el procesamiento de solicitudes.

      El Visor de Syslog basado en HTML proporciona varias opciones de filtro para seleccionar solo los mensajes de registro que le interesan. Para acceder a los mensajes de registro de infracciones de comprobación de seguridad de la tarjeta de crédito, filtre seleccionando APTFW en las opciones desplegables del módulo. El tipo de evento muestra un amplio conjunto de opciones para refinar aún más la selección. Por ejemplo, si activa las casillas de verificación APTFW_SAFECOMMERCE y APTFW_SAFECOMMERCE_XFORM y hace clic en el botón Aplicar, solo aparecerán mensajes de registro relacionados con las infracciones de comprobación de seguridad de tarjeta de crédito en el Visor de Syslog.

      Si coloca el cursor en la fila de un mensaje de registro específico, aparecen varias opciones, como Module y EventType, debajo del mensaje de registro. Puede seleccionar cualquiera de estas opciones para resaltar la información correspondiente en los registros.

Ejemplo de un mensaje de registro de formato nativo cuando la respuesta no está bloqueada

May 29 01:26:31 <local0.info> 10.217.31.98 05/29/2015:01:26:31 GMT ns 0-PPE-0 :
default APPFW APPFW_SAFECOMMERCE 2181 0 :  10.217.253.62 1098-PPE0
4erNfkaHy0IeGP+nv2S9Rsdu77I0000 pr_ffc http://aaron.stratum8.net/FFC/CreditCardMind.html
Maximum number of potential credit card numbers seen <not blocked>

Ejemplo de un mensaje de registro de formato CEF cuando se transforma la respuesta

May 28 23:42:48 <local0.info> 10.217.31.98
CEF:0|Citrix|NetScaler|NS11.0|APPFW|APPFW_SAFECOMMERCE_XFORM|6|src=10.217.253.62
spt=25314 method=GET request=http://aaron.stratum8.net/FFC/CreditCardMind.html
msg=Transformed (xout) potential credit card numbers seen in server response
cn1=66 cn2=1095 cs1=pr_ffc cs2=PPE2 cs3=xzE7M0g9bovAtG/zLCrLd2zkVl80002
cs4=ALERT cs5=2015 act=transformed

Ejemplo de un mensaje de registro de formato CEF cuando la respuesta está bloqueada. El número y el tipo de tarjeta de crédito se pueden ver en el registro, ya que el parámetro doSecureCreditCardLogging está inhabilitado.

May 28 23:42:48 <local0.info> 10.217.31.98
CEF:0|Citrix|NetScaler|NS11.0|APPFW|APPFW_SAFECOMMERCE|6|src=10.217.253.62
spt=25314 method=GET request=http://aaron.stratum8.net/FFC/CreditCardMind.html
msg=Credit Card number 4505050504030302 of type Visa is seen in response cn1=68
cn2=1095 cs1=pr_ffc cs2=PPE2 cs3=xzE7M0g9bovAtG/zLCrLd2zkVl80002 cs4=ALERT cs5=2015
act=blocked

Estadísticas de las violaciones de tarjetas de crédito

Cuando la acción de estadísticas está habilitada, el contador correspondiente para la comprobación de tarjeta de crédito se incrementa cuando el Web App Firewall realiza cualquier acción para esta comprobación de seguridad. Las estadísticas se recopilan para Rate and Total count para Tráfico, Violaciones y Registros. El incremento del contador de registro puede variar dependiendo de la configuración configurada. Por ejemplo, si la acción de bloqueo está habilitada y la configuración de la tarjeta de crédito máxima permitida es 0, la solicitud de una página que contiene 20 números de tarjeta de crédito incrementa el contador de estadísticas en uno cuando se bloquea la página tan pronto como se detecta el primer número de tarjeta de crédito. Sin embargo, si el bloque está inhabilitado y la transformación está habilitada, el procesamiento de la misma solicitud aumenta en 20 el contador de estadísticas para los registros, ya que cada transformación de tarjeta de crédito genera un mensaje de registro independiente.

  • Para mostrar estadísticas de tarjetas de crédito mediante la línea de comandos

    En el símbolo del sistema, escriba:

    sh appfw stats

    Para mostrar las estadísticas de un perfil específico, utilice el siguiente comando:

    stat appfw profile <profile name>

    Para mostrar las estadísticas de tarjetas de crédito mediante GUI

    1. Vaya a Sistema > Seguridad > Web App Firewall.
    2. En el panel derecho, acceda al Enlace de estadísticas.
    3. Utilice la barra de desplazamiento para ver las estadísticas sobre infracciones y registros de tarjetas de crédito. La tabla de estadísticas proporciona datos en tiempo real y se actualiza cada 7 segundos.

Resumen

Tenga en cuenta los siguientes puntos sobre la comprobación de seguridad de la tarjeta de crédito:

  • El Web App Firewall le permite proteger la información de tarjetas de crédito y detectar cualquier intento de acceder a estos datos confidenciales.
  • Para utilizar la comprobación de protección de tarjeta de crédito, debe especificar al menos un tipo de tarjeta de crédito y una acción. A continuación, la comprobación se aplica a los perfiles HTML, XML y Web 2.0.
  • Puede canalizar la salida del comando sh appfw profile y grep para CreditCard para ver toda la configuración específica de la tarjeta de crédito. Por ejemplo, sh appfw profile my_profile | grep CreditCard muestra los ajustes configurados de varios parámetros, así como las reglas de relajación correspondientes a la comprobación de tarjeta de crédito para el perfil de Web App Firewall denominado my_profile.
  • Puede excluir números específicos de la inspección de tarjetas de crédito sin omitir la inspección de comprobación de seguridad para el resto de los números de tarjetas de crédito.
  • La relajación está disponible para todos los patrones de tarjetas de crédito protegidas por Web App Firewall. En la GUI, puede utilizar el visualizador para especificar operaciones Agregar, Modificar, Eliminar, Habilitar o Desactivar en reglas de relajación.
  • El motor de aprendizaje de Web App Firewall puede supervisar el tráfico saliente para recomendar reglas basadas en infracciones observadas. La compatibilidad con visualizador también está disponible para administrar las reglas aprendidas de tarjetas de crédito en la GUI. Puede modificar e implementar las reglas aprendidas, u omitirlas después de una inspección cuidadosa.
  • La configuración para el número de tarjetas de crédito permitidas se aplica a cada respuesta. No pertenece al total acumulado de números de tarjetas de crédito observados durante toda la sesión del usuario.
  • El número de dígitos de salida X depende de la longitud de los números de la tarjeta de crédito. Diez dígitos son X para tarjetas de crédito que tienen de 13 a 15 dígitos. Doce dígitos son X para tarjetas de crédito que tienen 16 dígitos. Si su aplicación no requiere el envío del número completo de tarjeta de crédito en la respuesta, Citrix recomienda que habilite esta acción para enmascarar los dígitos de los números de tarjeta de crédito.
  • La operación X-out transforma todas las tarjetas de crédito y funciona independientemente de los ajustes configurados para el número máximo de tarjetas de crédito permitidas. Por ejemplo, si hay 4 tarjetas de crédito en la respuesta y el parámetro CreditCardMaxAllowed se establece en 10, las 4 tarjetas de crédito son de salida X, pero no están bloqueadas. Si los números de la tarjeta de crédito se distribuyen en el documento, es posible que se envíe al cliente una respuesta parcial con números de salida X’d-out antes de que se bloquee la respuesta.
  • No inhabilite el parámetro doSecureCreditCardLogging antes de tener debidamente en cuenta. Cuando este parámetro está desactivado, se muestran los números de tarjeta de crédito y se puede acceder a ellos en los mensajes de registro. Estos números no están enmascarados en los registros, incluso si la acción X-out está habilitada. Si envía registros a un servidor syslog remoto y los registros están comprometidos, los números de tarjeta de crédito se pueden exponer.
  • Cuando la página de respuesta está bloqueada debido a una infracción de la tarjeta de crédito, Web App Firewall no redirige a la página de error.