|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Gaëtan WauthyDéveloppeur .NET Inscription : novembre 2006 Messages : 1 000 ![]() |
Bonjour,
J'aurais voulu savoir si il était possible de bloquer l'accès à les commandes STRSQL et STRPDM afin que l'utilisateur ne puisse pas rentrer de requête sql sur le système... Je suppose que via le profil d'un utilisateur on doit pouvoir donner des autorisations sur ce qu'il a accès ou pas Merci d'avance.
__________________
![]() Si vous développez en .NET, la FAQ, les tutos et l'aide MSDN sont vos amis !!! LINQ c'est puissant... |
|
|
00
|
|
|
#2 | ||||||
![]() ![]() Gaëtan WauthyDéveloppeur .NET Inscription : novembre 2006 Messages : 1 000 ![]() |
J'ai trouvé en navigant dans les menus la commande :
à laquelle j'ai mi comme paramètre : Code :
J'obtiens un écran avec les droits : Code :
Code :
Je continue mes investigations
__________________
![]() Si vous développez en .NET, la FAQ, les tutos et l'aide MSDN sont vos amis !!! LINQ c'est puissant... |
||||||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Enlève *ALLOBJ à ton collègue et tu verras que ce que tu as fais marche très bien.
Avant de mettre de la sécurité en oeuvre, il faut savoir comment elle marche. Il y a des cours sur le sujet. |
|
|
10
|
|
|
#4 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
+1 avec K2R400.
Et puis, si tu modifies les autorisations sur les commandes système, sois conscient que ces modifications ne seront pas reportées lors d'un upgrade du système. |
|
|
10
|
|
|
#5 | |
![]() ![]() Gaëtan WauthyDéveloppeur .NET Inscription : novembre 2006 Messages : 1 000 ![]() |
Très bonnes interventions de votre part
![]() Ça fonctionne effectivement mieux sans le *ALLOBJ. Concernant : Citation:
Si tu as des cours a m'indiquer sur le sujet, je suis tout à fait preneur...
__________________
![]() Si vous développez en .NET, la FAQ, les tutos et l'aide MSDN sont vos amis !!! LINQ c'est puissant... |
|
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Inscription : septembre 2008 Messages : 251 ![]() |
Il faut aussi regarder les adoptions de droits :
Si c'est un programme compilé avec user(*owner) qui exécute la commande, et que le propriétaire a droit à la commande, n'importe qui qui utilise le programme pourra utiliser la commande. |
|
|
10
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : mai 2008 Messages : 16 ![]() |
Bonjour Sankasssss,
Quand on veut toucher aux commandes standard, le mieux est de les dupliquer dans une bibliothèque autre, qui sera en tête de LIBL. Ainsi, tu pourras modifier les droits sur cette commande, sans impacter celle fournie en standard par IBM. L'avantage est que les changements de version se feront sans avoir à remodifier les droits privés sur cette commande. Les inconvénients (non exhaustifs) : s'assurer que la commande native IBM de la nouvelle version installée est compatible avec ton "ancienne" dupliquée (99% de chances, mais à tester), et surtout, rien n'empéchera ton utilisateur de faire QSYS/STRSQL, et donc les droits privés de ta commande dupliquée ne serviront à rien ... Une autre solution est de faire un CL de post-installation : après chaque montée de version, tu passes un PGM que tu as fait, qui va modifier les droits privés des commandes IBM, qui change les valeurs pas défaut de ces dernières, etc ... Il faut par contre être très rigoureux sur la mise à jour du PGM ! Et ce n'est pas recommandé (en tout cas par moi ;-) De plus, cela ne changera en rien le problème du droit *ALLOBJ (sur le profil, le profil de groupe, le PGM adoptant) Autres solutions : faire un appel temporaire à un petit PGM qui vérifie le user courant, une ligne de commande "maison" qui empèche certaines commandes, etc ... Une autre solution (mais à vérifier) : les points d'exit. En V7 il y en a maintenant un qui peut bloquer la modification de sources (http://www-01.ibm.com/support/docvie...id=swg21429591), il faudrait chercher si un point d'exit peut solutionner tes besoins ... Et si tu es dans une version adéquate ... Tu parles de STRSQL et STRPDM, mais tu as aussi les accès ODBC qui peuvent faire les même "dégats", l'application QM, un petit SQLRPG, le Shell, etc ... Pour être clair, même si l'image lui colle à la peau En résumé, on ne sait pas bien ce que tu veux "interdire" (contrôler, tracer, interdire les update, la visualisation, les delete ??? A un utilisateur, tous, un groupe, une classe ??? Sur un fichier précis, les fichiers d'une bibliothèque, tous ???), ce qui ne nous aide pas à t'apporter une réponse Soit un peu plus précis sur ce que tu souhaites Amicalement, James |
|
|
10
|
|
|
#8 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2008 Messages : 16 ![]() |
Citation:
James |
|
|
|
10
|
|
|
#9 | |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Citation:
Les droits fonctionnent aussi au niveau de l'IFS (les vieux folders sont une des branches de l'IFS). C'est l'adoption de droits qui ne fonctionne pas avec l'IFS |
|
|
|
10
|
|
|
#10 | |
|
Nouveau Membre du Club
![]() Thomas Architecte technique Inscription : septembre 2010 Messages : 39 ![]() |
Citation:
D'ailleurs, la commande STRPDM est une commande PROXY (fais un DSPCMD STRPDM et tu verras) |
|
|
|
10
|
|
|
#11 |
|
Invité régulier
![]() Inscription : février 2011 Messages : 3 ![]() |
Bonjour,
tout a fait d'accord avec Jame uc.... en fait, c'est la politique de sécurité de son infra qu'il faut mettre à plat lorsque l'on veut sécuriser ses serveurs et applications.... d'où une remise à plat de la sécurité : matrice des fonctions des utilisateurs, matrice des flux (FTP, DRDA, ODBC, JDBC,...), utilisation de groupes, de liste d'autorisation, des valeurs systèmes, des exits, analyse de la sécurité des logiciels, des accès externes et internes,.... bref un vrai projet de plusieurs semaines. pour le problème de commandes à bloquer : ce n'est réellement possible que si on respecte certaines règles : pas de droits spéciaux *allobj, pas de classe secofr, pas de ligne de commande (utilisation de menu controlé !), pas de ATTN (ou contrôlé), contrôle des logiciels (attention aux install qui laisse des profils avec QSECOFR/ALLOBJ/SECADM/SPLCTL et programme avec délégation de droits, suppression des profils génériques,.... et c'est pas toujours gagné lorsqu'on traine un historique. La solution exit système (REGINF) me parait la meilleure (ou la moins pire !)car elle permet de traçer si ce n'est d'empécher les accès (tu es libre de mettre les controles et blocages que tu souhaites dans les exit : DRDA, ODBC/JDBC, FTP, Telnet, ...) on ne vit pas dans un monde parfait !
|
|
|
10
|
|
|
#12 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2008 Messages : 16 ![]() |
Citation:
c'est vrai, mais je voulais juste préciser le concept de base "AS400", pour commencer, et ne pas noyer notre ami avec le concept IFS et sa gestion un moins facile du fait du multi-niveau. Autant la partie /QSYS.LIB n'a que le niveau "bibliothèque" et "fichier / PGM / dtaara /etc ..." => assez facile à gérer. La partie "root" peut rapidement devenir galère quand les répertoires s'imbriquent sur de nombreux niveaux : quand soucis de droits, il faut se taper les vérifications de niveau en niveau jusqu'à trouver le répertoire sur lequel le user n'a pas les droits :-( A moins qu'il n'y ai une manipulation que je ne connais pas (genre héritage des droits) James |
|
|
|
10
|
|
|
#13 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2008 Messages : 16 ![]() |
Citation:
je ne connaissais pas Merci pour l'info, je vais regarder ça. James |
|
|
|
10
|
|
|
#14 |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Les commandes proxy ne règlent pas les problèmes de droits.
Si la commande originale est en *EXCLUDE, même si la proxy est en *USE, la commande sera interdite. Les proxy sont utiles pour donner des noms courts ou personnalisés à des commandes CL. |
|
|
10
|
|
|
#15 |
![]() ![]() Gaëtan WauthyDéveloppeur .NET Inscription : novembre 2006 Messages : 1 000 ![]() |
Un très grand merci à tous les intervenants pour ces réponses très complète
![]() Nous allons digérer tout cela et faire des tests afin de bloquer les principales commandes au plus vite. Bonne journée à vous tous et encore pour votre professionnalisme.
__________________
![]() Si vous développez en .NET, la FAQ, les tutos et l'aide MSDN sont vos amis !!! LINQ c'est puissant... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com