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

API, COM et SDKs Delphi Discussion :

Comment autoriser une application delphi à passer le pare-feu XP SP2 ?


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 151
    Par défaut Comment autoriser une application delphi à passer le pare-feu XP SP2 ?
    Bonjour,

    Je viens de developper une application réseau et celle-ci a besoin de passer par un port. Comment faire pour autoriser le pare-feu windows à laisser passer mon application?
    C'est pour réaliser une installe facile sans manipulation du pare-feu windows sur XP SP2 pour l'utilisateur.

    Merci de m'aider

    Max

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Sans toucher au pare-feu XP, ça me semble impossible...

    Tente ta chance sur le forum Windows, des fois que...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 151
    Par défaut
    A priori, il est possible d'ajouter une execption au pare-feu windows. Mais je ne sais pas comment il faut faire.

    Max

  4. #4
    Membre éclairé Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Par défaut
    S'il est possible de forcer une autorisation sur un pare feu, il n'y a plus de sécurité...
    De plus inutile de vouloir faire ça car si l'utilisateur a un autre firewall, il faudra tout de même qu'il autorise ton appli à utiliser le réseau.

  5. #5
    Expert confirmé

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut
    Citation Envoyé par declencher
    S'il est possible de forcer une autorisation sur un pare feu, il n'y a plus de sécurité...
    +1
    Les applis standard sont connues des pare-feu et ce sont eux qui les laissent passer sur des listes de ports prédéfinis. Il te faudra créer une règle pour ton application dans le pare-feu.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 151
    Par défaut
    Je voulais faire celà simplement dans le but de simplifier l'install de mon programme. De plus, pour lancer l'install, il faut être en administrateur.
    Au pire, j'expliquerai comment faire pour installer l'application avec le pare-feu mais bon, mon application perdrait de sa souplesse à l'installation.

    Merci quand même

    Bonne prog à tous,
    Max

  7. #7
    Membre chevronné
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Par défaut
    Peut être avec uPnP mais je me suis jamais penché sur le problème

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Par défaut
    Le parfeu du sp2 devrait a la premiere detection de tentative d'acces de ton appli au reseau demander tout seul a l'utilisateur s'il doit laisser passer ou pas ton application. Il a juste a cliquer sur autoriser normalement, ce n'est pas le cas ?

  9. #9
    Candidat au Club
    Inscrit en
    Décembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 2
    Par défaut hi
    Sans toucher au pare-feu XP, ça me semble impossible...
    si c'est tout a fait possible.on peut facilement contourner le firewall de windows xp sp2 en utilisant un bug classique.
    en effet le firewall de windows n'utilise pas une methode efficace de reconnaissances des applications autorisés.il te suffit juste d'ajouter le nom de ton application (ex: f00.exe) dans la base de donné du firewall ou est inscrit les applications autorisés et le tour est joué.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut Re: hi
    Citation Envoyé par rootkited
    Sans toucher au pare-feu XP, ça me semble impossible...
    si c'est tout a fait possible.on peut facilement contourner le firewall de windows xp sp2 en utilisant un bug classique.
    en effet le firewall de windows n'utilise pas une methode efficace de reconnaissances des applications autorisés.il te suffit juste d'ajouter le nom de ton application (ex: f00.exe) dans la base de donné du firewall ou est inscrit les applications autorisés et le tour est joué.
    exact

    entre autre dans le registre

  11. #11
    Expert confirmé

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut Re: hi
    Citation Envoyé par rootkited
    si c'est tout a fait possible.on peut facilement contourner le firewall de windows xp sp2 en utilisant un bug classique.
    en effet le firewall de windows n'utilise pas une methode efficace de reconnaissances des applications autorisés.il te suffit juste d'ajouter le nom de ton application (ex: f00.exe) dans la base de donné du firewall ou est inscrit les applications autorisés et le tour est joué.
    Intéressant ça...
    Mais alors à quoi ça sert le parefeu du SP2 Faudra que je teste sur mon PC perso qui n'a que ce pare-feu d'installé.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Par défaut Re: hi
    Citation Envoyé par rootkited
    Sans toucher au pare-feu XP, ça me semble impossible...
    si c'est tout a fait possible.on peut facilement contourner le firewall de windows xp sp2 en utilisant un bug classique.
    en effet le firewall de windows n'utilise pas une methode efficace de reconnaissances des applications autorisés.il te suffit juste d'ajouter le nom de ton application (ex: f00.exe) dans la base de donné du firewall ou est inscrit les applications autorisés et le tour est joué.
    Personellement, une appli qui modifie de son plein gré les régles du firewall (en plus en utilisant des moyens détournés) c'est poubelle directement

    Si ton application a besoin d'accéder à Internet, tu l'expliques dans la doc et tu fournis une procédure pour configurer le firewall, avec toutes les infos pour les personnes utilisant un autre firewall.

  13. #13
    Membre Expert
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Par défaut
    Salut à tous,

    Je confirme que l'on peut bien modifier les applications qui sont autorisées par la firewall du SP2 de windows.
    D'ailleurs j'en parle dans mon document sur Interbase et Windows XP :

    http://thierry-laborde.developpez.co...interbase6/#L1

    Car le firewall de windows peut poser des problèmes à la bonne utilisation d'INTERBASE et si cela se présente,il faut créer un exception pour l'application INTERBASE avec son numéro de port. Qui alors sera autorisé.

    Je ne pense donc pas qu'il faille mettre à la poubelle toutes les applications qui modifient elles mêmes les paramètre du Firewall Windows, sinon il faudrait jeter une grande partie des applis windows (Msn Messenger, Partage fichiers et imprimantes, Assistance à distance, Appli FTP....etc). Je ne rentrerai pas bien entendu dans le débat de la sécurité avec le firewall de Windows car il y aurait beaucoup à écrire, et là n'est pas le but de ce post.

    Mais je vais prendre un exemple. la société pour laquelle je travaille fournit des applications qui dialoguent entre elles par socket. Lorsque ces applications sont installées, si les postes sont sur XP SP2 il faut créer des exceptions pour les applis car sinon le Firewall bloque les dialogues.

    Alors ensuite il y a 2 solutions, soit comme le dit CpDump mettre un explication pour autoriser dans windows ton application. Mais les clients ne sont pas toujours des informaticiens et dans ce cas là, soit faire la modification toi même dans le panneau de configuration, soit le faire par programme en passant par la base de registre comme ça à été dit au dessus.

    Voila, bon courage.

  14. #14
    Membre Expert
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Par défaut
    j'ai oublié. pour les exceptions, les programmes autorisés dans le firewall windows, il faut aller voir dans la base de registre du côté de :

    \SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy

    ou

    \SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 151
    Par défaut
    Merci beaucoup!!!

    Vous m'avez filé un sacré coup de main! Je vous remercie.
    On est d'accord sur le fait que le pare-feu windows ne sert pas à grand chose mais il me gêne plus qu'autre chose.
    De plus, mes utilisateurs sont loin d'être des informaticiens (secretaire pour la plupart...)

    Je test ça ce soir et je vous tiens au courant

    Bonne prog à tous,

    Max

  16. #16
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Par défaut
    Je suis en train de chercher comment ajouter une regle via une quelconque api de windows.

    Je lis ce topic et je ne comprends pas que l'on puisse s'en insurger. Ca me semblerait tout a fait logique que windows fournisse une telle api.

    Je veux deployer un service en mode silencieux sur un parc de machines dont je suis l'admin. Le service a besoin d'une regle sur le firewall pour fonctionner.

    Un firewall est execute avec les privileges administrateur.
    Si un autre programme est execute avec ces meme privileges il me parait tout a fait legitime qu'il puisse justement toucher a ce genre de parametrage systeme et meme je vois pas comment techniquement windows pourrait l'en empecher.

    C'est a l'utilisateur de ne pas demarrer sa session en admin s'il ne veut pas avoir a faire a ce genre de problemes...


    Quelqu'un a-t-il une fonction toute prete pour faire cela ?

    Merci !

  17. #17
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par okparanoid Voir le message
    et meme je vois pas comment techniquement windows pourrait l'en empecher.
    Comment l'empêcher ? C'est simple si il n'y a pas d'API pour le faire

    Il me semble que lors de la première tentative d'accès d'un programme non recensé le firewall XP demande la marche à suivre à l'utilisateur.

  18. #18
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Par défaut
    Ces parametrages systemes etant forcement enregistres quelque part en dur sur le disque, je vois mal comment un service qui tourne avec les droits admin, pourrait etre empeche de les editer (api facilitatrice ou non)...

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2002
    Messages : 84
    Par défaut Delphi Firewall Vista
    J'ai un programme qui tourne sous XP depuis pas mal de temps etqui utilise les techniques précitées pour modifier le firewall.

    Ce même programme doit maintenant tourner sous Vista ! Comment faire sous Vista pour modifier l'adresse IP, le masque, les passerelles, les DNS ainsi que modifier le firewall ?

    Mille mercis d'avance car je sèche ...

  20. #20
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    668
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 668
    Par défaut
    bonjour à toutes et à tous,
    tu peux changer tous les paramètres de pare-feu, y compris l'activation et la
    la désactivation de l'ensemble du pare-feu et l'établissement d'un exécutable , la mise en adresses IP et les ports sur lesquels le programme
    est autorisé à travailler normalement.

    Jete un coup d'œil dans le registre à:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List
    ajoute le port tcp que ton application utilise:
    voici un exemple de l'ajout et la suppression d'un port tcp globalement de la liste des ports ouverts (pare-feu de Windows XP):
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    // Inclure dans ComObj ActiveX et utilise la clause (également pour les variantes et D6 et +)
     
    const
      NET_FW_PROFILE_DOMAIN      =  0;
      NET_FW_PROFILE_STANDARD    =  1;
     
    const
      NET_FW_IP_PROTOCOL_TCP     = 6;
      NET_FW_IP_PROTOCOL_UDP     = 17;
     
    const
      NET_FW_SCOPE_ALL           =  0;
     
    const
      NET_FW_IP_VERSION_ANY      =  2;
     
    implementation
    {$R *.DFM}
     
    procedure TForm1.Button1Click(Sender: TObject);
    var  ovMgr:         OleVariant;
         ovProfile:     OleVariant;
         ovPort:        OleVariant;
    begin
     
      // Créer une interface de gestion
      ovMgr:=CreateOleObject('HNetCfg.FwMgr');
     
      // La protection des ressources
      try
         // Obtenirun profil local interface
         ovProfile:=ovMgr.LocalPolicy.CurrentProfile;
         // La protection des ressources
         try
            // Créer un nouveau port
            ovPort:=CreateOleObject('HNetCfg.FwOpenPort');
            try
               // Définir les propriétés du port
               ovPort.Port:=81;
               ovPort.Name:='Whatever';//nom du port
               ovPort.Scope:=NET_FW_SCOPE_ALL;
               ovPort.IpVersion:=NET_FW_IP_VERSION_ANY;
               ovPort.Protocol:=NET_FW_IP_PROTOCOL_TCP;
               ovPort.Enabled:=True;
               // La protection des ressources
               try
                  // Ajouter à l'échelle globale des ports ouverts
                  ovProfile.GloballyOpenPorts.Add(ovPort);
     
                  ////
                  // .... faire "whatever" ....
                  ////
     
               finally
                  // Retirer de l'échelle globale des ports ouverts
                  ovProfile.GloballyOpenPorts.Remove(81, NET_FW_IP_PROTOCOL_TCP);
               end;
            finally
               // Interface de sortie
               ovPort:=Unassigned;
            end;
         finally
            // Interface de sortie
            ovProfile:=Unassigned;
         end;
      finally
         // Interface de sortie
         ovMgr:=Unassigned;
      end;
     
    end;
    je pense que le Pare-feu de Windows n'est pas destiné à être un sérieux pare-feu, mais plutôt pour protéger les débutants contre l'attaque massive d'un ver...

    non testé!

    A+

    NABIL74

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/02/2010, 11h00
  2. Comment stopper une application Delphi ?
    Par arkhamon dans le forum Langage
    Réponses: 8
    Dernier message: 18/09/2007, 17h22
  3. comment protéger une application delphi?
    Par dj_techno dans le forum Delphi
    Réponses: 2
    Dernier message: 19/04/2007, 12h33
  4. Réponses: 10
    Dernier message: 23/01/2006, 21h44
  5. Comment alléger une application delphi en memoire?
    Par tipiweb dans le forum Langage
    Réponses: 9
    Dernier message: 12/01/2006, 19h45

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