none
[PROFANE] Acces repertoire partagé une application independament de l'utilisateur RRS feed

  • Discussion générale

  • Bonjour,

    Difficile d'être exhaustif dans le titre, j'espère juste qu'il sera assez accrocheur pour que des personnes arrive jusqu'ici :)

    Je n'ai absolument aucune expérience dans la mise en service d'un système serveur, aussi je suis désolé si mes questions vous semblent évidentes.

    Petit résumé du décor : Windows Server 2012 R2 + PostgreSQL 10 sur le serveur, postes clients pouvant être en Windows 7 SP1 ou Windows 10 (dans un futur + ou - proche). Accès administrateur total sur le serveur, mais pas sur les postes clients.

    J'ai développé une application (en Windev 22) qui dialogue avec le serveur. Un champ dans la base SQL me permet de préciser un emplacement de fichier que je vais par la suite afficher dans mon application (via plugin ActiveX). Tout est fonctionnel (serveur SQL + serveur SMB) mais je rencontre quelques problèmes de sécurité.

    Le paramétrage de l'application se fait à l'aide d'un fichier INI dans lequel on trouve l'IP du serveur.

    Si un utilisateur tente de se connecter directement au serveur de fichier (via Explorateur de fichier en tapant \\IP\), il lui est demandé les login et mot de passe. Ça me va.

    Lors du lancement de l'application, tout va bien : accès à la base SQL et aux fichier via SMB, celui-ci est bien affiché (les login et mot de passe sont directement intégrés au code).

    Si à ce moment, l'utilisateur tente de se connecter au serveur SMB via l'explorateur Windows de son poste, il peut désormais y accéder sans saisir les ID + mot de passe.

    Ma question est simple : comment empêcher cela s'il vous plait ?

    Merci à vous.

    Cordialement,

    Ramirez22

    vendredi 21 décembre 2018 13:13

Toutes les réponses

  • Bonjour,

    Ok lors de la première connexion entre le PC client et le serveur celui-ci mémorise les identifiants utilisés pour aller sur le partage SMB du serveur.

    Lorsque l'utilisateur, "va" sur le share depuis son poste Windows (après utilisation de votre application), elle se présente au serveur avec cette "première identité" utilisée par l'application cliente (avec l'identité définie dans votre application).

    Il y a des astuces et des "contournements" possibles.

    Une subtilité pourrait être d'associer, sur le poste client, un "mapping" réseau vers le share en question.

    Exemple, si votre partage s'appelle \\IP_du_serveur\partage.

    Sur le poste client, configurer un "partage" réseau (permanent), mappant une "lettre lecteur" sur \\IP_du_serveur\partage, avec l'identité de l'utilisateur.
    (avec reconnexion automatique, etc...)

    Ainsi, à chaque fois que le poste client démarre, c'est cette identitié vers la connexion SMB qui sera présentée.
    Maintenant, quand l'application va venir taper sur le share, c'est peut-être là que cela coincera puisque cela viendrait avec l'identité de l'utilisateur.

    C'est un peu du bricolage.

    Pour faire quelque chose de "mieux", il faudrait modifier votre application pour qu'elle fasse une identification Kerberos classique basée sur l'identifiant de l'utilisateur connecté sur le poste.
    Ce serait vraiment mieux.

    Florent


    vendredi 21 décembre 2018 13:45
  • Bonjour et merci pour cette réponse.

    Désolé si la mienne intervient de manière aussi tardive, mais j'ai complètement changé mon fusil d'épaule et eu beaucoup de modifications à apporter à mon application.

    Je suis désormais passé en version RemoteApp + serveur ActiveDirectory, autant dire que il y a eu pas mal de changement.

    Depuis, je n'ai plus de problème en ce qui concerne l'accès aux fichiers sur le serveur, puisque l'application y a accès directement, mais pas les utilisateurs. J'ai supprimé toutes les fenêtre type "explorateur de fichier" (pour les imports et exports de fichiers) et par soucis de sécurité, bloqué les applications types Powershell et console pour les utilisateurs. Le parefeu bloque quasiment tout, et l'AD fait son job.

    Bref, pour l'instant, en phase de test, ça marche pas trop mal. Encore quelques lignes de code pour dialoguer avec l'AD (l'application permet de gérer les utilisateurs en fonction du profil) et ça devrait le faire.

    Merci encore pour ton aide.

    Cordialement,

    Ramirez22

    samedi 16 février 2019 17:54