Pour effectuer des connexions de serveur MySQL en toute sécurité, j’utilise un concept database connection vault, tout en verrouillant les scripts temporaires MySQL créés et supprimés dans la structure de dossiers IFS.
Modèle DataBase Connection Vault
La sécurité applicative est intégrée dans le processus database connection vault. Elle examine la pile d’appel du programme pour vérifier si le programme appelant est défini dans la table SQL DBPGMVLT. Dans la négative, aucune donnée n’est extraite via le database connection vault.
Modèle DataBase Connection Vault
Si vous utilisez mon code database connection vault, il est probable que vous ajouterez vos propres techniques de cryptage/décryptage pour sécuriser, au minimum, la colonne password dans la table SQL DBCNNVLT. Si vous journalisez les deux tables SQL utilisées dans le database connection vault, vous souhaiterez peut-être isoler l’objet journal et sécuriser le journal et les récepteurs de journaux utilisés pour ces tables. Si votre site utilise des méthodes de réplication logicielles pour refléter les systèmes IBM i, assurez-vous que les systèmes IBM i cibles ont eux aussi la sécurité appropriée sur les tables.
Sachez que quand vous attribuez un ID et mot de passe utilisateur à des variables RPG, ces dernières peuvent être vues dans un débogueur. Voyez le code source pour des exemples de paramètres compile, pour restreindre l’option « allow debug » sur les objets programmes CNNVAULT et MYSQL_ RPG SQLRPGLE.
Étendre le Database Connection Vault pour l’utilisation de bases de données non-MySQL
Vous pouvez aussi utiliser la table SQL du database connection vault pour stocker les propriétés de connexion sur tout autre type de base de données avec des paramètres de connexion. La figure suivante montre le schéma pour la table SQL DBCNNVLT. Il a des colonnes pour stocker non seulement l’utilisateur et le mot de passe, mais aussi : nom de base de données, nom de serveur, type de serveur, port de connexion de serveur et informations sur le driver de connexion (par exemple, l’emplacement du driver JDBC dans l’IFS).
Le schéma pour la table SQL DBBNNVLT.
J’utilise la logique database connection vault dans les connexions IBM i à Microsoft SQL Server en définissant une nouvelle connexion base de données dans la table DBCNNVLT. Je peux ensuite écrire un programme qui extraira les données dans la table DBPGMVLT. Par exemple, un programme RPG de mon cru utilise une chaîne de connexion JDBC pour un driver JDBC qui réside dans un emplacement statique dans l’IFS. Après avoir extrait l’enregistrement de DBPGMVLT, j’utilise les propriétés de connexion extraites dans le programme RPG pour créer la connexion vers SQL Server pour l’accès à la base de données. L’accès autorisé dépend des permissions de l’utilisateur du SQL Server qui sont définies sur le SQL Server.
Vous devez examiner le code source du programme MYSQL_RPG pour plus de détails sur l’emploi de la technique database connection vault.
Téléchargez cette ressource
Travail à distance – Guide complet pour les Directions IT et Métiers
Le travail à distance met à l'épreuve la maturité numérique des entreprises en termes de Cybersécurité, d'espace de travail, de bien-être des collaborateurs, de communication et gestion de projet à distance. Découvrez, dans ce nouveau Guide Kyocera, quels leviers activer prioritairement pour mettre en place des solutions de travail à domicile efficaces, pérennes et sécurisées.
Les articles les plus consultés
- Chiffrements symétrique vs asymétrique
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Activer la mise en veille prolongée dans Windows 10