> Tech > Modèle DataBase Connection Vault

Modèle DataBase Connection Vault

Tech - Par iTPro - Publié le 22 mai 2014
email

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.

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).

(((IMG6886)))
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 gratuitement cette ressource

Cybersécurité sous contrôle à 360°

Cybersécurité sous contrôle à 360°

Avec Cloud in One, les entreprises ne gagnent pas uniquement en agilité, en modernisation et en flexibilité. Elles gagnent également en sécurité et en résilience pour lutter efficacement contre l’accroissement en nombre et en intensité des cyberattaques. Découvrez l'axe Cybersécurité de la solution Cloud In One.

Tech - Par iTPro - Publié le 22 mai 2014