Sécurité et protection des données

Traduit automatiquement de Deepl

La sécurité est un sujet important et fondamental pour une base de données ou un système de solutions d’entreprise. Cet article propose un aperçu de la manière dont 4D protège vos données. En fait, la sécurité concerne la protection des données. Et la protection des données est un domaine très vaste. Les données doivent être protégées contre les accès non désirés, mais aussi contre la perte.C’est un point important, car la plupart des utilisateurs ne pensent qu’à la protection contre les utilisateurs non autorisés, et non à la protection contre des événements tels qu’une panne de courant, un disque dur endommagé, des modifications accidentelles de données, etc.

La sécurité et la protection des données constituent un domaine très vaste : cela commence par l’authentification de l’utilisateur, passe par l’accès externe (comme le web ou le SQL), l’exécution de code indésirable (injection SQL, attaques par inspection de script), puis les mises à jour de sécurité, la sauvegarde et plus encore.

4D Server

4D Server est un système de développement client/serveur intégré, optimisé pour créer des applications professionnelles robustes avec un système de base de données intégré. Bien que 4D puisse envoyer des données (avec des standards tels que HTTP, SOAP, ODBC ou OCI) ou être accessible de l’extérieur (avec HTTP, SOAP, ODBC/SQL), l’utilisation principale est basée sur le langage de développement interne « 4D », utilisant un protocole réseau interne et propriétaire pour communiquer entre le client professionnel et le serveur.

La communication réseau prend en charge le cryptage TLS 1.2, soit en utilisant une clé prédéfinie (aucun certificat SSL n’est requis), soit en utilisant un fichier de clé fourni par le client.

La liaison étroite entre le langage de développement et la communication réseau permet d’intégrer un concept de protection de haut niveau, évitant les scénarios d’attaque typiques tels que l’injection SQL ou le dépassement de tampon.

Le langage 4D est un langage puissant et mature, parfaitement conçu pour construire des systèmes d’applications commerciales. Il comprend plus de 1500 commandes, couvrant les opérations de base de données (ordre par, requête, création, transactions, etc.), l’impression, la communication avec d’autres appareils ou ordinateurs, la gestion de documents, les commandes de fenêtres ou d’interfaces utilisateur, etc. Pour plus de détails, consultez le manuel du langage 4D.

Le langage lui-même est tokenisé, même en mode interprété (développement ou prototypage), il n’est jamais exécuté comme évaluation de texte. En mode production, le langage est compilé, avec une protection automatique contre les attaques par débordement de tampon.

Serveur Web 4D

4D dispose de son propre serveur HTTP intégré, un serveur puissant et multithread pour le contenu statique et dynamique. Cette intégration étroite a un impact considérable sur l’amélioration de la sécurité.

Outre une meilleure sécurité du code (voir ci-dessous), ce concept élimine le problème typique des mises à jour oubliées. Comme tout est intégré, il n’y a qu’un seul logiciel à mettre à jour (voir la section « Mise à jour du logiciel » pour plus de détails). Les solutions normales nécessitent une quantité énorme de logiciels à mettre à jour : de PHP, OpenSSL, Apache, NodeJS et ainsi de suite… Tous ces logiciels nécessitent des mises à jour régulières et il est fréquent que certaines parties ne soient pas corrigées pendant une longue période, surtout si elles sont utilisées comme solution départementale, sans équipe informatique spécialisée.

Les demandes Web déclenchent le code 4D, qui répond à la demande au niveau de l’application métier, et pas seulement au niveau de la base de données. L’intégration étroite permet de contrôler chaque demande, en utilisant l’autorisation intégrée ou des implémentations personnalisées, bien sûr cryptées par TLS.

Le serveur HTTP intégré permet également des justifications de contrôle fin, par exemple pour un serveur REST.

Serveur SOAP/Service Web

Comme pour le serveur HTTP, un serveur SOAP est intégré, permettant un contrôle d’accès détaillé, basé sur les objets de l’entreprise (pas seulement au niveau de la base de données).

Serveur SQL 4D

Alors que l’accès aux données pour 4D Remote passe par défaut par un protocole de propriété, l’accès SQL (nativement ou via ODBC), est également pris en charge. En outre, des pilotes PDO (PHP Data Objects) open source sont disponibles. L’accès SQL au niveau de la base de données peut être contrôlé par un système de mots de passe, des schémas SQL et un contrôle fin à l’aide de vues SQL.

Système de mot de passe intégré à 4D

Le système d’autorisation des utilisateurs intégré à 4D peut être remplacé par des systèmes tiers. 4D supporte l’utilisation directe de Microsoft Active Directory et LDAP, ainsi que des systèmes entièrement personnalisés.

Mécanisme de mise à jour du logiciel

Un logiciel moderne peut être une combinaison complexe de produits logiciels, d’un serveur de base de données, d’un intergiciel, d’un serveur d’applications, d’un serveur Web et plus encore. Il est facile d’oublier de maintenir tous les éléments à jour, comme une DLL OpenSSL par exemple. 4D réduit ce problème de plusieurs façons, non seulement en aidant l’administrateur dans sa vie quotidienne mais aussi en réduisant les risques par conception.

En tant que solution intégrée tout en un, il n’y a qu’un seul dossier à remplacer. Tout est installé dans un seul dossier, il pourrait même être remplacé par un processus de drag&drop. En simplifiant les choses, on évite le syndrome du « je le ferai plus tard » . Avec un seul remplacement, toutes les parties de l’application d’entreprise sont mises à jour en une seule étape, rien ne peut être oublié.

Le serveur peut être mis à jour de manière entièrement automatique. Le processus de mise à jour n’est ni contrôlé ni forcé par 4D lui-même, il est entièrement entre les mains du développeur de la solution.

Système de sauvegarde et de journalisation

4D fournit d’emblée un système de journalisation basé sur les transactions. Chaque opération de modification des données est enregistrée et peut être annulée. En cas d’urgence, le travail de la journée peut être restauré – rien n’est perdu. En cas d’interruption, la base de données est automatiquement vérifiée au redémarrage et les opérations manquantes (conservées en mémoire, pas encore stockées sur le disque) sont restaurées, afin que la base de données contienne toutes les informations. Même en cas de corruption totale des données (mauvais disque, etc…), le fichier de données est automatiquement restauré à partir de la dernière sauvegarde complète et le journal incluant le travail quotidien est intégré.

Le journal des transactions peut également être utile en cas de suppression accidentelle (ou de manipulation d’enregistrements par sabotage), tant pour la médecine légale que pour la récupération des données.

La sauvegarde standard fait partie du produit 4D, aucune licence supplémentaire n’est nécessaire, il suffit d’un disque dur supplémentaire (pour se protéger contre les pannes de disque).

Dans les environnements 24/7, 4D supporte l’utilisation de systèmes de miroirs en cascade et/ou en étoile. Un système de production, un miroir et un miroir secondaire constituent un cluster de systèmes pour fournir des services 24 heures sur 24. Un système miroir supplémentaire peut être exécuté dans une autre ville ou un autre nuage pour protéger les données même en cas de catastrophe extrême.

Parallèlement à la journalisation basée sur les transactions, 4D prend également en charge les instantanés de machines virtuelles(VSS Writer).

Protection supplémentaire

Tous les concepts de protection standard, tels que la protection de la salle des serveurs ou l’utilisation de disques durs cryptés (solutions matérielles comme les SSD cryptés ou solutions logicielles comme Bitlocker) sont bien entendu recommandés.

Thomas Maul
• VP of Strategy, 4D Product Line • When 4D's German subsidiary was created in 1988, Thomas joined the company as a Technical Director, helping to build the 4D developer community in both Germany and Austria. After many years supporting customers with technical problems and being increasingly involved in sales and management issues, he was promoted to Managing Director for 4D Germany in 1999. As a member of the executive board since 2005, he became part of worldwide strategy of the company, leading to his current position as Vice President of Strategy, 4D Product Line, responsible for defining and executing the overall strategy for the 4D product line in relation to the Program, R&D, Sales and Marketing teams.