IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

sécurité base sur réseaux


Sujet :

Sécurité

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut sécurité base sur réseaux
    Bonjour

    je cherche un moyen de bien sécurisé la base de donnée.

    En frontal et sur chaque poste est déployé un mde.
    Ce mde a des liaisons sur un mdb situé sur un répertoire partagé du réseaux:

    \\srv-appl\data\access\leprojetenquestion\base.mdb

    Par ailleurs ils utilisent un mdw (\\srv-appl\data\access\machin.mdw) pour s'authentifier, mais je dois reconnaitre que la gestion des droits via ce truc est pénible.
    Comment ne pas passer par ca?

    Quel droits mettre sur ce repertoire pour qu'il puisse utiliser (lecture/ecriture) la base sans pour autant permettre à un petit malin d'attaquer la base access (s'il a access sur son poste) en direct ou pire de la piquer?


    merci à tous

  2. #2
    Membre habitué Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Points : 165
    Points
    165
    Par défaut
    Perso j'ai eu ce problème pour mon stage et je vais te donner de quoi la protéger contre la copie (sachant que ca n'evite pas les imprime-écran et les photo):

    Etape 1 : Modifié la macro de lancement d’ACCESS qui s’appelle AutoExec





    Etape 2 : Créer un module contenant un programme en Visual Basic for Application permettant cette fonctionnalité

    Code :

    Function start()

    Dim p
    p = "C:\WINDOWS\Bureau\Commandessay.mdb" // ici on rentre l’adresse de la BDD
    If Not (p = Application.CurrentDb.Name) Then // Si “A n’est pas égal à B” alors fermer
    Application.Quit

    End If
    End Function






    Etape 3 : Lancer ce module à l’ouverture en le mettant en première position du déroulement



    Ici, on met la commande ExecuterCode avec pour argument start() ce qui fait que lorsqu’on voudra ouvrir ce fichier hors du serveur, la fonction va se lancer et le fichier ne pourra ni être ouvert ni modifié et donc impossible de récupérer les données des tables.
    On peut être pathéthique sans faire l'éthique du pâté.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    avec le shift le gars passe qd même dans ce cas?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    Citation Envoyé par LostIN
    avec le shift le gars passe qd même dans ce cas?
    Effectivement, dans ce cas, il faut penser à désactiver la touche MAJ.

  5. #5
    Membre habitué Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Points : 165
    Points
    165
    Par défaut
    Oui c vrai mais faut deja qu'il sache que ca le desactive...

    PS:Comment on desactive la touche maj???
    On peut être pathéthique sans faire l'éthique du pâté.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par Jahprend
    Comment on desactive la touche maj???
    Un petit tour dans la FAQ s'impose

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    le coup du shift, faut pas prendre les utilisateurs pour des c..
    ca se trouve facilement

    donc pour inhiber le shift il y a ca:
    Sub SetBypassProperty()
    Const DB_Boolean As Long = 1
    ChangeProperty "AllowBypassKey", DB_Boolean, False
    End Sub
    Sub UnSetBypassProperty()
    Const DB_Boolean As Long = 1
    ChangeProperty "AllowBypassKey", DB_Boolean, True
    End Sub

    Function ChangeProperty(strPropName As String, varPropType As Long, varPropValue As Variant) As Integer
    Dim dbs As Database, prp As Variant
    Const conPropNotFoundError = 3270
    Set dbs = CurrentDb
    On Error GoTo Change_Err
    dbs.Properties(strPropName) = varPropValue
    Change_Bye:
    Exit Function
    Change_Err:
    If Err = conPropNotFoundError Then ' Propriété non trouvée.
    Set prp = dbs.CreateProperty(strPropName, _
    varPropType, varPropValue)
    dbs.Properties.Append prp
    Resume Next
    Else
    ' --Erreur inconnue.
    Resume Change_Bye
    End If
    End Function

    ca marche bien, même trop, car après plus moyen d'ouvrir la base !!!!

  8. #8
    Membre habitué Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Points : 165
    Points
    165
    Par défaut
    ok mais on l'as met ou ta fonction?
    On peut être pathéthique sans faire l'éthique du pâté.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par LostIN
    ca marche bien, même trop, car après plus moyen d'ouvrir la base !!!!
    D'où l'utilité de la Sub UnSetBypassProperty qui permet de réactiver l'ouverture avec la touche maj...

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    je l'ai mis dans un module

    je l'ai executé dans le débogage
    ca tourne, puis après plus moyen de lancer l'appli.

    donc oui, on l'a met où, et sous quel condition on l'execute ????

  11. #11
    Membre habitué Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Points : 165
    Points
    165
    Par défaut
    Je crois que je vais prendre le risque de mettre ce programme et de faire buger, je me dit que ma pprotection est deja suffisante
    On peut être pathéthique sans faire l'éthique du pâté.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Personnellement, j'ai mis ça dans un module. Ensuite, j'ai remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub SetBypassProperty()
    Const DB_Boolean As Long = 1
    ChangeProperty "AllowBypassKey", DB_Boolean, False
    End Sub
    Sub UnSetBypassProperty()
    Const DB_Boolean As Long = 1
    ChangeProperty "AllowBypassKey", DB_Boolean, True
    End Sub
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function SetBypassProperty()
    Const DB_Boolean As Long = 1
    ChangeProperty "AllowBypassKey", DB_Boolean, False
    End Function
    Function UnSetBypassProperty()
    Const DB_Boolean As Long = 1
    ChangeProperty "AllowBypassKey", DB_Boolean, True
    End Function
    De cette manière, je peux exécuter SetBypassProperty et UnSetBypassProperty à partir de macros.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    je pige pas.

    et la macro après ?


    une fois le shift désactivé comment tu rentres ?

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut,

    Regarde ce post sur la sécurité niveau utilisateur, il est trés bien fait : ici
    (c'est un peu compliqué à utiliser pour la première fois, mais une fois le principe compris, ça va tous seul ou presque)

    Ensuite pour interdire la touche shift regarde

    (prévoir un endroit dans la base qui redonne la possibilité d'activé la touche shift, genre un doubleclick sur un endrois particulier)

    Enfin, le fait de vérifier au démarrage que le fichier n'a pas bougé ne te protège de .... rien en fait :
    - il faut aussi protéger les données et la solution proposée par Jahprend ne "protège" que le frontal
    - même une base "protégée" avec cette solution ne sera que trés peu sécurisée : ce n'est qu'au démarrage que ce code est exécuté, tu peux toujours depuis une autre base venir lire les objets de la base.


    La seule méthode qui te permet de protéger les données et le frontal d'une base Access, c'est la gestion du MDW.
    Il y a déjà pas mal de post sur le sujet, et ce que j'en retiens c'est que la gestion de la sécurité au niveau utilisateur (données et frontal) reste incontournable. Toutes autres solutions ne fera que rendre les choses plus compliquées pour une personne malveillante, mais ne la bloquera pas. Au mieux on empèche le néophite de "bidouiller", mais pas le programmateur averti !

    Bien sûr dans certains cas c'est suffisant (tout dépend du besoin de sécurité que l'on a en fonction de la base, des données, des personnes suceptible d'avoir accés à la base ...) , mais il ne faut pas croire qu'autre chose que l'utilisation d'un MDW pourra vraiment sécuriser une application.

    En tout cas c'est ce que j'ai retenu des mes lectures et expériences.

    A+

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    c'est dejà pas mal mais pas suffisant.

    Ca n'empeche pas d'importer tous les elements depuis une autre base.

    et concernant l'accès au répertoire ?
    J'aurais envie de privilégié cette piste.

    Pas d'accès (juste pour access) et là, on ne rissque rien du tout.

    je vais parcourir tes liens.

    merci

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Voici un exemple de code utilisant la fonction présenté dans la FAQ sur la gestion de la touche MAJ :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Private Sub Image0_DblClick(Cancel As Integer)
    Dim Wks As Workspace
    Dim Grp As Group
    Dim I As Integer
    Dim test As Boolean
    On Error GoTo Err_Image0dblClik
    test = False
    I = 0
    'verif si currentuser est dans groupe DEVELLOPEUR
     
    Set Wks = DBEngine(0)
    Set Grp = Wks.Groups("DEVELOPPEUR")
    Do
        If Grp.Users(I).Name = CurrentUser Then
            test = True
            Exit Do
        End If
        I = I + 1
    Loop
    Fin_de_boucle:
    If test = True Then
        If CurrentDb.Properties("AllowBypassKey") = False Then
            fChangeProperty "AllowBypassKey", 1, True
            MsgBox "La propriété ""AllowBypassKey"" est Vrai. Redémarer l'appli pour pouvoir interrompre le code" & vbCrLf & "Ne pas oublier de la remettre à Faux avant de créer le MDE"
        Else
            fChangeProperty "AllowBypassKey", 1, False
            MsgBox "La propriété ""AllowBypassKey"" est a nouveau Fausse. Redémarer l'appli pour redre la modif effective" & vbCrLf & "Ne pas oublier de faire un MDE avant de distrubuer les modifications"
        End If
    End If
    Quitter:
    Set Wks = Nothing
    Set Grp = Nothing
    Exit Sub
     
    Err_Image0dblClik:
    If Err.Number <> 3265 Then fError Err.Number, Err.Description, "Image0_DblClick", Me.Name
     
    GoTo Quitter
     
     
    End Sub
    Si un utilisateur du groupe "DEVELOPPEUR" dblclick sur l'image on autorise la touche MAJ si elle était interdite, et on l'interdit si elle était autorisée.

    A+

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    merci Muhad'hib

    sécurité à ce niveau là réglé.

    Coté réseau, je ne le sens pas du tout.
    Je vois pas comment, le répertoire pourrait permettre la lecture/ecriture dans la base, et bloquer l'utilisateur d'y rentrer en naviguant dans les répertoires.

    à moins que???

    Le groupe sécurité ne nous tente absolument pas. Trop rigide et pas assez souple.
    En admettant que l'on utilise ce truc.

    Normalement de chez lui (s'il part avec la base) il ne pourra pas rentrer ?(faudrait qu'il prenne le mdw aussi?

    Est ce qu'un utilisateur qui part avec la base sous le bras, pourra importer les éléments de celle ci depuis une autre base?

  18. #18
    Membre habitué Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Points : 165
    Points
    165
    Par défaut
    Dans mon cas , j'ai a faire a des neophites et de plus il doivent tous avoir acces a la lecture et l'eciture des données donc a la lecture de la structure..
    On peut être pathéthique sans faire l'éthique du pâté.

  19. #19
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    pour verrouiller ou deverrouiller la touche shift utilise le fichier en download ici... Justement tu l'ouvres avec la touche shift because y'a un form de demarrage et ensuite tu modifies le pointage vers la base dans les 2 modules. Ca fonctionne nickel et je remercie LedZepp au passage pour ce bon plan !


  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    Citation Envoyé par Muhad'hib
    Voici un exemple de code utilisant la fonction présenté dans la FAQ sur la gestion de la touche MAJ :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Private Sub Image0_DblClick(Cancel As Integer)
    Dim Wks As Workspace
    Dim Grp As Group
    Dim I As Integer
    Dim test As Boolean
    On Error GoTo Err_Image0dblClik
    test = False
    I = 0
    'verif si currentuser est dans groupe DEVELLOPEUR
     
    Set Wks = DBEngine(0)
    Set Grp = Wks.Groups("DEVELOPPEUR")
    Do
        If Grp.Users(I).Name = CurrentUser Then
            test = True
            Exit Do
        End If
        I = I + 1
    Loop
    Fin_de_boucle:
    If test = True Then
        If CurrentDb.Properties("AllowBypassKey") = False Then
            fChangeProperty "AllowBypassKey", 1, True
            MsgBox "La propriété ""AllowBypassKey"" est Vrai. Redémarer l'appli pour pouvoir interrompre le code" & vbCrLf & "Ne pas oublier de la remettre à Faux avant de créer le MDE"
        Else
            fChangeProperty "AllowBypassKey", 1, False
            MsgBox "La propriété ""AllowBypassKey"" est a nouveau Fausse. Redémarer l'appli pour redre la modif effective" & vbCrLf & "Ne pas oublier de faire un MDE avant de distrubuer les modifications"
        End If
    End If
    Quitter:
    Set Wks = Nothing
    Set Grp = Nothing
    Exit Sub
     
    Err_Image0dblClik:
    If Err.Number <> 3265 Then fError Err.Number, Err.Description, "Image0_DblClick", Me.Name
     
    GoTo Quitter
     
     
    End Sub
    Si un utilisateur du groupe "DEVELOPPEUR" dblclick sur l'image on autorise la touche MAJ si elle était interdite, et on l'interdit si elle était autorisée.

    A+

    je reviens la dessus.

    avec une base mde(comprenant requete,forms, modules, etat) déployé chez les utilisateurs où les tables sont liées
    à une base mdb (contenant que les tables).
    Si j'enlève le shift du mdb, comment je vais pouvoir le remettre (vu que je n'ai que les tables)?

    C'est possible de le faire depuis une autre appli? c ca?

    Désolé pour ces questions de newbie.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/03/2012, 11h39
  2. Réponses: 13
    Dernier message: 22/08/2008, 10h59
  3. Réponses: 1
    Dernier message: 01/09/2006, 08h10
  4. Exploitation de base sur un serveur Web
    Par Oz-WereWolf dans le forum Installation
    Réponses: 10
    Dernier message: 07/03/2004, 22h52
  5. [VB6] Zone de liste modifiable basée sur un champ
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/11/2002, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo