Seguridad y protección de datos

Traducido automáticamente de Deepl

La seguridad es un tema importante y fundamental para una base de datos o un sistema de soluciones empresariales. Este artículo propone una visión general de cómo 4D protege sus datos. De hecho, la seguridad tiene que ver con la protección de los datos. Y la protección de datos es un área enorme. Los datos deben ser protegidos contra el acceso no deseado, pero también contra la pérdida.Este es un hecho importante, ya que la mayoría de los usuarios sólo piensan en la protección de los usuarios no autorizados, y no en la protección de eventos como un fallo de alimentación, un disco duro dañado, modificaciones accidentales de datos, etc.

La seguridad y la protección de los datos es un área muy amplia: empieza por la autenticación del usuario, pasa por el acceso externo (como web o SQL), la ejecución de código no deseado (inyección SQL, ataques de inspección de scripts), luego las actualizaciones de seguridad, las copias de seguridad y mucho más.

4D Server

4D Server es un sistema de desarrollo Cliente/Servidor integrado, optimizado para construir aplicaciones de negocio robustas con un sistema de base de datos integrado. Aunque 4D puede enviar datos (con estándares como HTTP, SOAP, ODBC u OCI) o puede ser accedido desde el exterior (con HTTP, SOAP, ODBC/SQL), el uso principal se basa en el lenguaje de desarrollo interno «4D», utilizando un protocolo de red interno y propietario para comunicarse entre el cliente de negocio y el servidor.

La comunicación de red soporta la encriptación TLS 1.2, ya sea utilizando una clave predefinida (sin necesidad de un certificado SSL) o alternativamente un archivo de clave proporcionado por el cliente.

La estrecha relación entre el lenguaje de desarrollo y la comunicación de red permite un concepto de protección de alto nivel, evitando los típicos escenarios de ataque como la inyección SQL o el desbordamiento del búfer.

El lenguaje 4D es un lenguaje potente y maduro, perfectamente diseñado para construir sistemas de aplicaciones empresariales. Consta de más de 1500 comandos, que cubren operaciones de bases de datos (ordenar por, consultar, crear, transacciones, etc.), impresión, comunicación con otros dispositivos u ordenadores, gestión de documentos, comandos de ventanas o interfaz de usuario y mucho más. Consulte el manual del lenguaje 4 D para más detalles.

El lenguaje en sí está tokenizado, incluso en modo interpretado (desarrollo o prototipo), nunca se ejecuta como evaluación de texto. En el modo de producción el lenguaje se compila, con protección automática de comprobación de rango para ataques de desbordamiento de búfer.

Servidor web de 4D

4D cuenta con su propio servidor HTTP integrado, un potente servidor multihilo para contenido estático y dinámico. La estrecha integración tiene un impacto drástico en el aumento de la seguridad.

Además de mejorar la seguridad del código (ver más abajo), este concepto elimina el típico problema de las actualizaciones olvidadas. Como todo está integrado, sólo hay un software que actualizar (ver «Sección de actualización del software» para más detalles). Las soluciones normales requieren una enorme cantidad de paquetes de software para actualizar: desde PHP, OpenSSL, Apache, NodeJS y así sucesivamente… Todo necesita actualizaciones regulares y es común que algunas partes permanezcan sin parchear durante mucho tiempo, especialmente si se utiliza como solución departamental, sin un equipo de TI especializado.

Las solicitudes web activan el código 4D, que responde a la solicitud a nivel de la aplicación de negocio, no sólo a nivel de la base de datos. La estrecha integración permite controlar cada solicitud, utilizando la autorización incorporada o implementaciones personalizadas, por supuesto encriptadas por TLS.

El servidor HTTP incorporado también permite un control preciso de las justificaciones, por ejemplo para un servidor REST.

Servidor SOAP/Servicio Web

Al igual que el Servidor HTTP, un Servidor SOAP está incorporado, permitiendo un control de acceso detallado, basado en objetos de negocio (no sólo a nivel de base de datos).

Servidor 4D SQL

Mientras que el acceso a los datos para 4D Remote por defecto va a través de un protocolo de propiedad, el acceso SQL (de forma nativa o a través de ODBC), también es compatible. Además, existen drivers PDO (PHP Data Objects) de código abierto. El acceso SQL a nivel de base de datos puede ser controlado con el sistema de contraseñas, esquemas SQL y controlados con precisión usando vistas SQL.

Sistema de contraseñas de 4D

El sistema de autorización de usuarios de 4D puede ser reemplazado por sistemas de terceros. 4D soporta el uso directo de Microsoft Active Directory y LDAP, así como sistemas totalmente personalizados.

Mecanismo de actualización de software

El software moderno puede ser una compleja combinación de productos de software, servidor de base de datos, middleware, servidor de aplicaciones, servidor web y más. Es fácil olvidarse de mantener todas las piezas actualizadas, como por ejemplo una DLL de OpenSSL. 4D reduce este problema de muchas maneras, no sólo ayudando al administrador con su vida diaria sino reduciendo el riesgo por diseño.

Como solución integrada todo en uno, sólo hay que reemplazar una carpeta. Todo se instala en una sola carpeta, incluso podría ser reemplazado con un proceso de arrastrar y soltar. La simplificación evita el síndrome de «ya lo haré más tarde» . Con un solo reemplazo, todas las partes de la aplicación empresarial se actualizan en un solo paso, no se puede perder nada.

El servidor puede actualizarse de forma totalmente automática. El proceso de actualización no está controlado ni forzado por 4D, está totalmente en manos del desarrollador de la solución.

Sistema de copia de seguridad y de registro en el diario

4D ofrece un sistema de registro transaccional. Cada operación de modificación de datos se registra y puede ser revertida. En caso de emergencia, el trabajo del día puede ser restaurado – nada se pierde. En caso de interrupción, la base de datos se comprueba automáticamente al reiniciar y se restauran las operaciones que faltan (guardadas en memoria, no almacenadas aún en el disco), para volver a tener la base de datos con toda la información. Incluso en caso de corrupción total de los datos (disco defectuoso, etc.), el archivo de datos se restaura automáticamente a partir de la última copia de seguridad completa y se integra el diario que incluye el trabajo diario.

El diario de transacciones también puede ser útil en caso de borrado accidental (o manipulación de registros por sabotaje), tanto para la recuperación forense como de datos.

La copia de seguridad estándar es parte del producto 4D, no se requiere ninguna licencia adicional, sólo se necesita un disco duro adicional (para protegerlo de los fallos de disco).

En entornos 24/7, 4D soporta el uso de sistemas de réplica en cascada y/o en estrella. Una producción, un espejo y un espejo secundario construyen un clúster de sistemas para proporcionar servicios las 24 horas del día. Un sistema de réplica adicional podría ejecutarse en otra ciudad o nube para proteger los datos incluso en caso de desastres extremos.

Paralelamente al registro en el diario basado en transacciones, 4D soporta también instantáneas de máquinas virtuales(VSS Writer).

Protección adicional

Todos los conceptos de protección estándar, como la protección de la sala de servidores o el uso de discos duros encriptados (soluciones de hardware como SSD encriptados o soluciones de software como Bitlocker) son, por supuesto, también recomendables.

Thomas Maul
• VP de Estrategia, Línea de Productos 4D - Cuando se creó la filial alemana de 4D en 1988, Thomas ingresó a la compañía como director técnico, ayudando a crear la comunidad de desarrolladores 4D tanto en Alemania como en Austria. Después de muchos años apoyando a los clientes con problemas técnicos y estando cada vez más involucrado en cuestiones de ventas y gestión, fue ascendido a director general de 4D Alemania en 1999. Como miembro de la junta ejecutiva desde 2005, pasó a formar parte de la estrategia mundial de la empresa, lo que lo llevó a su actual cargo de vicepresidente de Estrategia, Línea de Productos 4D, responsable de definir y ejecutar la estrategia global para la línea de productos 4D en relación con los equipos de Programa, I+D, Ventas y Mercadeo.