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

Contribuez .NET Discussion :

[C#]Comment gérer le Firewall lors d'un déploiement ? [FAQ]


Sujet :

Contribuez .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut [C#]Comment gérer le Firewall lors d'un déploiement ?
    Bonjour,

    je développe un petit client. Le problème c'est que quand je l'install le firewall de windows le bloque. Y a-t-il un truc pour ouvrir le port sur le firewall de windows lors de l'installation ?

    Merci

  2. #2
    Membre éclairé Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Par défaut
    Je ne pense pas..
    Imagine un virus qui s'installe sur le pc et qui ouvre tous les ports de ton firewall ca serait quand meme un peu facile..

    Logiquement la décision de permettre l'accès à internet à un programme revient à l'utilisateur..
    Enfin je peux me tromper bien entendu..

  3. #3
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    Il y a certain programme qui lors de leur installation demande à l'utilisateur s'il veux bien que l'installeur ouvre le port xxxx.

    C'est ça que je veux faire.

    Parce que mes users sont trop neuneu pour ouvrir un port et que j'ai envie de faire le tour des 200 bureaux...

  4. #4
    Membre confirmé Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Par défaut
    J'imagine que quelque chose comme ça :
    http://telecharger.yacapa.com/telech...K+1.0-856.html

    Mais pas spécifique à IPv6 doit exister quelque part...

    Pas de réponse facile, et beaucoup d'étude en vue...

    pour 200 poste, ça peut valoir la peine... À toi de voir

  5. #5
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    c'est bon, j'ai trouvé une classe qui peut ouvrir un port sur le firewall d'XP.

  6. #6
    Membre éclairé Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Par défaut
    Peux-tu en faire part à tout le monde?
    Merci

  7. #7
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    Yaka demander ;-)
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
     public class XPFireWall
         {
             /// <summary>
             /// Configuration du firewall windows
             /// </summary>
             /// <param name="protocol">Protocol de communication du port</param>
             /// <param name="port">Numero du port</param>
             /// <param name="mode">Mode de configuration</param>
             /// <param name="scope">Etendue</param>
             /// <param name="RuleName">Nom de la règle de configuration</param>
             /// <returns>Execution reussit</returns>
             public bool SetPort(Protocol protocol, int port, Mode mode, Scope scope, string RuleName)
             {
                 bool _blnReussit = false;
     
                 //Version de L'OS Minimum pour la configuration du firewall
                 Version _versOSVersion = new Version(5, 1, 2600);
     
                 if ((Environment.OSVersion.Version > _versOSVersion) || ((Environment.OSVersion.Version == _versOSVersion) /*&& (int.Parse(Environment.OSVersion.ServicePack.Replace("Service Pack ", "")) >= 2)*/))
                 {
                     //Concaténation des parametres
                     string _strParam = string.Concat(new object[] { "firewall set portopening ", protocol, " ", port, " ", RuleName, " ", mode, " ", scope });
     
                     //Parametrage du process NETSH
                     Process _procNetSH = new Process();
                     _procNetSH.StartInfo.FileName = "netsh";
                     _procNetSH.StartInfo.Arguments = _strParam;
                     _procNetSH.StartInfo.CreateNoWindow = true;
                     _procNetSH.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                     _procNetSH.StartInfo.UseShellExecute = false;
                     _procNetSH.StartInfo.RedirectStandardOutput = true;
                     _procNetSH.StartInfo.RedirectStandardError = true;
                     try
                     {
                         //Execution du processus NETSH
                         _procNetSH.Start();
                         _procNetSH.WaitForExit(20000);
                         if (_procNetSH.ExitCode == 0)
                         {
                             _blnReussit = true;
                         }
                     }
                     catch(Exception e)
                     {
                     }
                     finally
                     {
                         if (_procNetSH != null)
                         {
                             _procNetSH.Close();
                             _procNetSH.Dispose();
                         }
                     }
                 }
                 return _blnReussit;
             }
     
             public enum Mode
             {
                 Enable,
                 Disable
             }
             public enum Profil
             {
                 Current,
                 Domain,
                 Standard,
                 All
             }
             public enum Protocol
             {
                 TCP,
                 UDP,
                 ALL
             }
             public enum Scope
             {
                 All,
                 Subnet,
                 Custom
             }
        }
    Et ça s'utilise comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    XPFireWall fw = new XPFireWall();
    			fw.SetPort(XPFireWall.Protocol.TCP,8888/*numport*/,XPFireWall.Mode.Disable,XPFireWall.Scope.All,"Nomdelaregle");

  8. #8
    Membre confirmé Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Par défaut
    Wahaa...

    Et on peut savoir ou tu as déniché ça ?!??!

    Je vais m'amuser ce soir

  9. #9
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    J'ai trouvé que la commande netsh faisait ce que je voulais... Ensuite je l'ai juste encapsulé ds une classe .NET qui lance un process...

  10. #10
    Membre éclairé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Billets dans le blog
    1
    Par défaut
    j'ai trouvé ce lien aussi

    http://www.codeproject.com/useritems...etupAction.asp


    IRNBRU

  11. #11
    Membre expérimenté Avatar de wikipierre
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Par défaut
    Bonjour,
    Même si c'est résolu... vos appliations ne seront jamais sécurisé !

    Essaye regarde, dans ton réseaux, fait la même application et ouvre tout les ports Réseaux en TCP, UDP et ensuite fait un Scan (légal hein) d'une autre machine !

    Moi, ce que j'aime bien faire c'est ca :
    1/ Tu ouvre une socket et tu la referme
    2/ L'utilisateur aura un message qui lui demmandera son avis.

    Ensuite, ta classe ne marche qu'avec le firewall d'XP, sur beaucoup de machine d'utilisateur "non neuneu" ce pare-feu est désactivé.

    Ensuite, si les exceptions dans le pare-feu sont désactivé tu ne pourra rien faire ! Et donc avec ca tu ne pourra rien faire sir le Monsieur a le pare feu de Symantec ou autre...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment gérer plusieurs langues ?
    Par InterSQL dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/02/2004, 16h12
  2. Comment gérer plusieurs icones dans son exécutable ?
    Par declencher dans le forum Langage
    Réponses: 5
    Dernier message: 15/10/2003, 10h49
  3. Comment gérer ma carte réseau en ASM
    Par will1974 dans le forum Assembleur
    Réponses: 6
    Dernier message: 23/09/2003, 17h08
  4. Comment gérer la touche echap ?
    Par Adrael dans le forum C
    Réponses: 28
    Dernier message: 11/07/2003, 13h15
  5. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 09h44

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