|
1. Objetivo
El objetivo de este documento es ofrecer una guía completa del proceso de implementación del producto VTOL 3.8.1.0
Asimismo, esta guía cuenta con un detalle de información y recomendaciones para el cumplimiento de los estándares PCI S3 (Payment Card Industry Secure Software Standard).
Nota: Los puntos detallados en este documento son absolutamente necesarios para el cumplimiento de las normas PCI S3. |
RS-VTOL Crédito Débito.
Los siguientes documentos fueron utilizados para la confección del manual de implementación:
Se menciona la serie de documentos que acompañan al producto:
RS-VTOL CR/DB es un validador de transacciones en línea, especializado en la industria del Retail y sus operaciones financieras.
Funciona como un gateway multipropósito que conduce transacciones electrónicas desde y hacia diferentes participantes (tiendas físicas y virtuales, banca, proveedores) a través de redes heterogéneas en forma rápida, segura y eficiente.
Algunas de las funcionalidades que ofrece RS-VTOL Crédito Débito son:
El producto VTOL está formado por dos componentes:
VTOL Server es una aplicación desarrollada íntegramente en el lenguaje de programación Java, que la hace independiente del sistema operativo a emplearse.
Posee una capa de persistencia que permite abstraerse del motor de base de datos a utilizar.
Hay diversos componentes de comunicación que permiten comunicar a la aplicación bajo diferentes protocolos de comunicación, como ser TCPIP, X25, PR1000, HTTP, etc.
Existe una capa de interpretación que se encarga de interpretar los mensajes entrantes y salientes de la aplicación. Esta característica permite manejar diferentes protocolos, algunos operando bajo ciertos estándares y otros del carácter propietarios.
Una vez pasada la capa de interpretación, existe un módulo denominado VTOL Core. Este componente se encarga de realizar la auditoría de transacciones bajo lo que denominamos "tercer mensaje". Este protocolo permite tener sincronizado el punto de venta con VTOL de forma tal de evitar la pérdida de transacciones o la duplicidad de las mismas.
Por último, cada transacción es derivada por el VTOL Core al Módulo Crédito Débito, el cual, bajo ciertas reglas de negocio, envía las autorizaciones financieras a los diversos centros autorizadores para su aprobación.
Las transacciones son persistidas en la base de datos, respetando las normas de seguridad de la norma PCI para su posterior explotación, como ser reportes, cierres de lotes, conciliación de transacciones, monitoreos, etc.
El producto cuenta con una consola WEB de administración centralizada a través de la cual se puede: configurar la aplicación, obtener diversos reportes, monitorear el sistema, definir alertas, administrar la seguridad, acceder a la auditoría, etc. Esta consola de administración presenta un nivel de seguridad de acceso por usuario y contraseña.
A nivel de arquitectura, la aplicación está soportada sobre el servidor de aplicaciones JBOSS, el cual brinda diferentes servicios que son utilizados por VTOL, como ser por ejemplo la configuración de datasources.
Arquitectura de VTOL Server
EMV KIT es el componente encargado de capturar los datos de las tarjetas a través del pinpad e iniciar el proceso de autorización contra VTOL Server. Los datos que captura son los siguientes:
Es una aplicación Java del tipo Stand Alone; es decir, no requiere de ningún servidor de aplicación para poder ejecutarse ni tampoco tiene una interfaz gráfica de usuario, que se encontrará configurada en cada máquina donde se ejecuta la aplicación de punto de venta.
Este componente expone una API de integración del tipo TCPIP bajo el protocolo llamado "protocolo VTOL". A través de esta API, las aplicaciones de punto de venta pueden iniciar una transacción de: venta, devolución, anulación, etc.
Arquitectura de EMV KIT
En este manual encontrará toda la información necesaria para instalar el producto RS-VTOL CR/DB.
Se explicarán cada uno de los pasos de implementación, los requerimientos de hardware y software, las propiedades a ser configuradas como así también todos los aspectos necesarios para cumplir con el estándar de seguridad PA-DSS.
En caso de que sólo desee instalar VTOL Server, omitir los apartados que hacen referencia a EMV KIT.
Se recomienda una lectura inicial de todo el documento antes de comenzar con el procedimiento de implementación de la aplicación.
Además, es recomendable tener los conocimientos mínimos del software de base requerido por VTOL para una mejor comprensión de los temas tratados en este documento.
En este apartado se explicará la secuencia o los pasos para instalar de cero, configurar e iniciar VTOL Server:
Una vez efectuado el flujo de implementación, dirigirse al documento "VTOL CD AR - Manual de usuario" para conocer cómo operar con el producto VTOL.
A continuación se detallarán los pre-requisitos para realizar la instalación de VTOL Server en el sistema.
Advertencia: Es requerido que NAPSE efectúe un correcto dimensionamiento de los requerimientos del hardware en base a la cantidad de transacciones a procesar y la cantidad de usuarios concurrentes en la aplicación. |
Advertencia: Es requerido que NAPSE efectúe un correcto dimensionamiento de los requerimientos del software en base a la cantidad de transacciones a procesar y la cantidad de usuarios concurrentes en la aplicación. El software de base debe tener instalados todos los parches de seguridad que el fabricante haya liberado hasta el momento. |
Para usar correctamente la implementación de AES con VTOL se debe tener instalada al menos la versión de JDK 8u151 |
A continuación se detallarán los pre-requisitos para realizar la instalación de EMV KIT en el sistema.
Previa instalación de la aplicación VTOL, es importante tener en cuenta el entorno en el cual se instalará la aplicación. Este conocimiento facilitará la comprensión de la infraestructura y la interacción de los componentes involucrados en la solución completa.
En el siguiente diagrama se muestra cómo es la arquitectura general y la comunicación entre los componentes de VTOL:
A continuación se detalla un diagrama de red de una aplicación típica de pago:
Los indicadores del tipo señalan un componente determinado dentro del diagrama.
Los indicadores del tipo señalan la secuencia de una autorización normal de una transacción de venta que involucra datos de tarjeta de crédito/débito.
Como se observa en la figura, VTOL está instalado de forma centralizada dentro de la red DMZ. Los puntos de venta están instalados en las sucursales de la empresa comunicándose con VTOL mediante el protocolo TCPIP, en cada punto de venta se encuentra EMV KIT. Éste luego se comunica con los centros autorizadores o Cas mediante una red MPLS (ésta podrá variar según normativa de los mismos).
A continuación, se explica en forma de caso de uso los flujos de datos que suceden en el esquema general de red, el mismo sirve para todos los tipos de transacciones: venta, devolución, anulación, etc.
Caso de Uso: Autorización de una transacción | |||
Orden | Componente | Acción | Comunicación |
1 | C1 | El POS (ubicado en la tienda dentro de la WAN de la empresa) inicia una transacción de venta, anulación o devolución contra EMV KIT especificando el monto y las cuotas. | TCPIP |
2 | C2 | Los datos de la autorización pasan por el Firewall principal (ubicado entre la WAN y la LAN de la empresa). Este los deja pasar ya que el puerto 3000 de VTOL Server está habilitado. | TCPIP |
3 | C3 | VTOL Server recibe la petición de autorización originada por EMV KIT, por medio de un socket server junto con los datos sensibles de la tarjeta. | TCPIP |
4 | C4 | VTOL Server graba la transacción de autorización en la base de datos ubicada en la LAN de la empresa. Los datos sensibles son almacenados encriptados con AES-256 utilizando un mecanismo de administración dinámica y aleatoria de llaves. | TCPIP |
5 | C3 | Una vez grabada la transacción en la base de datos, VTOL envía la petición al centro autorizador (VISA, POSNET, AMEX, cual corresponda) por el protocolo de comunicación TCPIP utilizando el formato definido por la norma ISO8583 para las autorizaciones financieras. | TCPIP |
6 | C5 | La trama enviada por VTOL Server al centro autorizador pasa a través del firewall anterior a la red MPLS que se utiliza normalmente para enlazar a los centros autorizadores. | TCPIP |
7 | C6 | El centro autorizador (VISA, POSNET, AMEX, cual corresponda) recibe la petición de autorización desde la red MPLS y aprueba la transacción emitiendo la respuesta por el mismo medio (la red MPLS). Entonces la respuesta, en formato ISO8583, es enviada por el mismo enlace hacia VTOL Server. | TCPIP |
8 | C3 | El proceso VTOL (ubicado en la DMZ) recibe la respuesta de la autorización por medio del enlace TCPIP establecido al iniciar la comunicación y procede a validarla y procesarla. | TCPIP |
9 | C4 | El proceso VTOL (ubicado en la DMZ) graba la transacción de respuesta en la base de datos por medio del driver correspondiente usando el estándar JDBC y el protocolo de comunicación TCPIP. | TCPIP |
10 | C3 | El proceso VTOL envía la respuesta a EMV KIT, ubicado en el POS, por medio del mismo socket que el POS creó en su momento usando TCPIP al puerto 3000. | TCPIP |
11 | C2 | El firewall (ubicado entre la red DMZ y la red WAN de la empresa) recibe la respuesta y la rutea al POS originador. | TCPIP |
12 | C1 | El POS (ubicado en una tienda de la empresa) recibe la respuesta a la petición de autorización y emite el voucher correspondiente. | TCPIP |
Caso de Uso: Acceso WEB | |||
Orden | Componente | Acción | |
1 | C9 | El usuario desde una PC accede a la consola WEB de VTOL (utilizando HTTPS) para realizar diferentes tareas: monitoreo, configuración, etc. | |
2 | C3 | VTOL recibe la petición HTTPS y muestra la pantalla de LOGIN para que el usuario se identifique con usuario y contraseña. | |
3 | C9 | Opera normalmente hasta finalizar sesión o se haya superado el tiempo máximo de inactividad de sesión. |
Nota: Para conocer el diagrama de flujo de datos que muestra todo el proceso de autorización visite el anexo 17.9 Flujograma del Proceso de Autorización. |
Es fundamental que los datos de la aplicación (información de transacciones, etc.) no sean almacenados en un entorno el cual sea accesible desde Internet. Si la aplicación debe ser accedida desde Internet, la base de datos debe estar en una LAN fuera del acceso remoto. Una zona desmilitarizada (DMZ) o red perimetral, es una red local que se ubica entre la red interna de una organización y una red externa, generalmente Internet.
Esto permite que los equipos (hosts) de la DMZ puedan dar servicios a la red externa a la vez que protegen la red interna en el caso de que intrusos comprometan la seguridad de los equipos (host) situados en la zona desmilitarizada. Para cualquiera de la red externa que quiera conectarse ilegalmente a la red interna, la zona desmilitarizada se convierte en un callejón sin salida.
Esto se puede visualizar con mayor claridad en el gráfico de topología de red de una instalación típica de VTOL del apartado 6.1 Esquema general de una red VTOL.
La aplicación VTOL en sí no requiere acceso remoto desde internet, pero en caso de que el cliente quiera implementarlo deberá hacerlo a través de alguna funcionalidad segura utilizando como mínimo dos factores de autenticación, ya sea a través de un usuario/contraseña, token, etc., lo importante es que la conexión sea lo más segura posible. Ver apartado 6.4 Acceso remoto a la aplicación.
La comunicación entre DMZ y la red interna es mediante el puerto 3003 (puerto SSL de VTOL Server).
Se sugiere controlar el acceso a cualquier computadora, servidor y base de datos que se encuentre involucrado en la aplicación de pagos y/o posea datos de titulares de tarjetas, por medio de un identificador único de usuario (usuarios nominales) y una autentificación segura. La autenticación segura debe implementar el método de autenticación de múltiples factores (por ejemplo: dispositivo token, tarjetas inteligentes, claves públicas, etc).
Nota: Napse sólo sugiere la implementación de autenticación de múltiples factores para el acceso remoto. El cliente será responsable de configurar los accesos remotos y realizar la autenticación correcta de múltiples factores. En VTOL, no se requiere ninguna configuración para admitir la autenticación de varios factores. |
Es posible que sea necesario acceder remotamente a una computadora, un servidor o una base de datos que se encuentre involucrado en la aplicación de pagos y/o posea datos de titulares de tarjetas.
Cualquier acceso remoto que se haga al ambiente donde reside el sistema de pagos (servidor, base de datos, etc) debe hacerse de forma segura, utilizando para la conexión una dirección específica.
El mecanismo típico de acceso remoto por consola es el siguiente:
Nota: Se deberán aplicar las medidas de seguridad listadas en "6.4.3 Consideraciones generales de seguridad". |
Si los sistemas del cliente donde reside la aplicación de pago o la base de datos utilizada por esta permiten el acceso remoto de administración "sin consola", el mismo debe realizarse de manera segura.
Para brindar el acceso administrativo sin consola debe utilizarse alguna tecnología o protocolo seguro como los que se presentan a continuación:
En particular, no deben utilizarse protocolos que envíen información utilizando un cifrado débil o en "texto plano" como:
Nota: Se deberán aplicar las medidas de seguridad listadas en "6.4.3 Consideraciones generales de seguridad". |
Las siguientes medidas de seguridad son necesarias si se permite el acceso remoto a la aplicación de pago o al ambiente del mismo:
Nota: El incumplimiento de uno de los puntos de esta sección llevará al incumplimiento de las normas PCI. |
En el caso de instalar la aplicación en un ambiente de redes inalámbricas, y los datos de las tarjetas habientes se trasmitan por estas redes, se deberán tener en cuenta los siguientes puntos para que de esta manera, sea una instalación segura y no afecte el cumplimiento de la norma PCI:
Importante: Esto es totalmente necesario para realizar una transmisión inalámbrica bajo las normas especificadas por PCI. Cualquier modificación a la configuración, la aplicación quedará fuera del alcance de lo especificado por PCI. |
Entre el POS o Punto de Venta y VTOL se trasmiten transacciones o autorizaciones que contienen información sensible de las tarjetas, por lo tanto, se deben tomar ciertos recaudos al momento de comunicar ambos sistemas (POS-VTOL).
Existen dos posibilidades de configuración de la red que se usará para comunicar ambos sistemas:
Si bien VTOL no restringe ninguna de las dos posibilidades, es necesario configurar la comunicación de ambos sistemas tal como se indica en el presente documento.
En el caso de que los POS se comuniquen con VTOL por medio de una Red Pública se deberá establecer un vínculo seguro utilizando tecnología VPN que implemente alguno de los siguientes protocolos seguros:
Nota: Aunque VTOL utiliza SSL, por razones de seguridad se recomienda utilizar una VPN. |
Estos protocolos permiten establecer un vínculo seguro (por ejemplo, una VPN genera un túnel encriptado) entre dos extremos de una comunicación.
De esta manera, los datos trasmitidos entre ambos sistemas tendrán un nivel más de seguridad y quedarán encriptados.
Los datos sensibles que se trasmiten por estos enlaces, entre el POS y VTOL, son los siguientes:
Hay otros datos que se transmiten (como ser el monto, las cuotas, etc) pero no son sensibles.
Como se observa, los datos requieren si o si ser trasmitidos de forma segura y encriptados, sobre todo, en caso de estar posicionados en una red pública.
La aplicación predeterminada utiliza la comunicación SSL para el intercambio de información entre EMV KIT y VTOL Server. Es necesario configurar el keystore durante la instalación. Visite la sección "7.4 Instalación de certificados para el protocolo HTTPS".
Nota: El incumplimiento del punto descrito anteriormente podría invalidar el cumplimiento de PCI S3. |
Para comprobar que la aplicación solo acepta certificados de confianza se debe acceder a la página de configuración en la consola Web y verificar que las propiedades SSL referencien al almacén de claves que forma parte de la instalación de la aplicación: synthesis.keystore
Para utilizar versiones e implementaciones seguras de los protocolos de seguridad, acceder a la página de configuración en la consola Web y definir el valor TLSv1.2 para la propiedad SSL: Protocolo SSL/TLS, que indica el protocolo a utilizar.
La aplicación solo permite utilizar protocolos TLS: TLSv1.1 y TLSv1.2 en la propiedad SSL: Protocolo SSL/TLS. Si se cambia a una versión de SSL, por ejemplo SSL3, la aplicación deja de funcionar.
Para poder utilizar la solidez del cifrado adecuadamente se deben configurar la propiedad SSL: Protocolo SSL/TLS con el valor TLSv1.2 y la propiedad SSL: Paquetes de cifrados habilitados, que indica que algoritmo de cifrados utilizar para que solamente soporte los más robustos. Por ejemplo:
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, Etc.
El único mecanismo existente para la actualización de la aplicación de pago VTOL que Napse provee, es por medio de la conexión a un SFTP y las indicaciones serán facilitadas por el área de Servicio de Atención al Cliente de Napse.
El área de Servicio al Cliente de Napse notificará al cliente las nuevas actualizaciones o parches por correo electrónico. Los parches se entregarán a través de un SFTP y se indicarán cuando el cliente desee realizar la actualización.
Napse no realiza actualizaciones del aplicativo de forma remota, por lo tanto nunca solicitará acceder de forma remota para realizar dicha tarea. Si el cliente necesita ayuda para instalar la nueva actualización, se pondrá en contacto con el área de Atención al Cliente de Napse que le ayudará por correo electrónico o teléfono.
Los clientes corroborarán la integridad de la entrega de archivos de SFTP comprobando la suma de la comprobación con el valor de suma de la comprobación entregado por Napse. En este proceso se utiliza la herramienta "Quick Hash" y el algoritmo utilizado es el "SHA512". Para conocer el proceso en detalle y saber cómo realizar la validación, dirigirse al documento "Manual de gestión de entregas.pdf".
A continuación, se listan los componentes de software relacionados con la aplicación VTOL:
Componente | Versión | Objetivo |
---|---|---|
JBOSS | JBoss Wildfly 18.0.1 o EAP 7 | Servidor de aplicaciones. Brinda servicio de páginas web, motor de colas JMS y conexiones a la base datos |
JVM | 8 | Máquina virtual que permite iniciar la aplicación JAVA |
JSF | 1.2 | Estándar de manejo de páginas web definido por SUN Microsystems |
JTDS | 1.2.x | Driver de conexión a la base de datos |
Hibernate | 2.1.8 y 3.2.0 | Tecnología que permite abstraer el acceso a la base de datos |
Jasper Report | 5 | Motor de reportes que brinda soporte a los reportes definidos en VTOL |
Quartz | 1.5.2 | Componente de planificación de tareas repetitivas en VTOL |
nrjavaserial | 3.9.x.x | Driver para comunicación serial |
El producto VTOL nombra las versiones de la siguiente manera:
A.B.C.D
Donde "A", "B", "C" y "D" son números enteros y están divididos por un punto.
Los cambios producidos en desarrollos de VTOL dan como resultado un cambio en el valor incremental de la versión:
El elemento comodín es la posición D, y sólo se utiliza para correcciones de errores y nunca se utilizará para representar un cambio que afecte a la seguridad de la aplicación. En forma concisa, el comodín no se utiliza para indicar los cambios PCI S3 o los cambios que afectan a la seguridad.
Por lo tanto, la versión con el comodín será A.B.C.X, donde X es el elemento comodín.
Cuando se realiza una nueva entrega de VTOL, la versión incrementará un valor en el elemento correspondiente de acuerdo al tipo de impacto que tuvo la aplicación.
Las entregas tienen un archivo de texto llamado "ChangeLog.txt" que incluye notas de la versión con las actualizaciones que tuvo de la aplicación. Mediante estos archivos, se puede conocer la versión instalada de VTOL y los cambios realizados en la aplicación entre versión y versión. Para más detalles, consulte la sección "17.3 Obtención de la versión de VTOL instalada".
Además, cuando se entrega una versión, Napse informará por correo electrónico los cambios que la versión incluye y los impactos que tienen (tanto en la integración como en las operaciones).
Nota: Los cambios en la aplicación se realizan según el procedimiento escrito en el documento "PA 26 Procedimiento de desarrollo de soluciones.pdf" y el proceso de entrega de una versión se detalla en el documento "PA 23 Procedimiento de entrega de versiones.pdf". |
Nota: Las versiones internas de VTOL, por ejemplo las entregadas en el área de QA, difieren teniendo el título "snapshot" en lugar de "rc" (release candidate). Este texto es el que diferencia la versión interna de la externa. |
La metodología de control de versiones que Napse utiliza tanto para versiones internas como externas es la misma.
Existen diferentes escenarios al momento de instalar VTOL. A continuación, se listan los distintos escenarios y posteriormente se explica en detalle cómo es cada uno de ellos.
Escenarios posibles:
2. Migración de VTOL 3.8.1.X en Laboratorio a Producción
Es el caso cuando se encuentra instalado VTOL en un entorno de prueba y se quiere migrar al entorno de producción
3. Migración de VTOL 3.8.X Productivo a VTOL 3.8.1.X Productivo
Es el caso cuando se encuentra instalada la versión 3.8.X de VTOL en un entorno de producción y se desea cambiar a la versión 3.8.1.X
Notas: 1. Cualquier otro escenario que no esté detallado en esta sección correrá el riesgo de que algún punto no sea considerado, pudiendo afectar a la seguridad de la aplicación y la información y, por ende, al no complimiento de las normas PCI. 2. Cuando se nombra VTOL 3.8.X y 3.8.1.X quiere decir que esas versiones cumplen con el estándar PCI, así como cualquier versión superior. La versión VTOL 3.6 (o inferiores) no cumple con el estándar. |
La instalación de cero se refiere a instalar VTOL por primera vez en el sistema. Dado que no existe una instalación previa, no existe información sensible de tarjetas en logs o en base de datos. Por lo tanto, este procedimiento, no constituye un riesgo de seguridad sobre la información sensible de las tarjetas que puede estar almacenada.
Se ofrecen dos escenarios para instalar de cero VTOL:
La instalación completa de VTOL se realiza gracias al uso de un asistente gráfico de configuración. Esta forma de instalar VTOL es la recomendada por su facilidad.
Para ello se deben seguir los siguientes pasos:
java –jar INSTALADOR.jar
Por ejemplo:
java –jar rs-vtol-cd-ha-ar-installer-3.8.1.X.jar
Verificar tener seteada correctamente la variable JAVA_HOME. En caso de no tenerla, setearla a la carpeta de instalación de la JVM. Para esto verificar la carpeta de instalación, ejemplo: C:\Java\jdk1.8.0_25\
4. Se presentará la pantalla de bienvenida del instalador.
5. Al pasar a la siguiente pantalla se mostrarán los términos y condiciones de uso de la aplicación de software para ser leídos y posteriormente aceptados para poder continuar con la instalación.
6. A continuación se deben aceptar los términos y condiciones de uso (si no se aceptan los términos y condiciones, la instalación no se completará). Además, se deben ingresar los datos de licencia del producto.
7. En la siguiente pantalla se deja seleccionada la opción "Complete Installation" y se pasa a la siguiente pantalla presionando el botón "Próxima".
Nota: La opción "Only VTOL Components" se utiliza cuando se tiene que realizar una instalación de cero de forma manual o una actualización de VTOL. |
8. Seleccionar mediante el desplegable la versión del Jboss instalado.
En el sector de ingreso "Directory" debe ingresarse la ruta donde está alojado el Jboss.
Por último, en "'rsvtol' Server Configuration" ingresar el nombre de la carpeta la cual va a crearse, dentro de Jboss, e instalarse VTOL.
Oprimir el botón "Próxima".
9. Indicar el motor de base de datos que se utilizará y presionar "Próxima".
10. Ingresar los datos vinculados a la base de datos a emplearse:
Una vez completados los datos, presionar el botón "Próxima".
11. Seleccionar para cada canal el tipo de conexión correspondiente que se empleará y presionar "Próxima".
12. Completar otros datos de configuración.
Si no desea utilizar la modalidad Clúster, haga clic en "Próxima", de lo contrario configure el resto de las propiedades:
Importante: Un clúster es un grupo o un conjunto que agrupa nodos. Los nodos, dentro del mismo clúster, trabajarán en conjunto para una misión en común. Dentro del mismo clúster no debe haber nodos iguales. Entonces, si se desea instalar VTOL's independientes, basta con que el nombre de la partición sea distinto entre ellos, sin importar el nombre de nodo del clúster. En cambio, si se quiere instalar varios VTOL trabajando en conjunto o clúster, es requisito fundamental que el nombre de partición sea el mismo y que cada instancia de VTOL tenga un nombre de nodo de clúster distinto. Para mayor conocimiento del funcionamiento en clúster referirse al punto 17.4 Esquema instalación en clúster. |
13. Presionar "Install" para que se ejecute la instalación.
Se podrá observar información detallada de la instalación presionando el botón "Enseñar detalles". Al hacer esto se mostrarán dos solapas:
14. La finalización de la instalación se informa mediante un mensaje de "Terminado".
Oprimir "Aceptar".
15. Presionar el botón "Salir" para salir del instalador.
16. Dentro del directorio wildfly-18.0.1.Final se creó la carpeta con la nueva versión instalada de VTOL.
A continuación, lo que se debe realizar es ejecutar los scripts en la base de datos. Ver el apartado 7.3.1 Creación de la base de datos.
Esta instalación está pensada para usuarios especialistas y se realiza de forma manual.
Primero se deben realizar todos los pasos indicados en el anexo 17.6 Configuración del Servidor de Aplicaciones JBOSS.
Posteriormente, se deben ejecutar los pasos del apartado 7.2 Pre-Instalación de la aplicación.
1. Verificar que el usuario con que se ejecuta la instalación y ejecuta los archivos .sh de VTOL tenga permiso de lectura, escritura y ejecución.
Comando Linux: ls -l
2. Verificar que el usuario con que se ejecuta los archivos .sh de VTOL tenga permiso de lectura, escritura y ejecución de la carpeta temporal de java. “/tmp”.
Comando Linux: ls -l
3. Ejecutar el instalador de VTOL y seguir el paso a paso detallado en 7.1.1.
Java -jar instalador.jar
4. Ejecutar los script de base de datos que se encuentran en dist\scripts
5. Ejecutar los archivos VTOLEngine-Start.sh y VTOLAdmin-Start.sh
./ VTOLEngine-Start.sh
./ VTOLAdmin-Start.sh
En caso que el usuario no cuente con los permisos necesarios, se deben utilizar los siguientes comandos para otorgarlos:
• Otorgar permisos
chmod -R 777 directorio
• Establecer owner del directorio o archivo
Chown -R usuario directorio
Otros comandos:
• Verificar ejecución de los procesos java
ps -fea | grep java
• Eliminar proceso
Kill -9 numeroDeProceso
Es común que VTOL sea instalado en un laboratorio con el fin de poder realizar pruebas de integración con los sistemas externos (POS por ejemplo), probar el hardware, el software de soporte, etc.
En estas pruebas de laboratorio se suelen utilizar datos de pruebas, tanto en las transacciones, como en el acceso administrativo de la aplicación.
Nota: Como datos de pruebas no se deben utilizar datos reales, como ser números de tarjetas, nombres de usuarios, etc ya que incumpliría con PCI. Las tarjetas a utilizar no deben ser productivas. |
Una vez finalizadas las pruebas en laboratorio es común querer pasar el servidor de laboratorio con VTOL instalado a un ambiente productivo.
Esta acción hace que los datos antes utilizados, como datos de pruebas, signifiquen un riesgo para la seguridad de la aplicación y lleven al no cumplimiento de las normas de seguridad de PCI.
Por lo tanto, para realizar esta acción es necesario cumplir con una determinada cantidad de pasos que se enumeran en el documento "F28 - CheckList Puesta en producción.pdf".
Los objetivos de este documento son:
Nota: El seguimiento de los pasos descriptos en este documento garantiza el cumplimiento de las normas de seguridad PCI. Cualquier incumplimiento de uno de los puntos podría invalidar el cumplimiento de PCI S3. |
Posterior a la ejecución de los pasos antes mencionados, se puede continuar con la puesta en producción de la aplicación.
Cuando la instalación de VTOL 3.8.1.X se haga sobre una instalación de VTOL 3.8.X, se deberán seguir los siguientes pasos:
Una nueva clave maestra se genera automáticamente en una base de datos donde se utiliza para cifrar la nueva clave operativa, también creada automáticamente. Con este último, los datos sensibles almacenados en las tablas transaccionales se vuelven a cifrar. Al final de la operación, se quitan las claves antiguas, quedando sólo las claves recién creadas y permaneciendo los datos confidenciales cifrados con la nueva clave operativa. Para realizar el proceso es necesario detener VTOL, comprobar la existencia de todos los índices y ejecutar Cryptool. Para obtener el detalle completo, consulte la sección "Instalación y ejecución" del documento anterior mencionado
7. Si la instalación fue exitosa:
8. Si la instalación no fue exitosa (rollback de la versión):
Nota: Para realizar el borrado seguro referirse a 17.2 Herramienta para el borrado seguro de datos. |
RS-VTOL CR/DB cuenta con un instalador gráfico que guía a través del proceso de pre-instalación de la aplicación. Primero solicita al usuario el ingreso de los parámetros de configuración requeridos y luego efectúa la pre-instalación del producto, la cual consiste en el armado de una estructura de directorios que contiene los componentes de la aplicación, como ser los scripts de base de datos, archivos de configuración, etc.
Para comenzar con la pre-instalación de la aplicación es requerido primero cumplimentar con los pasos indicados en el anexo 17.6 Configuración del Servidor de Aplicaciones JBOSS.
A continuación, se describen los pasos para realizar la instalación de la aplicación:
java –jar INSTALADOR.jar
Por ejemplo:
java –jar rs-vtol-cd-ha-ar-installer-3.8.1.X.jar
Verificar tener seteada correctamente la variable JAVA_HOME. En caso de no tenerla, setearla a la carpeta de instalación de la JVM. Para esto verificar la carpeta de instalación, ejemplo: C:\Java\jdk1.8.0_25\
4. Se presentará la pantalla de bienvenida del instalador. Seleccionar la opción "Only VTOL Components".
Presionar el botón "Próxima".
5. Seleccionar mediante el desplegable la versión del Jboss instalado.
En el sector de ingreso "Directory" debe ingresarse la ruta donde está alojado el Jboss.
Por último, en "'rsvtol' Server Configuration" ingresar el nombre de la carpeta que se copió de la configuración del server Standalone (anexo 17.6.1)
Oprimir el botón "Próxima".
6. Indicar el motor de base de datos que se utilizará y presionar "Próxima".
7. Seleccionar para cada canal (conexión al centro autorizador o CA) el tipo de conexión que se empleará y presionar "Próxima".
8. Completar otros datos de configuración.
Si no desea utilizar la modalidad Clúster, haga clic en "Próxima", de lo contrario configure el resto de las propiedades:
Notas: |
9. Presionar "Install" para que se ejecute la instalación.
Se podrá observar información detallada de la instalación presionando el botón "Enseñar detalles". Al hacer esto se mostrarán dos solapas:
10. La finalización de la instalación se informa mediante un mensaje de "Terminado".
Oprimir "Aceptar".
11. Presionar el botón "Salir" para salir del instalador.
Finalizada la pre-instalación se visualizarán los componentes dentro de la carpeta 'rsvtol' de la siguiente forma:
Carpeta | Descripción |
bin | Contiene los archivos de inicio y de detención de la aplicación como proceso de Windows y de Linux |
configuration | Esta carpeta contiene toda la configuración del Application Server adaptada para que la aplicación VTOL funcione correctamente |
deployments | En esta carpeta se encuentra el EAR de la aplicación |
dist | Posee dos carpetas importantes en su interior:
|
lib | Reservado para uso futuro para que puedan almacenarse librerías |
tmp | Carpeta de temporales del servidor de aplicaciones |
Los scripts, para crear e inicializar la base de datos que emplea la aplicación, se encuentran en la carpeta "scripts" dentro del directorio de instalación del producto. Los scripts se encuentran separados en carpetas según el motor de base de datos al que corresponden y se deben ejecutar en una secuencia determinada según sea necesario crear o actualizar una base de datos de VTOL.
En las siguientes secciones se explica con mayor detalle cada una de las posibilidades.
Los scripts de base de datos existentes deberán ser ejecutados, con el usuario administrador de base de datos.
Cada archivo contiene, como inicio de su nombre, un número que indica la secuencia en que debe ser corrido.
Los scripts se encuentran ubicados en la ruta Jboss/rsvtol/dist/scripts.
Primero se deben ejecutar los script de VTOL CORE, ubicados en:
Jboss/rsvtol/dist/scripts/core/nombreMotorBD
, en el siguiente orden:
Por último, se deben ejecutar los scripts del módulo Crédito Débito, ubicados en
Jboss/rsvtol/dist/scripts/cd-ar/nombreMotorBD
, en el siguiente orden:
Dónde:
Cuando el motor de base de datos sea MSSQL, tiene que estar activo el isolation level “READ_COMMITTED_SNAPSHOT”. Para activarlo se debe ejecutar el siguiente comando:
ALTER DATABASE [nombre_bbdd] SET READ_COMMITTED_SNAPSHOT On;
Donde nombre_bbdd es el nombre de la base de datos.
Nota: Para que el cambio surja efecto, no debe haber conexiones activas salvo la indicada anteriormente.
Cuando la instalación se trate de una actualización de versión y no una instalación de cero, es posible que se deba actualizar la base de datos pre-existente.
Para este caso existen scripts de actualización de la base de datos. Estos se identifican por el comienzo con INC en su nombre (Incremental). Por ejemplo: "INC-1.1.0-TO-1.1.1.sql"
Los mismos se encuentran en los siguientes directorios:
Scripts correspondientes a VTOL CORE
{VTOL_Server}/dist/scripts/core/nombreMotorBD
Scripts correspondientes a Módulo Crédito Débito
{VTOL_Server}/dist/scripts/cd-ar/nombreMotorBD
Dónde:
La secuencia de ejecución estará asociada a la versión actual de VTOL (para saber que versión está instalada ver apartado 17.3 Obtención de la versión de VTOL instalada).
Es decir se deberán correr los scripts incrementales comprendidos entre el número de versión instalada y la que deseamos instalar. A continuación se muestra un ejemplo:
INC-3.7.3.3-TO-3.7.3.5.sql
INC-3.7.3.5-TO-3.7.3.6.sql
INC-3.7.3.6-TO-3.7.3.7.sql
INC-3.7.3.7-TO-3.8.0.0.sql
Los script enumerados anteriormente deben ejecutarse para actualizar la versión 3.7.3.3 a la 3.8.0.0.
Nota: Podría haber saltos en el versionado de los scripts (como ser INC-3.7.3.3-TO-3.7.3.5.sql), esto se debe a que se generarán versiones sin actualización de scripts. |
Asegurarse que el usuario de la Base de datos de VTOL, tenga el siguiente permiso, para el motor SQL SERVER:
Este permiso es requerido para la correcta ejecución del proceso de depuración de transacciones.
El monitoreo y la administración de la aplicación VTOL se hace por medio de una consola WEB. Por cuestiones de seguridad, el acceso a esta se hace por medio del protocolo seguro HTTPS (protocolo HTTP sobre canal encriptado). Para que este protocolo funcione correctamente hay que instalar un certificado válido.
A continuación se explica qué es un certificado digital, cómo se gestiona y cómo se instala.
HTTPS es la implementación segura de HTTP. Si bien existen varios protocolos y versiones solo algunos son seguros (no se ha podido demostrar lo contrario):
Por lo tanto, se aconseja usar TLSv1.2.
La utilización de HTTPS implica el uso de certificados digitales.
Ilustración de un certificado digital
Un certificado digital está compuesto por:
La aplicación VTOL hace uso de los certificados Los certificados son documentos digitales que dan fe de la vinculación entre una clave pública y un individuo o entidad.mediante la utilización de un "keystore" de java. Un "keystore" es un almacén o base de datos de java, que almacena claves y certificados.
Los certificados pueden estar certificados por una entidad CA Autoridad Certificadora o Certification Authority. Ejemplo: Verisign, Trustwave habilitada o bien pueden estar auto-firmados, es decir, tener un CA propio.
Si se usa un certificado auto-firmado, el cliente WEB emitirá una alerta ya que no puede validar el certificado con una entidad CA válida.
Nota: Se recomienda utilizar un certificado emitido por una entidad habilitada.
A continuación, se detalla cual es la secuencia para instalar un certificado digital emitido por una CA en la aplicación VTOL. En caso de instalar el certificado auto-firmado, ejecutar el "Paso 1" y luego continuar con el "Paso 4".
Paso 1
En este paso se creará un nuevo KeyStore con su clave privada y su certificado auto-firmado. El comando a utilizar es el siguiente:
keytool -genkey -alias vtol -keyalg RSA -sigalg "SHA256withRSA" -keystore synthesis.keystore -validity 90 -storepass changeit -keysize 2048
Nota: cambiar la clave "changeit" del KeyStore
Este comando pedirá información para poder generar el certificado.
Finalizado este paso se habrá creado un archivo "synthesis.keystore" que corresponde al nuevo KeyStore que se usará en la aplicación.
Paso 2
Una vez creado el KeyStore hay que crear un CSR (Certificate Signing Request o Requerimiento de forma del certificado) para enviar al CA.
keytool -certreq -keyalg RSA -alias vtol -file certreq.csr -keystore synthesis.keystore -storepass changeit
Este comando generará un archivo llamado "certreq.csr" que será requerido por la CA.
Paso 3
Una vez que la CA generó el certificado digital hay que incorporarlo al KeyStore previamente creado.
Para ello ejecutar el siguiente comando:
keytool -import -alias vtol -keystore synthesis.keystore -storepass changeit -trustcacerts -file certificado.cer
Donde "certificado.cer" corresponde al nombre del certificado otorgado por la CA.
Paso 4
Ubicar el archivo "synthesis.keystore", correspondiente al nuevo KeyStore, dentro de:
Jboss/rsvtol/configuration
Luego abrir el archivo:
Jboss/rsvtol/configuration/standalone.xml
Y configurar:
<security-realm name="ApplicationRealm">
<server-identities>
<ssl>
<keystore path="synthesis.keystore" relative-to="jboss.server.config.dir" keystore-password="changeit" key-password="changeit" generate-self-signed-certificate-host="localhost"/>
</ssl>
</server-identities>
<authentication>
<local default-user="$local" allowed-users="*" skip-group-loading="true"/>
<properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
</authentication>
<authorization>
<properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
</authorization>
</security-realm>
donde:
Por cuestiones de seguridad y para cumplimiento de las normas PCI es necesario auditar todo acceso o acción sobre los dominios manejados por la aplicación VTOL como ser:
A continuación se dan indicaciones de cuáles son éstos dominios, donde están y que requerimientos mínimos de auditoria son necesarios.
Para los siguientes directorios es necesario activar el registro de auditoria nativo del sistema operativo para las acciones señaladas por la columna "Auditar".
Ubicación | Auditar |
JBOSS_HOME | Borrado y modificación |
VTOL_LOG | Borrado y lectura |
VTOL_DB (Archivo del motor de base de datos) | Borrado |
VTOL_SECURITY | Borrado, modificación, lectura, creación |
Para las siguientes tablas es necesario activar el registro de auditoria nativo del motor de base de datos para las acciones señaladas por la columna "Auditar".
Tabla | Auditar | Descripción |
RS_AUDIT | DELETE; UPDATE; DROP | En esta tabla se registra toda la actividad de los usuarios llevada a cabo en consola de administración web de VTOL. |
RS_USER | SELECT; DELETE; UPDATE; DROP | Se registran los usuarios de la consola de administración web de VTOL |
RS_USER_GROUP | SELECT; DELETE; UPDATE; DROP | Se registran los grupos de permisos que tienen asignados los usuarios de la consola de administración web de VTOL |
RS_USER_ROLE | SELECT; DELETE; UPDATE; DROP | Se registran los permisos que tienen asignados los usuarios de la consola de administración web de VTOL |
EncryptedPassword | SELECT; DELETE; UPDATE; DROP | Se registran las claves de encriptación de datos sensibles Maestra y Operativa |
FinancialTransaction | SELECT; DELETE; UPDATE; DROP | Se registran las transacciones procesadas por VTOL en el corriente día. |
ClosedFinancialTransaction | SELECT; DELETE; UPDATE; DROP | Se registran las transacciones procesadas luego del cierre de transacciones diario |
Otras | DELETE; UPDATE; DROP | El resto de las tablas de VTOL |
Nota: la activación del registro de auditoria en las tablas de la base de datos es requisito para cumplir con las normas PCI. |
La aplicación VTOL trabaja con distintos puertos de comunicación a conocer y a tener en cuenta a la hora de configurar los sistemas aledaños como ser routers, firewalls, antivirus, etc.
Entonces para el correcto funcionamiento de la aplicación, es necesario que los puertos señalados a continuación no sean bloqueados.
Puerto | Tipo | Componente | Descripción |
8080 | Entrada | JBOSS-WEB | Puerto http sin seguridad. Se puede acceder a la consola Web referenciando este puerto, pero la aplicación redirecciona automáticamente al puerto seguro. |
8443 | Entrada | JBOSS-WEB | Puerto http seguro. Al acceder en este puerto se establece un enlace cliente-servidor seguro utilizando tecnologías SSL/TLS |
3000 | Entrada | VTOL | Puerto utilizado por VTOL para recibir las transacciones provenientes de los distintos puntos de venta en plano |
3001 | Entrada | VTOL | Puerto utilizado por VTOL para recibir las transacciones provenientes de los distintos puntos de venta encriptado con AES-256 |
3003 | Entrada | VTOL | Puerto utilizado por VTOL para recibir las transacciones provenientes de los distintos puntos de venta de forma segura usando SSL/TLS |
3004 | Entrada | VTOL | Puerto de control de cluster |
8484 | Entrada | VTOL | Servicios REST publicados por VTOL |
8181 | Entrada | VTOL | Servicios SOAP publicados por VTOL para uso desde consola WEB |
8282 | Entrada | VTOL | Servicios SOAP publicados por VTOL para uso desde consola WEB |
8383 | Entrada | VTOL | Servicios SOAP publicados por VTOL para uso desde consola WEB |
9900 | Entrada | JBOSS | Puerto de consumo de servicios JMX/JNDI del JBOSS |
1100 | Entrante | JBOSS | Puerto local y remoto accedido por los distintos nodos del cluster de VTOL. Solo son accedidos entre las instancias del cluster. |
1433 | Saliente | BD | Puerto utilizado por VTOL para establecer la conexión con la base de datos MSSQL |
7894 | Saliente | VTOL | Puerto de comunicación utilizado por VTOL para comunicarse con el centro autorizador American Express. |
8888 | Saliente | VTOL | Puerto de comunicación utilizado por VTOL para comunicarse con el centro autorizador POSNET. |
7777 | Saliente | VTOL | Puerto de comunicación utilizado por VTOL para comunicarse con el centro autorizador VISA. |
5555 | Saliente | VTOL | Puerto de comunicación utilizado por VTOL para comunicarse con el centro autorizador SHOPPING. |
5979 | Saliente | VTOL | Puerto de comunicación utilizado por VTOL para comunicarse con el centro autorizador GE o General Electric. |
4566 | Saliente | VTOL | Puerto de comunicación utilizado por VTOL para comunicarse con el centro autorizador Pisma MC. |
8554 | Saliente | VTOL | Puerto de comunicación utilizado por VTOL para comunicarse con VTOL Integration Service. |
8843 | Saliente | VTOL | Puerto de comunicación utilizado por VTOL para comunicarse con VTOL Payment Bridge. |
9443 | Saliente | VTOL | Puerto de comunicación utilizado por VTOL para comunicarse con VTOL Antifraude. |
8585 | Entrada | VTOL | Puerto http seguro utilizado por VTOL para recibir las notificaciones provenientes de Mercado Pago, para pagos con QR. Este puerto puede cambiar según el cliente. |
Donde,
Nota: Todos los puertos no listados anteriormente deben ser cerrados en los respectivos sistemas aledaños a la aplicación con el fin de asegurar el sistema y cumplir con las normas establecidas por PCI |
Se mencionan los números de puertos que se utilizan en un entorno VTOL:
Para cambiar el puerto http de las consolas en wildfly se debe editar el archivo ../configuration/standalone.xml en la sección:
<socket-binding-group name="standard-sockets"
Editar los puertos http:
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
Por ejemplo para que tome los puertos 8282 y 8445 respectivamente:
<socket-binding name="http" port="${jboss.http.port:8282}"/>
<socket-binding name="https" port="${jboss.https.port:8445}"/>
Además se debe cambiar la propiedad de conexión remota en base de datos en la tabla rs_system_property. Siguiendo el ejemplo debería quedar de la siguiente manera:
Property_key: remoteJDNI.environment(java.naming.provider.url)
new_value: remoting://localhost:8282
VTOL Engine es un componente standalone (no requiere de un servidor) que se encarga de la gestión del backend de la aplicación, recibiendo peticiones SOAP o REST desde aplicaciones que necesitan consumir los servicios ofrecidos por éste. Los servicios ofrecidos son mensajería, administración, reportes, etc.
Para visualizar cómo se instala EMV Kit, por favor, dirigirse al documento "VTOL EMVKIT", apartado "Instalación". |
EMV KIT posee la siguiente estructura de directorios:
Carpeta | Descripción |
config | Contiene los archivos de configuración requeridos por EMV KIT |
lib | Contiene todos los archivos JAR, propietarios y de terceros, requeridos para el funcionamiento de EMV KIT |
Para que EMV KIT funcione correctamente se deben configurar los siguientes archivos:
Archivo | Configuración |
vtolClient.properties | Se configura aquí las propiedades de conexión con VTOL Server (puerto e IP) como también la tienda y el nodo con la que se originará la transacción |
serialPinPad.properties | Se procederá a habilitar el dispositivo pinpad a utilizar manteniendo comentadas las líneas correspondientes a la marca del dispositivo pinpad |
devices.properties | Se procederá a habilitar el controlador y el driver del dispositivo pinpad a utilizar manteniendo comentadas las líneas correspondientes a la marca del dispositivo pinpad |
start.cmd | Trae por defecto una configuración, pero se deberá revisar si la JDK tiene asignada la ruta correcta |
Una vez instalada la aplicación hay que iniciar VTOL Engine. La misma puede ser iniciada de dos maneras:
Para iniciarlo como proceso:
Para iniciarlo como servicio:
Para eliminar el servicio:
Nota: Para iniciar VTOL Engine como servicio se hace uso de NSSM. |
Una vez instalada la aplicación hay que iniciar la aplicación VTOL Server. La misma puede ser iniciada de dos maneras:
Para iniciar RS-VTOL CR/DB como proceso:
Para detenerlo como proceso:
Luego de realizada la instalación de VTOL, es recomendado que sea iniciada como servicio del sistema operativo.
De esta manera se podrá levantar VTOL al encender el servidor o poder desloguear usuarios sin verse afectada la operatoria. También se podrá garantizar que el servicio esté disponible siempre que el servidor lo esté sin depender de la intervención de un usuario.
Para instalar el servicio:
Para eliminar el servicio:
Para lograr que la aplicación inicie cuando el servidor Linux inicia es necesario configurar un servicio en Linux, estos servicios son llamados Daemons.
Este procedimiento describe como crear un Daemon en Linux basado en la distribución Debian o que manejen el procedo iniciador denominado init (proceso que se ejecuta ni bien termina de cargar el Kernel del SO).
El procedimiento para crear un Daemon se detalla a continuación:
su root
3. Situarse en el directorio
cd /etc/init.d/
4. Ejecutar el siguiente comando para crear un enlace (puente a un fichero)
ln -s Jboss/rsvtol/bin/start.sh /etc/init.d/vtol.d
5. Verificar que la aplicación funciona ejecutando. Esto se puede hacer accediendo a la consola WEB y/o verificando el log del sistema. Ejecutar:
./vtol.d
6. Registrar el daemon en los run level. Ejecutar el siguiente comando:
update-rc.d vtol.d defaults
7. Reinicar el servidor Linux. Ejecutar el siguiente comando o reiniciar desde consola/escritorio.
shutdown -r now
8. Una vez que haya reiniciado el servidor Linux, verificar que el daemon se haya ejecutado. Esto se puede hacer accediendo a la consola WEB y/o verificando el log del sistema.
Para poder detener la aplicación cuando esta es iniciada por un Daemon es necesario seguir los siguientes pasos:
Su root
2. Situarse en el directorio:
cd Jboss/rsvtol/bin
3. Ejecutar el comando para detener la aplicación.
./stop.sh
En caso de querer eliminar el Daemon seguir los siguientes pasos:
su root
2. Ubicarse en el directorio:
cd /etc/init.d/
3. Ejecutar el siguiente comando para des-registrar el daemon
update-rc.d -f vtol.d remove
4. Eliminar el enlace creado con anterioridad.
rm vtol.d
Una vez configurado EMV KIT, se debe iniciar. Este componente puede ser iniciado de dos maneras:
Para iniciar EMV KIT como proceso, ejecutar uno de los archivos start.cmd (Windows) o start.sh (Linux).
Para realizar esta instalación se utiliza una herramienta llamada WRAPPER. La misma se obtiene desde aquí:
http://wrapper.tanukisoftware.com/doc/english/download.jsp
La aplicación VTOL provee una consola WEB, por la cual se pueden realizar distintas funciones entre las cuales se destacan las más importantes:
Debido a las características inherentes a un servicio WEB, la administración del sistema se puede realizar de manera remota.
Para acceder a la consola WEB de VTOL se debe utilizar el siguiente enlace:
http://IP-SERVER:8080/rs-console
Donde IP-SERVER es la dirección IP o nombre del server donde se está ejecutando el servidor VTOL.
Este es el único acceso administrativo que la aplicación provee y al accederlo automáticamente se re-direcciona al puerto 8443 utilizando el protocolo HTTPS. Este protocolo es considerado seguro ya que encripta la comunicación entre el servidor y el explorador WEB utilizado. La encriptación sucede mediante un intercambio de llaves definido por el protocolo HTTPS.
Una vez realizado este intercambio, el explorador es re-dirigido a la siguiente URL:
https://IP-SERVER:8443/rs-console/frames/main.faces
Como se observa ya se utiliza HTTPS.
Definición: HTTPS, Hypertext Transfer Protocol Secure (ó HTTPS). Se emplea para lograr conexiones más seguras en la WWW, fundamentalmente para transacciones de pagos o cada vez que se intercambie información sensible (por ejemplo, claves) en Internet.De esta manera la información sensible, en el caso de ser interceptada por un ajeno, estará cifrada.
Para cumplir con el estándar PCI S3 se utiliza un certificado como se indica en el punto 7.4 Instalación de certificado para protocolo HTTPS.
Nota: Si el usuario cambiara de protocolo de transmisión, la misma podría incumplir con la norma PCI S3. |
No podrán existir dos sesiones activas de un mismo usuario en páginas/navegadores paralelos.
A continuación se detallan una serie de pasos que se deben seguir cuando se trate de una instalación nueva luego de haber completado el capítulo "7.1.1 Instalación de cero de VTOL 3.8".
De tratarse de una re-instalación, este capítulo se puede omitir.
El sistema VTOL por defecto trae una cuenta de acceso a la consola de administración WEB que debe ser cambiada. Esto se efectúa ingresando a la consola de administración web por primera vez.
Para ingresar a la consola web referirse al capítulo 10. Acceso administrativo a VTOL.
Al ingresar por primera vez, como se indicó más arriba, el formulario de Login solicitará los datos de la cuenta por defecto, a saber:
Luego, el sistema pedirá ingresar un usuario nuevo y su contraseña. Este usuario nuevo pasará a tener los permisos necesarios para poder gestionar los usuarios del sistema y el usuario "suser" será eliminado del mismo.
Nota: Un usuario activo en la consola de administración no tiene permitido editar sus propios permisos. La asignación de permisos o de grupos lo deberá efectuar otro usuario con permisos de administrador. |
Las credenciales se registran en la tabla rs_user; el campo name almacena el nombre de usuario y el campo password la contraseña, la cual se encuentra encriptada con SHA-512.
Para conocer todas las opciones que se pueden realizar desde la consola de administración WEB, referirse a los manuales: "VTOL-CORE-Manual de usuario.pdf" y "VTOLCR-DB-Manual de usuario.pdf".
Nota: En la aplicación VTOL no existe el usuario administrador como tal, sino que se dice que un usuario tiene la capacidad de "administrador" cuando posee al menos todos los permisos que le posibilitan administrar el resto de las cuentas del sistema, como por ejemplo, agregar, editar y eliminar usuario y sus permisos. |
Los permisos mínimos que se requieren para ser considerado "administrador" son los siguientes:
1-"Acceso a la aplicación"
2-"Acceso a la consola de Administración de Usuarios, grupos y permisos"
3-"Creación, modificación y eliminación de usuarios, grupos y permisos"
En esta sección se presentan todas las variables de configuración de VTOL. Por cada variable se indica:
Estas variables son configurables a través de la página de configuración presente en la consola de administración WEB del producto. Para ingresar a la misma referirse al capítulo 10. Acceso administrativo a VTOL.
Se debe disponer de los siguientes permisos:
Una vez logueado en el sistema, se deberá ingresar dentro de "Herramientas Administrativas" a la opción "Configuración", tal como se muestra en la siguiente figura:
Pantalla de Configuración
La primera variable a configurar es la que se lista a continuación. La misma permite continuar la carga del sistema en su totalidad. De encontrarse en False, algunos de los componentes del sistema no podrán operar.
Propiedad | Tipo | Descripción | Requiere reiniciar? |
VTOL Core habilitado | True / false | De encontrarse en false, al iniciarse VTOL CR / DB no iniciarán las reglas de negocio pero sí la consola. Se emplea en los casos de actualización del sistema, cuando se incorporan nuevas propiedades de configuración a la aplicación. En este escenario la propiedad se encuentra en false y una vez que se terminaron de configurar las nuevas propiedades, se cambia su valor a true para que VTOL CR / DB inicie por completo. | NO |
A continuación se listan más propiedades disponibles para configurar en el sistema.
Propiedad | Tipo | Descripción | Requiere reiniciar? |
Dialecto de hibernate | Cadena de caracteres | Idioma de SQL usado por hibernate para comunicarse a la base de datos. | SI |
Timeout para eco | Entero | Tiempo de espera máximo en milisegundos para la recepción de la respuesta de un mensaje de eco. | NO |
Timeout para autorización | Entero | Tiempo de espera máximo en milisegundos para la recepción de la respuesta de una transacción de autorización. | NO |
Timeout para reverso | Entero | Tiempo de espera máximo en milisegundos para la recepción de la respuesta de un reverso. | NO |
Depuración información de operación de VTOL CR/DB habilitada | True / false | Habilita (true) / Deshabilita (false) la depuración de las transacciones de las tablas de operación de la aplicación. | NO |
Días conservación de información de operación de VTOL CR/DB | Entero | Cantidad de días que se desea mantener la información de transacciones en las tablas de operaciones antes de ser depuradas. | NO |
IP del CA XX XX hace referencia al nombre del centro autorizador. | Cadena de caracteres | Dirección IP del centro autorizador para la conexión #C4. En el caso de una instalación sin cluster, la configuracion corresponde a la que aparece con el nombre NODO 1. En caso de instalación con cluster, la configuracion dependerá de la cantidad de nodos del cluster. | SI |
Puerto de comunicación CA XX3 #C4 | Entero | Puerto del centro autorizador para la conexión #C4, por el cual se establecerá la comunicación. Para el caso de una instalación sin cluster, la configuracion corresponde a la que aparece con el nombre NODO 1. En caso de instalación con cluster, la configuracion dependerá de la cantidad de nodos del cluster. | SI |
Generación de interfaz por fecha habilitada | True / false | Indica si las interfaces se generan o no por fecha. | NO |
Puerto de comunicación no encriptada POS - VTOL | Entero | Puerto para la comunicación sin encriptar entre el POS y VTOL CR / DB. | SI |
Comunicación no encriptada POS - VTOL habilitada | True / false | Indica si se encuentra habilitada la comunicación no encriptada entre el POS y VTOL CR / DB. | SI |
Puerto de comunicación SSL/TLS POS - VTOL | Entero | Puerto para la comunicación SSL/TLS entre el POS y VTOL (3003). | SI |
Comunicación SSL/TLS POS - VTOL habilitada | True / false | Indica si se encuentra habilitada la comunicación SSL/TLS entre el POS y VTOL. | SI |
Almacén de certificados del servidor | Alfanumérico | Archivo que contiene los certificados del servidor para la comunicación segura SSL/TLS entre POS y VTOL. | NO |
Contraseña del almacén de certificados del servidor | Alfanumérico | Contraseña de acceso al archivo que contiene los certificados del servidor para la comunicación segura SSL/TLS entre POS y VTOL. | NO |
Almacén de confianza del servidor | Alfanumérico | Archivo que contiene los certificados de confianza del servidor para la comunicación segura SSL/TLS entre POS y VTOL. | NO |
Contraseña del almacén de confianza del servidor | Alfanumérico | Contraseña de acceso al archivo que contiene los certificados de confianza del servidor para la comunicación segura SSL/TLS entre POS y VTOL. | NO |
Adiciona contenido en log del sistema | True / false | Si se encuentra en false (desactivado), al reiniciarse VTOL se sobrescribirá el archivo log activo. Si se encuentra en true (activado), se continuará la escritura en el archivo log activo sin sobrescribir los contenidos previos. Esta configuración aplica al archivo log del sistema. | NO |
Tamaño máximo del log del sistema | Entero | Tamaño máximo del archivo de logueo. Superado este tamaño se crea un nuevo archivo. Esta configuración aplica al archivo log del sistema. | NO |
Tamaño máximo de índice del log del sistema | Entero | Cantidad de archivos de logueo que se mantienen. Superada esta cantidad, el nuevo archivo generado sobrescribirá al más antiguo. Esta configuración aplica al archivo log del sistema. | NO |
Timeout de respuesta de transacción | Entero | Tiempo de espera máximo en milisegundos para la recepción de la respuesta de la transacción. Se refiere a la respuesta que envía el módulo al componente Core de VTOL. | NO |
Largo del código de caja | Entero | Longitud del código que identifica a una caja (punto de venta) en VTOL CR / DB. Tener en cuenta que si el valor de esta propiedad se modifica existiendo ya cajas cargadas en la base de datos nodos, VTOL CR / DB no será capaz de identificar a las mismas. Una vez definida no se recomienda cambiarla. | NO |
Largo del código de local | Entero | Longitud del código que identifica a un local en VTOL CR / DB. Tener en cuenta que si el valor de esta propiedad se modifica existiendo ya locales cargados en la base de datos nodos, VTOL CR / DB no será capaz de identificar a los mismos. Una vez definida no se recomienda cambiarla. | NO |
Código de caja es numérico | True/ false | Indica si el código de caja es numérico (true) o alfanumérico (false) | NO |
Código de local es numérico | True / false | Indica si el código de local es numérico (true) o alfanumérico (false) | NO |
Umbral de inactividad de local | Numérico | Umbral, expresado en milisegundos, que indica el tiempo máximo tolerable sin que VTOL reciba transacciones de un local. Superado este umbral el local se considera inactivo. | NO |
Todos los números de comercio son requeridos | True/False | De encontrarse activado (true) indica que se requiere ingresar todos los números de comercio para cada local dado de alta. | NO |
MailManager Servidor SMTP | Cadena de caracteres | Dirección IP o nombre del servidor SMTP para envío de mails. | NO |
Deshabilitar búsqueda de TRX originales | True/False | De encontrarse activado (True) en una operación de Refund (Devolución) se comprobará si la fecha de la TRX original está en el rango válido | NO |
Fecha que limita la búsqueda de TRX Originales | Cadena de caracteres | Debe respetar el formato "dd/MM/yyyy" y sirve junto a la propiedad anterior para determinar si se debe o no buscar la TRX original. Si la propiedad anterior está en true y la fecha original es anterior a la configurada en esta propiedad, la trx original no debe buscarse en la BD. | NO |
JNDI Remoto | Cadena de caracteres | JNDI Remoto de la consola para obtener datos. | NO |
Timeout de transacciones off-line | Entero | Tiempo de espera máximo en milisegundos para la recepción de la respuesta de una transacción off-line. | NO |
Timeout de transacción de cierre | Entero | Tiempo de espera máximo en milisegundos para la recepción de la respuesta de una transacción de cierre. | NO |
Timeout de transacción batch upload | Entero | Tiempo de espera máximo en milisegundos para la recepción de la respuesta de una transacción de batch upload. | NO |
Ruta del log del sistema | Cadena de caracteres | Ruta del archivo log en el cual se registra el estado del sistema: instanciaVTOL/log/system.log | NO |
Importante: en caso de instalar VTOL en un SO Linux, tener en cuenta que el usuario con el cual se levantan Engine y Admin, deben contar con permisos de escritura, lectura y ejecución, en las carpetas del servidor (wildfly) y en la carpeta /temp (directorio temporal por defecto de Java). |
Para que el sistema sea seguro y cumpla con las normas PCI, es requisito mantener una correcta configuración de la depuración de los datos del sistema.
Debido a la importancia de una eliminación segura de los datos sensibles involucrados en una transacción con tarjeta de débito/crédito, el sistema VTOL dispone de un "proceso de ejecución automática", el cuál depura datos históricos que puedan existir en el sistema.
Se llama datos históricos, a las transacciones que VTOL va almacenando día a día en su base de datos. Los datos almacenados sirven para:
Importante: El único dato sensible que se guarda es el PAN, ya que el resto (TrackI, TrackII, CVC, etc) son eliminados automáticamente por el sistema una vez finalizada la transacción. Solamente se almacena en la base de datos de VTOL y no en el sistema operativo. |
Nota: Cumpliendo con el objetivo de seguir la norma, el proceso de depuración se encuentra configurado por defecto con los valores sugeridos por PCI, por esta razón no es conveniente que el usuario utilice este proceso de forma manual, ya que saliendo de los parámetros definidos en VTOL, se estaría incumpliendo con las normas PCI S3. |
Para el borrado de datos históricos de la base de datos, existe un proceso de depuración configurable mediante la consola de administración de VTOL. La configuración que se encuentra definida por defecto en VTOL, será ejecutada automáticamente. Por defecto, este proceso se ejecuta una vez por día, durante todos los días, siempre y cuando esté activado.
Nota: Es requisito para cumplir con las normas PCI que este proceso se encuentre activo.
De igual manera, desde la consola de administración, el usuario tendrá la posibilidad de modificar los datos de dicha configuración.
El proceso permite la siguiente configuración:
El usuario tendrá acceso a este ítem a través del menú "Herramientas administrativas", "Configuración".
La depuración automática debe estar habilitada y configurada bajo las normas PCI, para seguir con este cumplimiento, por defecto, VTOL conserva los datos por un máximo de 90 días. La cantidad de días de conservación puede ser redefinida según las necesidades del cliente.
Nota: Para cumplir con PCI S3 debe definirse un máximo de conservación de los datos. |
Esta configuración representa la cantidad de días hacia atrás que se quiere conservar la información en la base de datos, a partir del día de la fecha, por ejemplo, si se lo configura con el valor 100, entonces se logrará limpiar la base conservando los últimos 100 días de datos.
La alteración de estos valores de configuración deja registro de cuándo y quién lo cambió como un registro de auditoría de usuario.
En el caso que el usuario desee editar el máximo de días de conservación, deberá presionar la opción "Modificar" de la grilla, y el sistema mostrará en pantalla el formulario para su edición. Solo deberá ingresar la cantidad de días en "Valor Nuevo".
El usuario tendrá acceso a este ítem a través del menú "Herramientas administrativas", "Configuración".
Para cumplir con las normas PCI el ítem "Depuración información de operación de VTOL CR-DB habilitada" deberá tener el valor "true". En el caso que el usuario desee modificar este valor, deberá presionar la opción "Modificar" de la grilla.
El sistema mostrará en pantalla los valores que se muestran en la imagen, que podrán ser seleccionados por el usuario.
El valor de este parámetro indica si el proceso que se ejecuta todos los días y depurada la base de datos está activado o no.
Nota: El desactivar este proceso llevará a que la aplicación deje de ser compatible con PA DSS. |
La planificación del proceso de depuración de datos históricos permite cambiar el momento y la periodicidad de ejecución del mismo.
La configuración por defecto, ejecuta el proceso una vez por día, todos los días a la media noche.
El usuario tendrá acceso a este ítem a través del menú "Herramientas administrativas", "Planificación".
Debe modificarse el proceso "DataBaseMaintenanceJob", con el valor deseado (ver el botón ayuda para más información de cómo configurarlo).
Una vez seleccionado el ítem de la lista, el usuario debe presionar el botón "Buscar", el sistema pasará los datos del ítem seleccionado a la grilla.
Si el usuario desea modificar el valor del ítem "DataBaseMaintenanceProcess", deberá presionar el botón "Modificar", y el sistema mostrará en pantalla los datos para que el usuario modifique la configuración.
Nota: Una vez logrado el limpiado de los datos, los parámetros antes modificados deben ser vueltos a sus valores anteriores u originales para no alterar el normal funcionamiento de la aplicación, esto es debido a que la configuración por defecto es requerida para la depuración normal de la base de datos. Es de suma importancia que se cumpla con este proceso, ya que de otra forma no se estaría cumpliendo con los requerimientos de PA S3 y PCI S3. |
La depuración incluirá la eliminación de datos de las siguientes tablas de la base de datos
Adicionalmente, se depura la tabla encargada de almacenar las claves de encriptación de los datos sensibles cuando ya no están en uso.
La depuración de las tablas se realiza de manera automática por el sistema. Por default, la depuración automática se ejecuta diariamente a las 12:00 hs.
Nota: Es importante remarcar que los datos serán borrados por el motor de base de datos utilizando sentencias inherentes al motor y a SQL, como por ejemplo: DELETE |
Nota: Además, para asegurarse de haber cumplido con los requisitos de PCI, borre los logs en modo debug de forma segura (17.2 Herramienta para el borrado seguro de datos). |
VTOL permite la administración de los siguientes usuarios y sus contraseñas:
A continuación se explicarán con más detalle cada una de las diferentes opciones.
Para el acceso a la consola de administración vía WEB, se debe poseer un usuario y una contraseña válidos y otorgados por el administrador del sistema.
Entonces para poder crear cuentas del sistema se debe:
Para más información sobre cómo realizar esta tarea, verificar los capítulos "usuarios" y "GRUPOS" del documento "VTOL-CORE-Manual de usuario.pdf".
Nota: El sistema por defecto está configurado siguiendo las mejoras prácticas de la norma PCI. |
A partir del procesamiento de transacciones que hace VTOL, se van guardando datos sensibles de tarjetas en la base de datos (los datos y tablas participantes se pueden ver en la sección 14.1 Base de datos).
Estos datos son almacenados en la base de datos de forma encriptada utilizando algoritmos simétricos con llaves de encriptación donde la administración de las mismas es realizada automáticamente por el sistema.
Los datos se encriptan utilizando el algoritmo AES con llaves de 256 bits.
Estos datos se encriptan con una jerarquía de llaves que se describe a continuación:
Existe una clave fija en el código de la aplicación. Con ésta se encripta una clave "Maestra" que reside en el sistema de archivos. Con la llave maestra se encripta la llave "operativa" y con ésta última se encriptan los datos sensibles que se guardan en la base de datos.
Clave | Lugar de residencia | Tipo generación |
Fija | Código | Fija |
Maestra | Sistema de archivos, carpeta VTOL_SECURITY. Se graba un archivo con nombre "master.key" | automática y aleatoriamente utilizando el generador nativo de Java denominado SecureRandom |
Operativa | Base de datos, tabla EncryptedPassword | automática y aleatoriamente utilizando el generador nativo de Java denominado SecureRandom |
El archivo "master.key" posee el siguiente formato:
Clave | valor | Comentario |
id | Numérico | referenciado en la tabla de operation key, EncryptedPassword |
key | Clave maestra | Llave "maestra" de encriptación AES encriptada con llave de encriptación fija por código. VALOR=funciónAES("llave fija", "llave maestra") |
creator | Nombre de nodo | Nombre del nodo del cluster que creó la llave maestra |
creationDate | Fecha de creación | Fecha de creación de la llave maestra con formato yyyyMMddHHmmss |
Ejemplo de archivo "master.key":
#Master Key File
#Wed Dec 17 16:06:49 GMT-03:00 2014
creationDate=20141217160649
key=Nhg9K/JhOID4BGjpQ0X1hUrlr9O1ubGJqA+R0HrCXgk\=
creator=Node01
id=1418843209445
Nota: cada clave maestra nueva o cambio en la misma será distribuido automáticamente por la aplicación VTOL entre cada uno de los miembros del cluster utilizando el sistema de mensajería JMS propio del servidor de aplicaciones en cuestión. |
Funcionalmente la aplicación posee los siguientes mecanismos donde se realiza alguna gestión de las claves de encriptación:
Un custodio es un usuario del sistema VTOL que tiene los permisos de administrar las claves de encriptación.
Nota: La norma PCI recomienda la existencia de uno o más custodios encargados de administrar las claves del sistema. |
El sistema VTOL, en condiciones normales se encarga automáticamente de la gestión de las llaves.
Esto se puede observar en el siguiente gráfico:
Por defecto (en una instalación desde cero) el sistema no cuenta ni con la llave maestra ni con la llave operativa. Entonces, al iniciar, el sistema se encarga de crear automáticamente la llave Maestra y la llave Operativa. Para su generación se base en el uso de generador de llaves SecureRandom nativo de Java.
Una vez que el sistema posee las llaves creadas ya puede procesar transacciones y encriptar los datos sensibles que se guardarán en la base de datos como se mencionó anteriormente.
Las claves poseen una vigencia, es decir, que luego de 90 días de uso éstas deben ser renovadas para garantizar la seguridad del sistema. Esta renovación se realiza automáticamente por el sistema. El sistema verifica diariamente si las llaves aún son vigentes, si no lo son se vuelven a generar y automáticamente quedan en uso por el sistema.
Esto se puede apreciar en el gráfico anterior.
Nota: Si bien el proceso de administración de claves de encriptación es automático, en ciertas ocasiones (por ejemplo, puesta en compromiso de la seguridad de la base de datos, del sistema, renovación de personal afín de la seguridad del sistema, etc) puede ser necesario el forzado de la renovación del material criptográfico. Esto se explicará en las siguientes secciones. |
Si bien el sistema se encarga de administrar las claves de encriptación automáticamente, hay casos donde puede ser necesario forzar la generación de claves de encriptación nuevas. Esta generación también es automática y difiere con la operatoria normal en que no es lanzado por un vencimiento sino forzado un custodia.
Algunos de los casos donde esto puede ocurrir son los siguientes:
Nota: El anexo "17.8 Formulario de Clave Custodio de VTOL" proporciona el formulario de custodio para que se reconozca que entienden y aceptan sus responsabilidades. |
A continuación se describe el procedimiento para forzar la creación de claves de encriptación nuevas
Nota: La foto es ilustrativa. El usuario puede no tener algún permiso por lo que verá más o menos entradas en el menú. |
3. El sistema presentará la siguiente pantalla:
4. Presionar el botón "crear".
5. El sistema habrá generado las claves de encriptación nuevas que serán utilizadas por VTOL.
Nota: Cuando se genera una nueva clave de encripción, se genera un registro de auditoría en la tabla rs_audit de la base de datos. Para más información, ver el apartado 13.2 Auditoría en base de datos. |
Si bien el sistema se encarga de administrar las claves de encriptación automáticamente, hay casos donde puede ser necesario forzar la generación de claves de encriptación nuevas. Esta generación también es automática y difiere con la operatoria normal en que no es lanzado por un vencimiento sino forzado un custodio.
Algunos de los casos donde esto puede ocurrir son los siguientes:
Llegado el caso de que éste procedimiento sea necesario, entonces referirse a la guía detallada "VTOLCR-DB-Manual de actualización de material criptográfico.pdf".
A modo de resumen, se utilizará una herramienta suministrada por la aplicación llamada "CyptTool" que se ejecuta por línea de comando cuando VTOL está detenido o apagado.
La herramienta solicitará las credenciales del custodio y a continuación renovará todo el material criptográfico de la aplicación, esto es:
Durante el funcionamiento del sistema se generan registros o eventos de auditoría.
El sistema genera éstos registros en 2 lugares a saber:
Los logs de auditoría de un usuario están habilitados por defecto. Los logs no se deben desactivar, hacerlo resultará un incumplimiento de PCI S3.
Todas las acciones administrativas se registran en la tabla de bases de datos RS_AUDIT, los campos de la tabla RS_AUDIT se mencionan en la sección "Formato 13.2.1".
Los pasos para configurar los objetos de nivel de sistema se mencionan en las secciones "17.7.2 Registros de auditoría" y "17.7.3 Auditoría de base de datos".
Para el cumplimiento de las normas PCI se recomienda que éstos registros, que genera la aplicación, se centralicen en un sistema concentrador de logs, permitiendo a administradores y auditores el monitoreo centralizado de eventos y la rápida detección de eventos que pueden afectar la operatoria o seguridad de la aplicación.
A continuación, se da más detalle del formato en que la aplicación genera éstos registros y se instruye como implementar la centralización.
Nota: VTOL no audita el borrado de archivos de log o de los registros de auditoría de la base de datos cuando se hace por fuera de la aplicación, como ser a través del sistema operativo o del motor de base de datos. Por lo tanto, la auditoría de estos eventos queda bajo responsabilidad del cliente. Para mayor referencia de las características de auditoría que se deben activar en los sistemas referirse a 7.5 Configuración de auditoría de software base
Cuando la aplicación VTOL se encuentra activa va generando pistas de log en un archivo de texto. De ahora en más este archivo se denominará "archivo de log".
Una vez instalada la aplicación, por defecto el archivo de log se creará en:
Jboss/rsvtol/log
De requerir cambiar la ubicación de logueo de la aplicación editar el siguiente archivo:
rsvtol/deployments/rs-vtol.ear/META-INF/log4j.xml
Dentro de este archivo de configuración editar la siguiente propiedad:
<param name="File" value=" ${jboss.server.log.dir}/server.log"/>
Donde:
VTOL Server generará 3 archivos de log:
Nota: Des-habilitar el logueo de la aplicación incumple con las normas PCI S3. |
Los archivos tendrán el nombre:
server.log o server.log.X
Donde "X" es el número de rotación del archivo de logueo. Cuando llega a un máximo de MegaBytes se van rotando e incrementando este número hasta un máximo, luego se eliminan los más antiguos.
Los archivos de log tienen el siguiente formato:
yyyyMMdd HH:mm:ss,SSS LLLLL \[component\] \[Thread_name\] description |
Donde:
A continuación se da un ejemplo:
2014-10-10 13:44:16,351
DEBUG Vtol
ReverseSenderProcess #Reverse: 0 Excluded terminals in process: []
2014-10-10
13:44:17,126 INFO communication RSFMK.AsyncCommWorker-4 CrDb
Thread: RSFMK.AsyncCommWorker-4: MONITOR: DISCONNECTED
2014-10-10
13:44:17,205 INFO communication RSFMK.AsyncCommWorker-2 CrDb
Thread: RSFMK.AsyncCommWorker-2: MONITOR: DISCONNECTED
2014-10-10
13:44:17,220 INFO communication RSFMK.AsyncCommWorker-1 CrDb
Thread: RSFMK.AsyncCommWorker-1: MONITOR: DISCONNECTED
2014-10-10
13:44:17,266 INFO communication Temp_RSFMK.AsyncCommWorker-2 CrDb
Thread: Temp_RSFMK.AsyncCommWorker-2: MONITOR: DISCONNECTED
2014-10-10
13:44:17,266 INFO communication RSFMK.AsyncCommWorker-3 CrDb
Thread: RSFMK.AsyncCommWorker-3: MONITOR: DISCONNECTED
2014-10-10
13:44:17,376 INFO communication Temp_RSFMK.AsyncCommWorker-1 CrDb
Thread: Temp_RSFMK.AsyncCommWorker-1: MONITOR: DISCONNECTED
2014-10-10
13:44:17,376 INFO communication
RSFMK.AsyncCommWorker-5 CrDb Thread: RSFMK.AsyncCommWorker-5: MONITOR:
DISCONNECTED
2014-10-10
13:44:18,139 ERROR communication
RSFMK.AsyncCommWorker-4 Connect failed:
ProvencredClientCommunication(127.0.0.1:66660). Retry is set forever. Error
Message: Connection refused: connect
La aplicación almacena el log de auditoría en la base de datos en formato aceptable universal. Las herramientas centralizadas se pueden configurar para buscar el log de la base de datos. También se registran objetos de nivel de sistema en el evento Windows.
Los pasos para configurar los objetos de nivel de sistema se mencionan en las secciones "17.7.2 Registro de auditoría" y "17.7.3 Auditoría de base de datos".
Nota: Es importante la centralización de los eventos y auditoria para el cumplimiento de la norma PCI S3 |
A continuación, se explica como activar el log de VTOL Admin (Consola VTOL Server) en modo DEBUG, a fin de contar con más información para el análisis de incidentes.
<directorio Instalación VTOL>\deployments\rs-vtol.ear\META-INF\log4j.xml
<category name="com.synthesis.vtol.core.rest"> <priority value="DEBUG"/> <appender-ref ref="FILE"/> </category> <category name="org.apache.http"> <priority value="DEBUG"/> <appender-ref ref="FILE"/> </category> |
Ejemplo de la configuración final, luego de edtiar el archivo:
<!-- Cambiar a DEBUG para chequear publicacion del MBean HASingleton que determina el nodo maestro --> <category name="com.synthesis.vtol.core.cluster.member"> <priority value="INFO"/> </category> <category name="com.synthesis.vtol.core.utils.LogSensitiveInfo"> <priority value="DEBUG" /> <appender-ref ref="SensitiveDataFile"/> </category> <category name="com.synthesis.vtol.console.action" additivity="false"> <priority value="DEBUG"/> <appender-ref ref="FILE"/> </category> <category name="com.synthesis.vtol.core.rest"> <priority value="DEBUG"/> <appender-ref ref="FILE"/> </category> <category name="org.apache.http"> <priority value="DEBUG"/> <appender-ref ref="FILE"/> </category> |
Por razones de seguridad, todo acceso y/o acción efectuada por un usuario en la consola de administración web de VTOL produce registros de auditoria en la tabla RS_AUDIT de la base de datos actual de VTOL.
Por medio de esta funcionalidad es posible conocer qué operaciones fueron efectuadas, fecha y hora de su realización, así como también los usuarios que las realizaron y donde se originó el evento.
La tabla RS_AUDIT posee la siguiente información con el siguiente formato:
Campo | Tipo | Descripción |
audit_event_id | Entero | Clave primaria del registro |
date_time | Fecha y hora | Fecha y hora |
logon_name | Caracteres(50) | Nombre de usuario que efectuó la acción |
description | Texto(variable) | Descripción detallada del evento |
hostAddress | Caracteres(50) | Dirección IP desde donde se realizó la acción que generó el evento |
hostName | Caracteres(100) | Dirección lógica desde donde se realizó la acción que generó el evento |
state | Caracteres(20) | Si la acción que generó el evento se debe a una acción correcta o fallida. Valores posibles:
|
details | Texto(variable) | Detalle de la acción únicamente cuando state="FAIL" |
type | Caracteres(16) | Tipo de evento. Valores posibles:
|
source | Caracteres(64) | Fuente que produjo el evento |
La centralización de la información de esta tabla está sujeta a las herramientas que dispone el cliente.
Una opción posible es la activación de un "trigger por inserción" de base de datos que actúa cuando el sistema graba un registro nuevo en la tabla. Por medio de éste trigger se puede enviar el detalle del registro.
Los registros que son más importantes desde el punto de vista de la seguridad son los siguientes:
Campo | Valor a observar | Descripción | |
Type | Error | Todos los registros del tipo error pueden significar un riesgo para la aplicación. Se recomienda el análisis del resto de los campos que ofrece el registro de auditoría. | |
Type | Warning | Los registros Warning, no necesariamente son errores, pero pueden significar un intento de ataque a la aplicación. Se recomienda el análisis del resto de los campos que ofrece el registro de auditoría. | |
State | Fail | El estado de falla significa que la acción llevada por el usuario terminó fallando, por lo tanto es importante evaluar éstos registros para detectar posibles operaciones no permitidas por distintos usuarios. | |
Source | VTOL CD Console - Report | Son los eventos de usuarios que acceden a los reportes de transacciones de la aplicación. Es importante registrar éstos eventos e incluso analizar si es correcto que el usuario señalado pueda acceder a dicho módulo. | |
Source | Security | Los eventos provenientes del módulo de seguridad tienen que ver con la actividad de la administración de usuarios: creación, edición, eliminación asignación de roles, etc, sobre los usuario con acceso a la consola de administración web de VTOL. | |
Source | Framework - JBossMod | Los eventos provenientes del módulo del JBOSS tienen que ver con la actividad de inicio de sesión, error de inicio de sesión, cambios de perfil de un usuario, etc. Es importante monitorear éstos registros para evitar accesos no deseados al sistema. | |
Source | Audit | Eventos de la actividad de usuario sobre la pantalla de acceso a los registros de auditoría. | |
logon_name | zzzzzz | Donde zzzz pude ser un acceso de un usuario no deseado al sistema. Se recomienda analizar caracteres inválidos o caracteres usualmente utilizados para ataques como ser SQL inyection, code inyection, JS, etc. Por ejemplo "{_}'"\'\"); | ]*{{_}" |
logon_name | htixsnob (unknown user) | Donde xxxx. Por ejemplo "-1' or '67'='67 (unknown user)" | |
Description | Login Failed | Indica el login fallido de un usuario. Este registro puede ser normal, pero en ciertos casos, como cuando ocurren en cortos período de tiempos, pueden indicar el intento de acceso a la aplicación sin permisos. | |
Description | User 'uuu' created. | Donde 'uuu' es el usuario creado. | |
Description | iiiiiii | Donde 'iiii' es la descripción. | |
Description | Audit info requested. | Evento que indica que un usuario solicitó información sobre la página de auditoría. | |
Description | Error processing the following request URI: uuu | Donde 'uuu' es la URL de la aplicación. | |
Description | Account not enabled | Evento que indica que un usuario intentó iniciar sesión en la consola de administración web y la cuenta no estaba habilitada. |
Nota: Es importante la centralización de los eventos y auditoria para el cumplimiento de la norma PCI S3. |
La presente sección tiene la intención de comunicar al usuario/administrador de la aplicación los lugares donde VTOL puede o almacena información sensible de tarjetas.
A modo de resumen, esto se hace en:
Nota: La aplicación únicamente almacena información sensible en los lugares indicados en éste apartado. |
El sistema registra información de tarjetas en su base de datos. Estos datos se almacenan encriptados utilizando el mecanismo de encriptación descripto en la sección 12.2.1 Descripción técnica de la encriptación de datos
Todos los datos sensibles de las tarjetas que se detallan a continuación son almacenados de forma encriptada utilizando el algoritmo de encriptación AES-256 con clave de encripción administrable automáticamente por el sistema (no requiere intervención del usuario).
Importante: Si un dato es temporal significa que será eliminado automáticamente por VTOL al finalizar la transacción. |
Si no es un dato temporal, el número de la tarjeta enmascarada y la fecha de caducidad, permanecerá en la base de datos hasta que el proceso de depuración automático no lo depure (máximo de 90 días, período de retención definido por el cliente). Para saber cómo configurar el proceso completo, visite el punto "11.3 Configuración para la depuración de datos".
El tiempo de espera y los datos de transacción fallidos se eliminan mediante un script que se ejecuta cada 5 segundos.
Tabla | Campos | Temporal |
CreditDebitOperationRequest | cardNumber | NO |
expirationDate | NO | |
cvc | SI | |
track1 | SI | |
track2 | SI | |
chipTockens | SI | |
FinancialTransaction | expirationDate | NO |
cardNumber | NO | |
ClosedFinancialTransaction | expirationDate | NO |
cardNumber | NO | |
EMVAdviceEntry | chipTockens | SI |
Nota: Es muy importante que no se deba almacenar datos de titulares de tarjetas en sistemas a los que se pueda acceder desde Internet (por ejemplo, el servidor web y el servidor de la base de datos no deben estar en el mismo servidor). Cualquier incumplimiento de uno de los puntos podría invalidar el cumplimiento de PCI S3. |
El archivo de log de la aplicación VTOL no almacena datos sensibles de tarjetas. Lo único que almacena es el número de tarjeta de forma enmascarada según norma PCI (primero 6 y últimos 4 dígitos en texto plano).
En ciertas ocasiones de soporte técnico, es necesario activar el modo DEBUG de la aplicación que sí almacena datos sensibles de la tarjeta como ser PAN, CVC, TRACKS, etc.
Estos datos son guardados de forma encriptada utilizando AES-256 y podrán ser desencriptados únicamente por personal calificado de servicios de atención a del cliente de Napse. Para mayor información acerca del proceso, referirse a 15. Guía de resolución de problemas, especialmente en la sección 15.3 Activación del modo DEBUG.
Nota: En caso de activar el modo DEBUG se recomienda realizar el borrado seguro utilizando las herramientas suministradas junto con la aplicación. Para mayor información referirse a 17.2 Herramienta para el borrado seguro de datos. |
Desde la consola de administración web de VTOL se puede acceder a la generación de reportes de transacciones, sin embargo, estos reportes no visualizan ningún tipo de información sensible de tarjetas más allá de número de PAN que se encuentra enmascarado según normas PCI (primero 6 y últimos 4 dígitos en texto plano), estos reportes se pueden exportar.
VTOL oculta el PAN de forma de forma predeterminada en todas las vistas, sin embargo, un usuario con los siguientes permisos pudiera acceder a información sensible de las tarjetas a través del "reporte de movimiento de tarjetas":
Nota: Para instrucciones de cómo asignar permisos a un usuario, por favor dirigirse al apartado "Seguridad" del documento "VTOL-CORE-Manual de usuario.pdf". |
Teniendo dicho acceso un usuario puede acceder al número completo del PAN de las tarjetas que se listen en el reporte, pero el sistema limitará automáticamente el resultado hasta un máximo de 5 registros e in-habilitará la exportación del reporte a otro formato de archivo (EXCEL, CSV, PDF, etc). Están características están enfocadas en garantizar la seguridad del sistema.
Esta característica está orientada a la búsqueda de transacciones en ocasiones donde existe un reclamo de un cliente o una entidad financiera y no se pueda resolver utilizando los reportes de manera normal.
Importante: Se recomienda fuertemente, y es responsabilidad del cliente, tomar las medidas de seguridad apropiadas para evitar el envío de datos sensibles a través de mensajería de usuario final (por ejemplo: mensaje de texto, mail, etc). En caso de que esto sea necesario deberá cifrar (utilizando algoritmos de encriptación robustos) u ofuscar el contenido o el documento entero antes del envío. |
Nota: Se recomienda que los permisos otorgados al usuario para acceder a información sensible sean otorgados por un lapso de tiempo acotado para garantizar la seguridad del sistema. |
En caso de que se presente un problema en la aplicación VTOL se deberá seguir el procedimiento descrito en éste capítulo.
Para la resolución de incidentes en VTOL, la aplicación genera un archivo de log. En él se van registrando las transacciones que se procesan en el sistema junto con el detalle de las decisiones que tomó el sistema.
Entonces para efectuar cualquier tipo de diagnóstico sobre la aplicación, se recomienda acceder a éste archivo.
Para saber cómo localizar el archivo de log referirse a 13.1 Archivos de log.
Tener en cuenta que la locación del archivo de log está restringida a ciertos usuarios. Si usted no cuenta con un usuario del sistema operativo válido contáctese con el administrar de sistemas.
Nota: Es importante resaltar que el acceso y la recolección de los logs se debe limitar solo cuando exista algún problema en la aplicación y que si fuese necesario acceder a dicha información, solo se utilice la información mínima y necesaria para solución el problema. En funcionamiento normal de la aplicación no se registran datos sensibles. |
A continuación se detalla el procedimiento que se debe seguir en caso de requerir analizar/diagnosticar/soluciones un inconveniente.
A modo de resumen, un operador analiza el archivo de log de VTOL. Si puede diagnosticar el problema, aplica solución.
Si no puede se contacta con atención al cliente de Napse.
Un técnico especializado tratará de diagnosticar el problema y brindar una solución. Si no puede solicitará el envío del archivo de log al SFTP de Napse. Con éste archivo analizará con más detalle y el problema. Si puede solucionarlo, brindará la solución. Si no puede y cree necesario, puede requerir la activación del modo debug (referirse a 15.3 Activación del modo DEBUG) y enviar el log nuevamente. Ya con el archivo de log en DEBUG y la información previamente recolectada procede al diagnóstico del problema y brinda una solución. Si no pudiera solucionar el problema, entonces internamente se elevará un ticket a soporte de producto para su posterior resolución.
Considerar que:
Nota: Es importante destacar que en funcionamiento normal del sistema no es necesario acceder a los archivos de logs y que además estos no generan ningún tipo de información sensible. Cuando si sea necesario accederlos se recomienda que la recolección de información sea la mínima y necesaria para resolver el problema con fin de garantizar la seguridad del sistema y el cumplimiento de las normas PCI S3. |
IMPORTANTE: Inmediatamente después de finalizar el diagnóstico del problema es necesario efectuar el borrado seguro de los archivo de logs de la aplicación utilizando las herramientas de borrado seguro suministradas junto a la entrega de la aplicación VTOL con el fin de garantizar la seguridad del sistema y el cumplimiento de las normas PCI S3. Para mayor información referirse al anexo 17.2 Herramienta para el borrado seguro de datos. |
En el caso de que NO se pueda detectar el problema por medio de la lectura del archivo de logueo de la aplicación, puede ser necesario habilitar el modo "DEBUG" por el cual la aplicación comenzará a registrar líneas adicionales de logueo de manera encriptada que servirán para brindar más información a la hora de analizar el inconveniente y cuando sea necesario resolver un problema específico.
Este modo debe activarse solo en caso de que Servicios al Cliente de Napse así lo indique, por ejemplo:
Nota: Es importante remarcar que en este modo se cifra todo el mensaje, no solo los datos de información sensible. |
El procedimiento para llevar a cabo tal acción es el siguiente:
3. Una vez realizado el punto 1, la aplicación comenzará a loguear de manera encriptada para las próximas 8 transacciones o durante 20 minutos, lo que se cumpla primero. El archivo que registrará esta información será "server_DEBUG.log".
4. Se debe recolectar el archivo de log que contiene todos los datos enviados por el POS hacia VTOL, de VTOL al CA, del CA a VTOL y de VTOL al POS. Entre ellos podemos encontrar los siguientes:
Por defecto, el archivo de log en Debug será creado en el directorio:
Jboss/rsvtol/log
Para mayor información de donde se encuentra el archivo de log ver 13.1 Archivos de log.
El log debe ser almacenado en el lugar específico mencionado y debe tener acceso limitado, que será otorgado por el cliente.
5. Luego el cliente deberá contactarse con el Especialista de Napse, que lo guiará para proceder al envío del log de manera segura al SFTP, provisto por Napse.
6. Una vez finalizado el envío del log al SFTP de Napse, se deberá dejar la aplicación sin loguear información sensible. Para ello, se deberá deshabilitar el parámetro (colocar en false) 'Habilitación del logueo de información sensible' de forma inversa al punto 1 (si en el análisis se alcanzaron a ejecutar 8 transacciones o los 20 minutos, la deshabilitación será realizada automáticamente y este paso podrá omitirse). El log debug reúne sólo una cantidad limitada de datos necesarios para resolver un problema específico.
7. Por último es muy importante borrar los logs de modo seguro (ver sección del manual 17.2 Herramienta para el borrado seguro de datos.).
Nota: Es importante remarcar que si el logueo no es el indicado en el manual la aplicación incumplirá con PCI S3. |
A modo de resumen se da una lista de todas las consideraciones a tener en cuenta, en lo que refiere a la configuración de VTOL, para que el producto este de acuerdo a las normas de seguridad PCI:
Para el cumplimiento de las normas PCI se recomienda el cumplimiento de las siguientes políticas de usuario y contraseñas en el sistema tanto para la aplicación VTOL como para el resto de los sistemas intervinientes, como ser base de datos, sistema operativo, etc.
Configuración de usuarios:
Nota: Si la configuración difiere de lo especificado anteriormente, se incumplirá con PCI S3. |
Como complemento de la aplicación VTOL, se utilizará una herramienta que se encarga de realizar el borrado seguro de datos que se hayan almacenado en el sistema de archivos del sistema operativo.
Dependiendo del sistema operativo en el que esté instalado el sistema o se esté trabajando utilizar:
La herramienta se utiliza con el fin de complementar el sistema VTOL en la eliminación de datos sensibles que puedan surgir de su utilización, como CVC, PIN, PAN, etc.
La utilización de ésta herramienta sirve para cumplir con las normas PCI S3 en cuanto al borrado de datos sensibles.
Nota: Consulte los documentos "Manual Borrado Seguro" que se informaron anteriormente para realizar el proceso de borrado seguro. Además, estos documentos contienen instrucciones para eliminar de manera segura los datos del titular de la tarjeta cuando ya no se requieren por fines legales, reglamentarios o comerciales. Si la herramienta de borrado seguro no fuera utilizada en forma conjunta con VTOL, se puede invalidar el cumplimiento de PCI S3. |
La aplicación VTOL posee unos archivos de texto plano denominados "ChangeLog.txt". Por medio de estos archivos se puede acceder mediante cualquier editor de texto y conocer:
El "ChangeLog" de VTOL CORE es el siguiente:
Jboss/rsvtol/dist/config/ChangeLog.txt
El "ChangeLog" del Módulo Crédito Débito es el siguiente:
Jboss/rsvtol/dist/config/modules/cd-ar/ChangeLog.txt
Ejemplo de un "ChangeLog":
---------------------------------------------------------------------------
VERSION: 3.8.X
---------------------------------------------------------------------------
* MEJORA o CAMBIO 1
* MEJORA o CAMBIO 2
---------------------------------------------------------------------------
VERSION: 3.8.1.X
---------------------------------------------------------------------------
* MEJORA o CAMBIO 3
* MEJORA o CAMBIO 4
Como puede observarse, se reflejan en el documento los cambios entre versión y versión y la versión actual de la aplicación se encuentra al final del archivo.
RS-VTOL permite la instalación en clúster brindando un entorno de alta disponibilidad del servicio.
Para ello a continuación se muestra un esquema que clarifica cual es la distribución de los componentes y su relación para un mejor entendimiento y configuración.
Esquema instalación en cluster
Como se observa, si se decide realizar una instalación en alta disponibilidad, donde haya 2 o más RS-VTOL instalados, también será requerida la instalación de balanceador de carga que se encargue de distribuir uniformemente las transacciones y sepa detectar cuando un miembro o nodo del clúster esté fuera de servicio.
La solución en conjunto garantiza la disponibilidad del servicio ante fallas o mantenimiento de los servidores.
Para que RS-VTOL pueda funcionar en clúster es importante poder configurar las IP de las placas de red del server para que RS-VTOL las pueda utilizar correctamente.
Principalmente son dos, una es la IP de la placa de red denominada "Clúster Interface". Por medio de esta placa de red el clúster de RS-VTOL se comunicará para lograr la alta disponibilidad. Es importante que este enlace sea dedicado y en lo posible, una conexión directa entre servers para lograr un enlace sumamente seguro, ya que de perder conexión se pueden obtener resultados no esperados.
Luego es importante configurar cual será la placa de red que se destinará para recibir el tráfico de red perteneciente a la actividad realizada por la consola de administración que RS-VTOL posee. Esta placa de red "WEB Interface" debe estar conectada a la red empresarial ya que de lo contrario su acceso desde diferentes locaciones será limitado o incluso podría no funcionar. Por lo general esta placa de red será la misma por la cual el RS-VTOL recibe el tráfico de red relacionado a las transacciones de negocio.
Si bien se puede acceder a la consola de administración WEB por medio de cualquier de los VTOL, internamente solo se usará los servicios de uno de ellos, por lo cual el mismo requiere estar activo. Para saber el servicio de que RS-VTOL se está utilizando, mirar la variable "JNDI Remoto".
VTOL Server por defecto está configurado para iniciar el Cluster utilizando el protocolo UDP. Pero soporta también la utilización del protocolo TCP. A continuación, se detalla cómo configurar el uso de cada uno de ellos.
Este es el protocolo utilizado por defecto. Permite que los nodos se incorporen dinámicamente al cluster a medida que van iniciando, sin necesidad de que se conozcan previamente.
La configuración de JGroup se encuentra en el archivo /dist/config/udp.xml. Además, es necesario tener configuradas las siguientes propiedades de sistema:
Propiedad | Descripción |
---|---|
jgroups.udp.mcast_addr | IP del tipo D utilizada para multicast UDP. Por defecto la IP configurada en el archivo de inicio de la aplicación es: 228.1.2.3 |
jgroups.udp.mcast_port | Puerto de multicast. Por defecto el puerto configurado en el archivo de inicio de la aplicación es: 45500 |
Ejemplo de configuración extraído del archivo de inicio de VTOL start.bat:
set JAVA_OPTS= %JAVA_OPTS% -Djgroups.udp.mcast_port=45500 set JAVA_OPTS= %JAVA_OPTS% -Djgroups.udp.mcast_addr=228.1.2.3 |
Importante: Esta configuración se debe realizar en cada nodo. Se deben eliminar los archivos temporales y realizar nuevamente las pruebas de failover. |
En entornos donde los paquetes UDP se pierden suele ser necesario configurar la aplicación para que inicie el Cluster utilizando el protocolo TCP. El cual se requiere que se conozcan las IP de cada uno de los nodos y que se configuren de manera estática antes de iniciar el Cluster.
Para configurar el uso del protocolo TCP se deben seguir los siguientes pasos:
<!-- ClusterManager object definition --> <bean id="ClusterManager" class="com.synthesis.vtol.core.cluster.ClusterManager" init-method="initialize" scope="singleton" > <property name="clusterAbstractFactory"> <ref bean="VTOLClusterFactory"/> </property> <property name="mbeanNameResolver"> <ref bean="VtolCoreMBeanNameResolver"/> </property> <property name="jgroupFileName" value="tcp.xml"/> </bean> |
IP1[puerto1],IP2[puerto2],…,IPn[puerton]
.<TCPPING async_discovery="true" initial_hosts="${jgroups.tcpping.initial_hosts:cluster.nodes}" port_range="2"/> |
Ejemplo:
Si el Cluster tuviera 2 nodos con los siguientes datos:
Nodo | Dirección IP | Puerto JGroup |
---|---|---|
Node01 | 10.14.4.1 | 7800 |
Node02 | 10.14.4.2 | 7800 |
La configuración en el archivo tcp.xml quedaría de la siguiente manera:
<TCPPING async_discovery="true"
initial_hosts="${jgroups.tcpping.initial_hosts:10.14.4.1[7800],10.14.4.2[7800]}"
port_range="2"/>
Aclaración:
Propiedad | Descripción |
---|---|
jgroups.bind_addr | IP sobre la cual se habilita la conexión de Cluster en el nodo. |
jgroups.bind_port | Puerto sobre la cual se habilita la conexión de Cluster en el nodo. |
y agregar las propiedades:
set JAVA_OPTS= %JAVA_OPTS% -Djgroups.bind_port=7800 set JAVA_OPTS= %JAVA_OPTS% -Djgroups.bind_addr=10.4.14.1 |
Importante: Esta configuración se debe realizar en cada nodo. Se deben eliminar los archivos temporales y realizar nuevamente las pruebas de failover. |
Al iniciar la aplicación se puede verificar en log la existencia de mayor información sobre el Cluster y cuál nodo inicia como Maestro. Al iniciar otro nodo, en el log se debe visualizar que se convierte en un miembro del Cluster, iniciando como esclavo.
También se puede verificar el estado del Cluster a través de la consola Web, más precisamente en la página de Monitoreo General del Sistema, donde se puede observar la siguiente información:
Para desactivar la funcionalidad de cluster, se debe configurar un solo nodo por TCP, es decir la ip local + puerto local.
La recomendación es que la IP
definida para clustering coincida con la IP de Bindeo
que se define en el parámetro -b, al iniciar la aplicación. Si este parámetro tiene una IP
explicita, la configuración de clustering debería hacerse sobre la misma IP
.
Por ejemplo si en el archivo de inicio de la aplicación se encuentra la siguiente configuración:
cd C:\wildfly-18.0.1.Final/bin start standalone.bat -b 10.4.3.1 -Djboss.server.base.dir=C:\wildfly-18.0.1.Final/rsvtol -Dorg.jboss.boot.log.file=${jboss.server.log.dir}/boot.log |
Entonces la configuración de la IP
a utilizar para clustering debe ser 10.4.3.1
En los casos donde el usuario y/o la contraseña utilizados por la aplicación VTOL cambien, se deberá seguir el siguiente procedimiento:
La aplicación VTOL funciona dentro del contenedor de aplicaciones JBOSS. Para que funcione correctamente, el JBOSS debe ser configurado adecuadamente.
Por ejemplo y, a modo de resumen, VTOL utiliza los siguientes servicios del JBOSS:
En este apartado se describen los pasos a seguir para configurar correctamente el JBOSS y todos sus componentes.
Importante: Si el JBOSS ya se encuentra configurado, por tratarse de una re-instalación, este anexo puede ser salteado o ser utilizado como una guía de verificación. |
Nota: Por cuestiones de seguridad y cumplimiento de las normas PCI se recomienda que el setup del servidor de aplicaciones esté realizado según las normas de alta seguridad aceptadas en la industria del Center for Internet security (CIS), la National Security Agency (NSA), la Defense Information Systems Agency (DISA) y el National Institute of Standards and Technology (NIST).
|
Para el funcionamiento de VTOL, se requiere realizar una copia de la carpeta 'standalone' y renombrarla.
A partir de aquí, dicha carpeta copiada y renombrada se denominará en este documento 'rsvtol'.
Nota: En caso de existir una instalación previa de VTOL 3.8 sobre JBOSS 7, se puede reutilizar la configuración del server existente. |
Los datasources son las conexiones a la base de datos que utilizará VTOL.
Se debe modificar el archivo standalone.xml ubicado en la carpeta generada en el apartado "17.6.1 Copia de la configuración del server Standalone":
Jboss/rsvtol/configuration/standalone.xml
Se deben ingresar las siguientes líneas de datasource en el archivo standalone.xml dentro del <subsystem xmlns="urn:jboss:domain:datasources:4.0">:
<datasource jndi-name="java:/jdbc/RSConsole" pool-name="RSConsole" enabled="true" use-java-context="true" use-ccm="true"> |
Donde:
jdbc:jtds:sqlserver://IPServer/NombreBBDD;selectMethod=Cursor
jdbc:oracle:thin:@ServerId
Drivers
También, en el archivo standalone.xml y en el <subsystem xmlns="urn:jboss:domain:datasources:4.0"> sección <drivers>, se debe ingresar el driver correspondiente al motor de base de datos a utilizar:
MS SQL Server:
<driver name="mssql" module="synthesis.dependencies.mssql"> |
Oracle:
<driver name="oracle" module="synthesis.dependencies.oracle"> |
Se debe proceder a instalar los driver en la siguiente ruta:
Jboss/modules/system/layers/base/synthesis/dependencies/motorBBDD/main
Donde:
Napse proveerá los archivos respectivos a cada motor de base de datos.
Es obligatorio la definición de los nombres JNDI especificados.
Security Domain
Por norma de seguridad se recomienda no definir el nombre de usuario y contraseña de la base de datos en el datasource ya que quedarían en texto plano. En su lugar se utiliza el dominio de seguridad EncryptDBPassword, el cual se definirá dentro del archivo standalone.xml del server creado para RS-VTOL de manera encriptada.
Se debe agregar la siguiente application-policy dentro de la sección <subsystem xmlns="urn:jboss:domain:security:1.2">:
<security-domain name="EncryptDBPassword" cache-type="default"> |
Donde:
Para obtener el valor encriptado de la contraseña se debe correr el siguiente comando desde el home del JBoss 7:
set JAVA_HOME=C:\Java\jdk1.8.0_25\bin |
Donde contraseña es la clave que se desea encriptar.
El resultado obtenido debe ser configurado en el lugar jdbcpassword de la EncryptDBPassword.
Nota: Es recomendable por cuestiones de seguridad y cumplimiento con las normas PCI que se realice una VPN entre el servidor VTOL y la base de datos para que la contraseña se transmita por un canal seguro y evitar cualquier tipo de vulnerabilidad externa. |
Para permitir el login de la aplicación utilizando su propio modelo de seguridad se debe actualizar el archivo del server creado:
Jboss/rsvtol/configuration/standalone.xml
La actualización consiste en agregar el siguiente security-domain de nombre rs-console dentro del subsistema <subsystem xmlns="urn:jboss:domain:security:1.2">:
<security-domain name="rs-console" cache-type="default"> |
Cookies de Seguridad HTTPOnly y Secure
Se debe ingresar la siguiente línea en el archivo standalone.xml dentro del <subsystem xmlns="urn:jboss:domain:undertow:3.1">:
<subsystem xmlns="urn:jboss:domain:undertow:3.1"> |
Ocultamiento de Información del Contenedor Web
Se deben quitar las siguientes líneas del archivo standalone.xml dentro del <subsystem xmlns="urn:jboss:domain:undertow:3.1">:
<filter-ref name="server-header"/> |
Nota: El servidor de aplicaciones Jboss posee sitios web por defecto. Se recomienda por seguridad y cumplimiento de las normas PCI que los accesos web deben ser asegurados o eliminados. |
Previamente se debe generar el keystore "synthesis.keystore" (ver apartado 7.4.3 Instalación de certificado).
Configurar el Almacén de llaves para SSL
Posteriormente se procede a editar el archivo standalone.xml haciendo que el tag keystore del security-realm "ApplicationRealm" debe quedar de la siguiente manera:
<ssl> |
Donde:
Tras haber configurado el servidor de aplicaciones e instalado VTOL, se debe crear una nueva carpeta dentro del directorio 'rsvtol', nombrándola como "bin", agregar los archivos de inicio y de detención de VTOL para el sistema operativo correspondiente.
Windows
start.bat
set JAVA_OPTS= %JAVA_OPTS% -Dvtol.startup.conf.path=C:Jboss/rsvtol/dist/config |
Linux
start.sh
JAVA_OPTS="-Xms512m -Xmx1512m -XX:MaxPermSize=512m -Dvtol.startup.conf.path=C:Jboss/rsvtol/dist/config -Dframework.factory.impl=com.synthesis.vtol.core.module.ModuleFrameworkFactory -Dreport.vtol.module.cd.dir=C:Jbossrsvtol/dist/config/modules/cd-ar/reports -Djava.net.preferIPv4Stack=true -Djgroups.udp.mcast_port=45500 -Djgroups.udp.mcast_addr=228.1.2.3" |
Donde:
Windows
stop.bat
cd C:Jboss/bin |
Linux
stop.sh
cd C:Jboss/bin |
Donde:
Tras haber configurado el servidor de aplicaciones e instalado VTOL, se procede a modificar el archivo log4j.xml ubicado en la ruta:
C:\Jboss\rsvtol\deployments\rs-vtol.ear\META-INF
Se debe definir un FileAppender con una clase propia, que responde a lo establecido por la norma PCI.
File Appender
La siguiente configuración debe realizarse para el appender "File". En la misma se define una clase propia para el Rolling, que genera registros de auditoria cada vez que se cambia el archivo de log, el mismo cicla por defecto cada 20MB prevaleciendo siempre como server.log el archivo más actualizado.
Como puede verse, para registrar la auditoria en base de datos se hace referencia al nombre JNDI del datasource de la aplicación.
<appender name="FILE" class="com.synthesis.fwk.logging.log4j.RollingFileAppender">
</appender> |
Por otro lado, se debe modificar el Root, comentando la referencia al appender CONSOLE y agregando la priority INFO, como se puede ver en la siguiente figura
Nota: Deshabilitar el log o cambiar la configuración señalada en esta sección llevará al incumplimiento de las normas PCI S3. |
3. Seleccionar "Configure". Aparecerá la siguiente pantalla:
4. Seleccionar "Turn off system protection"
5. Click Apply, y click OK para cerrar la ventana
6. Click OK para cerrar la ventana System Properties
7. Reiniciar la computadora
Windows Server 2012 no incluye la característica de restauración del sistema.
Para realizar esta operación, el disco duro debe formatearse mediante NTFS.
1. En la barra de tareas de Windows, haga clic en el "Orb" de Windows y en el cuadro de búsqueda en "cmd"
2. Haga clic con el botón derecho en cmd.exe y seleccione Ejecutar como administrador
3. Para cifrar el archivo de página, escriba el comando siguiente: "fsutil behavior set EncryptPagingFile 1"
4. Para verificar la configuración, escriba el siguiente comando: " fsutilbehaviorquery EncryptPagingFile"
5. Si la encriptación está habilitada, EncryptPagingFile = 1 debe aparecer
6. En caso de que necesite deshabilitar el cifrado de PageFile, escriba el siguiente comando: "fsutil behavior set EncryptPagingFile 0"
7, Para verificar la configuración, escriba el siguiente comando: "fsutil behavior query EncryptPagingFile"
8. Si el cifrado está deshabilitado, debe aparecer EncryptPagingFile = 0
Esta sección, método o tarea contiene pasos que indican cómo modificar el registro. Sin embargo, pueden producirse problemas graves si modifica el registro incorrectamente. Por lo tanto, asegúrese de que sigue estos pasos cuidadosamente. Para mayor protección, haga una copia de seguridad del registro antes de modificarlo. A continuación, puede restaurar el registro si se produce un problema.
Para determinar si el archivo de paginación del sistema está cifrado o no, siga estos pasos:
1. Haga clic en Inicio, escriba regedit en el cuadro Iniciar búsqueda y, a continuación, presione ENTRAR. Si se le pide una contraseña de administrador o confirmación, escriba la contraseña o haga clic en Continuar
2. Busque y haga clic en la siguiente subclave del Registro: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem
Busque el valor de la entrada de registro NtfsEncryptPagingFile. Si este valor se establece en 1, el archivo de paginación es cifrado.
Windows tiene la capacidad de borrar el PageFile.sys al cerrar el sistema. Esto eliminará todos los datos temporales del PageFile.sys (los datos temporales pueden incluir contraseñas del sistema y de la aplicación, datos del titular de la tarjeta (PAN / Track), etc.).
Activar esta función puede aumentar el tiempo de apagado de Windows.
1. Haga clic en el Windows "Orb" y en el cuadro de búsqueda en "regedit"
2. Haga clic derecho en regedit.exe y seleccione Ejecutar como administrador
3. Navegue hasta HKLM \ System \ CurrentControlSet \ Control \ Session Manager \ Memory Management
4. Cambie el valor de 0 a 1
5. Haga clic en Aceptar y cierre Regedit
6. Si el valor no existe, agregue lo siguiente:
Nombre del valor: ClearPageFileAtShutdown
Tipo de valor: REG_DWORD
Valor: 1
Esta sección, método o tarea contiene pasos que indican cómo modificar el registro. Sin embargo, pueden producirse problemas graves si modifica el registro incorrectamente. Por lo tanto, asegúrese de que sigue estos pasos cuidadosamente. Para mayor protección, haga una copia de seguridad del registro antes de modificarlo. A continuación, puede restaurar el registro si se produce un problema.
Estos pasos deben ser ejecutados:
1. Inicie el Editor del Registro (Regedt32.exe).
2. Cambie el valor de datos del valor ClearPageFileAtShutdown en la siguiente clave del registro a un valor de 1: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management
Si el valor no existe, agregue el siguiente valor:
Nombre del valor: ClearPageFileAtShutdown
Tipo de valor: REG_DWORD
Valor: 1
Este cambio no tendrá efecto hasta que reinicie el equipo.
3. En Rendimiento, seleccione Configuración y haga clic en la pestaña Opciones avanzadas. La siguiente pantalla aparecerá:
4. Seleccione Cambiar en Memoria virtual. En la siguiente pantalla aparecerá:
5. Desactive la opción Automatically manage page file size for all drives
6. Seleccione Custom Size
7. Introduzca lo siguiente para las selecciones de tamaño:
8. Click OK tres veces. Se le pedirá que reinicie su computadora.
4. Seleccione Configuración de informes de problemas
5. Seleccione Nunca buscar soluciones
En Windows Server 2012 R2, puede deshabilitar Windows Error Reporting en cualquiera de las siguientes maneras:
También puede habilitar o deshabilitar Windows Error Reporting configurando su comportamiento mediante la directiva de grupo. Utilice el Editor de directiva de grupo local cuando edite Directiva de grupo local o utilice la consola de Administración de directivas de grupo cuando edite la directiva de grupo basada en dominio. Puede encontrar estas opciones de directiva en Plantillas administrativas / Componentes de Windows / Informes de errores de Windows.
Para deshabilitar Windows Error Reporting utilizando tareas de configuración inicial:
Para deshabilitar Windows Error Reporting mediante Server Manager:
2. En la ficha Avanzadas > Inicio y recuperación > Botón Configuración.
3. Fallo del sistema > Escribir información de depuración > desplegable seleccione Ninguno.
4. Click en OK
El procedimiento para deshabilitar los volcados de memoria en Windows Server 2012 R2 es el mismo que el de Windows 7.
Para Linux es necesario instalar el paquete de auditoría (2.6 Kernel Audit System)
El paquete de auditoría contiene las utilidades de espacio de usuario para almacenar y buscar los registros de auditoría generados por el subsistema de auditoría en el kernel Linux 2.6. CentOS incluye el paquete rpm de auditoría. Utilice el comando yum o up2date para instalar el paquete
# yum install audit
o
# up2date install audit
Inicio automático del servicio auditd en el arranque
# ntsysv
o
# chkconfig auditd on
Ahora inicie el servicio:
# /etc/init.d/auditd start
Los directorios de Linux que se supervisarán:
/usr/bin
/usr/sbin
/bin
/etc
/boot
/Jboss/rsvtol
/Jboss/rsvtol/log
El comando para supervisar los directorios:
auditctl -w /directory/to/be/monitored/ -k %keyword-for-search% -p rawx r=read; a=access; w=write; x=execute
-k is used to easily search through logs
Ejemplo: auditctl /root/AuditDir/ -k AuditDir -p rw
Para buscar a través del uso de auditoría:
ausearch
Compruebe su uso. Ejemplos:
Filter by user:ausearch -ui %user%
Filter by keyword::ausearch -k AuditDir
Los registros de auditoría de Linux se almacenan en:
/var/log/audit/audit.log
Para sistemas basados en Windows:
1. Haga clic derecho en las unidades (C: \ etc)
2. Seleccione Propiedades
3. Seleccione la pestaña Seguridad
4. Elija Avanzado
5. Seleccione Ficha de auditoría y haga clic en Editar
6. Marque 'Reemplazar todas las entradas de auditoría heredables existentes' y haga clic en Añadir
7. Como el usuario elige a todos (o lo que es necesario)
8. Eliminar todo tipo de auditoria
9. Aplicar a la carpeta y subcarpetas
Directorio de Windows que se va a auditar:
C:\Windows\ C:\Program Files\
C:\Jboss\rsvtol
C:\Jboss\rsvtol\log
A continuación, en cada carpeta que desea auditar:
1. Haga clic derecho en él
2. Seleccione Propiedades
3. Seleccione la pestaña Seguridad
4. Elija Avanzado
5. Seleccione la pestaña de auditoría, haga clic en Editar, desmarque las dos opciones en la parte inferior y haga clic en Agregar
6. Elija Usuario (todos)
7. Elija lo que desea auditar (Eliminar, Crear, etc)
8. Aplicar a la carpeta y subcarpetas.
9. Repita para todas las carpetas según sea necesario.
Luego
Inicio > Panel de control > Sistema > Derechos administrativos > Política de seguridad local > Configuración avanzada de la directiva de auditoría > Acceso a objetos > Sistema de archivos de auditoría > Seleccione Suceso o Fallo o ambos
Los registros de auditoría de Windows se almacenan en:
C:\Windows\System32\winevt\Logs\
El objeto Audit de SQL Server recopila una sola instancia de acciones de servidor o de nivel de base de datos y grupos de acciones para supervisar. La auditoría se realiza en el nivel de instancia de SQL Server.
Puede utilizar SQL Server Management Studio o Transact-SQL para definir una auditoría. Una vez creada y habilitada la auditoría, el destino recibirá las entradas.
El proceso general para crear y usar una auditoría es el siguiente:
1. Cree una auditoría y defina el destino.
2. Cree una especificación de auditoría de servidor o especificación de auditoría de base de datos que se correlaciona con la auditoría. Habilitar la especificación de auditoría.
3. Habilitar la auditoría.
4. Lea los eventos de auditoría utilizando el Visor de sucesos de Windows, el Visor de archivos de registro o la función fn_get_audit_file.
Cada característica y comando para SQL Server Audit tiene requisitos de permisos individuales.
Para crear, modificar o eliminar una auditoría de servidor o una especificación de auditoría de servidor, los mandatos de servidor requieren el permiso ALTER ANY SERVER AUDIT o CONTROL SERVER.
Para crear, modificar o eliminar una especificación de auditoría de base de datos, los principios de base de datos requieren el permiso ALTER ANY DATABASE AUDIT o el permiso ALTER o CONTROL en la base de datos. Además, los principales deben tener permiso para conectarse a la base de datos, o ALTER NINGÚN permiso de SERVER AUDIT o CONTROL SERVER.
El permiso VIEW ANY DEFINITION proporciona acceso para ver las vistas de auditoría de nivel de servidor y VIEW DEFINITION proporciona acceso para ver las vistas de auditoría de nivel de base de datos. La denegación de estos permisos, reemplaza la capacidad de ver las vistas de catálogo, incluso si el principal tiene los permisos ALTER ANY SERVER AUDIT o ALTER ANY DATABASE AUDIT.
Asegurarse que el usuario de la Base de datos de VTOL, tenga el siguiente permiso, para el motor SQL SERVER:
Este permiso es requerido para la correcta ejecución del proceso de depuración de transacciones.
Para crear una auditoría de servidor
1. En el Explorador de objetos, expanda la carpeta Seguridad.
2. Haga clic con el botón derecho en la carpeta Auditorías y seleccione Nueva Auditoría...
3. Cuando haya terminado de seleccionar las opciones, haga clic en Aceptar.
Para crear una especificación de auditoría a nivel de base de datos
1. En el Explorador de objetos, expanda la base de datos rsvtol para crear una especificación de auditoría.
2. Expanda la carpeta Seguridad.
3. Haga clic con el botón secundario en la carpeta Especificaciones de auditoría de base de datos y seleccione Nueva especificación de auditoría de base de datos....
Las siguientes opciones están disponibles en el cuadro de diálogo Crear especificación de auditoría de base de datos.
Name El nombre de la especificación de auditoría de la base de datos. Esto se genera automáticamente cuando se crea una nueva especificación de auditoría de servidor pero se puede editar.
Audit El nombre de una auditoría de base de datos existente. Escriba el nombre de la auditoría o selecciónelo en la lista.
Audit Action Type Especifica los grupos de acciones de auditoría a nivel de base de datos y las acciones de auditoría para capturar.
Object Schema Muestra el esquema del nombre de objeto especificado.
Object Name El nombre del objeto a auditar. Esto sólo está disponible para las acciones de auditoría; no se aplica a los grupos de auditoría.
Ellipsis (…) Abre el cuadro de diálogo Seleccionar objetos para buscar y seleccionar un objeto disponible, en función del tipo de acción de auditoría especificado.
Principal Name La cuenta para filtrar la auditoría para el objeto que se está auditando.
Ellipsis (…) Abre el cuadro de diálogo Seleccionar objetos para buscar y seleccionar un objeto disponible, basado en el nombre de objeto especificado.
Cuando haya terminado de seleccionar la opción, haga clic en Aceptar.
Nota: Para obtener más información, visite la página web oficial de SQL Server Audit: https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-database-engine |
17.7.3.2.1 Activar o desactivar la pista de auditoría estándar
Nota: Para obtener más información, visite la web oficial de Oracle Audit: https://docs.oracle.com/cd/E11882_01/server.112/e10575/tdpsg_auditing.htm#TDPSG50522 |
Formulario de Clave Custodio
<<< Empresa Cliente >>>
Como empleado de <<< Empresa Cliente >>> con responsabilidades sobre la seguridad criptográfica de datos confidenciales, con autorización para acceder a las claves de cifrado de VTOL Server, se requiere que usted firme este documento para reconocer dichas responsabilidades.
El firmante de este documento tendrá acceso a los dispositivos de administración de claves, software y/o equipo, y por la presente acepta que:
1. ha leído y entendido las políticas y procedimientos asociados con la administración de claves y acuerda cumplir con ellos de la mejor manera posible,
2. ha tenido la oportunidad de formular preguntas sobre esta política y se han respondido sus preguntas,
3. se compromete a no divulgar a ninguna parte no autorizada las prácticas de la gestión de claves o cualquier sistema de seguridad relacionado, contraseñas, procesos u otros secretos asociados con los sistemas de la empresa,
4. acuerda informar sin demora a la gerencia de cualquier actividad sospechosa, incluyendo a un compromiso o robo del sistema o clave.
Estoy de acuerdo con lo anterior en su totalidad y entiendo mis responsabilidades como se indicó anteriormente.
Nombre: ____________________________________________________
Firma: ____________________________________________________
Fecha: ____________________________________________________
Testigo
Nombre: ____________________________________________________
Firma: ____________________________________________________
Diagrama del proceso de Autorización de Datos (Punto de Venta) de alto nivel
Diagrama del proceso de Autorización de Datos (Punto de Venta) de bajo nivel
A continuación, se detalla el flujo con cada una de las actividades que realizan los diferentes actores en el proceso de Autorización de datos:
En ambos casos del punto 8. se finaliza el proceso en el POS.
Diagrama de E-commerce de Alto Nivel
Diagrama de proceso Autorización de datos (E-commerce) de Bajo Nivel
A continuación, se detalla el flujo con cada una de las actividades que realizan los diferentes actores en el proceso de Autorización de datos:
Se reconoce el tipo de tarjeta (VISA, MasterCard, Amex, etc.)
Valida si se permite la opción de pago (combinación de pago, plan, moneda, tarjeta)
Se obtiene el centro de autorización que se encargará de autorizar la transacción (Visa, Posnet, etc.)
Valida si el estado del canal es correcto.
La siguiente configuración permite cambiar la carpeta donde se registran los logs de VTOL.
La manera más transparente de realizar el cambio de la carpeta de logs es cambiar las siguientes variables de sistema para la aplicación:
Configuración: En el archivo de inicio VTOLAdmin-Start.cmd se debe agregar la configuración de la variable de la siguiente manera:
set JAVA_OPTS= %JAVA_OPTS% -Djboss.server.log.dir=[new_log_path]
Configuración: En el archivo de inicio VTOLEngine-Start.cmd se debe agregar la configuración de la variable de la siguiente manera:
set JAVA_OPTS= %JAVA_OPTS% -Dlog4j.logPath=[new_log_path]
Palabra | Significado |
AES-256 | Algoritmo de clave simétrica de 256 bits. Estándar para el cifrado de datos sensibles. |
Clave o llave | Los valores secretos usados como "llave" para una encriptación se denominan "clave" |
Contraseña | Las "contraseñas" sirven para autenticar usuarios |
DMZ | Una zona desmilitarizada (DMZ) o red perimetral es una red local que se ubica entre la red interna de una organización y una red externa, generalmente Internet |
OWASP | Acrónimo de Open Web Application Security Project, en inglés 'Proyecto de seguridad de aplicaciones web abiertas' |
PA-DSS | Payment Application – Data Security Standard, significa aplicación de pago de seguridad de datos. |
PCI S3 | Payment Card Industry Data Security Standard, significa Estándar de Seguridad de Datos para la Industria de Tarjeta. |
SFTP | SSH File Transfer Protocol, protocolo de red utilizado para la transferencia segura de archivos |
VPN | Red Privada Virtual |
WPA | Wi-Fi Protected Access - Acceso Protegido Wi-Fi |