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

MS SQL Server Discussion :

Connexion sécurisée - SSL


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 48
    Points
    48
    Par défaut Connexion sécurisée - SSL
    Bonjour,

    Comment puis-je réaliser une connexion sécurisée entre une application C# développée sous Visual Studio et Sql Server Express?

    Je pense à une connexion de type SSL, mais je ne sais pas comment générer les certificats et indiquer à Sql Server, et Visual Studio, qu'il faut crypter les données échangées.

    Merci

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 218
    Points : 28 193
    Points
    28 193
    Par défaut
    Dans la chaine de connexion peut-être, en rajoutant Encrypt=yes;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 48
    Points
    48
    Par défaut
    Merci pour cette réponse.

    Pour encrypt :

    "Lorsque sa valeur est à true, SQL Server utilise le cryptage SSL pour toutes les données échangées entre le client et le serveur si un certificat a été installé sur ce dernier"

    J'ai généré un certificat à l'aide de Makecert.exe... Mais je ne sais pas vraiment comment m'y prendre afin que Sql Server le prenne en compte.

    Quand j'utilise l'outil de configuation de Sql Server, dans la partie "Configuration du réseau Sql Server 2005", je choisis mon instance et là dans les propriétés j'ai un 1er onglet : Indicateurs.
    Dans cet onglet, je peux choisir de forcer le chiffrement et de masquer l'instance.

    J'ai un second onglet : Certificat. Là, j'ai un menu déroulant, mais vide...Je n'ai pas de bouton ajouter... Comment puis-je faire pour qu'il retrouve le certificat?

    Merci

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 218
    Points : 28 193
    Points
    28 193
    Par défaut
    Je ne sais pas du tout, mes essais sont aussi infructueux

    Je n'ai jamais utiliser les certificats avec SQLServer, donc je sèche aussi

    De plus, de ce que j'ai pu lire dans MSDN, le certificat généré ne devrait être utilisé qu'à des fins de tests pas en prod

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 48
    Points
    48
    Par défaut
    Merci d'essayer.

    J'ai peut-être trouvé une solution... Si vous pouviez l'essayer et me dire le résultat, ça m'arrangerait car je ne sais pas si c'est du à mes anciennes manipulations avec les certificats.

    J'ai lancé l'outil de configuration Sql Server, dans le 1er onglet des propriétés de l'instance (se trouvant dans la partie "Configuration du réseau Sql Server 2005"), j'ai sélectionné : "Oui" pour forcer le chiffrement... Et pour ce qui est du second onglet concernant les certificats, je n'y ai pas touché (il est toujours vide).

    Je lance l'appli depuis mon portable en wifi, passe par un routeur auquel est relié le PC qui contient la BD MS SQL... Je place Wireshark sur cet ordi, et je filtre tout ce qui vient de l'IP de mon portable.

    Voilà ce que j'ai quand je mets "non" pour forcer le chiffrement :

    La requête (select * from essai ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    0000  00 1b fc 32 b2 25 00 1f  3c 25 66 79 08 00 45 00   ...2.%.. <%fy..E.
    0010  00 6c 58 a3 40 00 80 06  20 31 c0 a8 00 65 c0 a8   .lX.@...  1...e..
    0020  00 02 c4 61 0d d7 60 19  a4 19 b2 d0 4e 75 50 18   ...a..`. ....NuP.
    0030  3f 8c 56 48 00 00 01 01  00 44 00 00 01 00 16 00   ?.VH.... .D......
    0040  00 00 12 00 00 00 02 00  00 00 00 00 00 00 00 00   ........ ........
    0050  01 00 00 00 53 00 45 00  4c 00 45 00 43 00 54 00   ....S.E. L.E.C.T.
    0060  20 00 2a 00 20 00 46 00  52 00 4f 00 4d 00 20 00    .*. .F. R.O.M. .
    0070  65 00 73 00 73 00 61 00  69 00                     e.s.s.a. i.
    Les données ("voila"...Remarque : je ne vois pas l'id passer...):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    0000  00 1f 3c 25 66 79 00 1b  fc 32 b2 25 08 00 45 00   ..<%fy.. .2.%..E.
    0010  00 80 5c 8a 40 00 80 06  1c 36 c0 a8 00 02 c0 a8   ..\.@... .6......
    0020  00 65 0d d7 c4 61 b2 d0  4e 75 60 19 a4 5d 50 18   .e...a.. Nu`..]P.
    0030  fc f8 82 2a 00 00 04 01  00 58 00 33 01 00 81 02   ...*.... .X.3....
    0040  00 00 00 00 00 08 00 38  02 69 00 64 00 00 00 00   .......8 .i.d....
    0050  00 08 00 e7 ff ff 0c 04  d0 00 00 03 6e 00 6f 00   ........ ....n.o.
    0060  6d 00 d1 01 00 00 00 0a  00 00 00 00 00 00 00 0a   m....... ........
    0070  00 00 00 76 00 6f 00 69  00 6c 00 61 00 00 00 00   ...v.o.i .l.a....
    0080  00 fd 10 00 c1 00 01 00  00 00 00 00 00 00         ........ ......


    Lorsque je mets qu'il faut forcer le chiffrement, je regarde les même paquets (16 et 17)

    La requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    0000  00 1b fc 32 b2 25 00 1f  3c 25 66 79 08 00 45 00   ...2.%.. <%fy..E.
    0010  00 81 59 1b 40 00 80 06  1f a4 c0 a8 00 65 c0 a8   ..Y.@... .....e..
    0020  00 02 c4 70 0d d7 37 7e  a9 74 4f 05 eb 02 50 18   ...p..7~ .tO...P.
    0030  3f 77 ea 8f 00 00 17 03  01 00 54 fc 2d 9b be a9   ?w...... ..T.-...
    0040  58 e3 4e 36 08 d3 c4 7d  09 ae 63 10 04 6a 59 79   X.N6...} ..c..jYy
    0050  fa 2e 81 bd e3 41 7b ac  be a6 e7 6d 81 6e ce 35   .....A{. ...m.n.5
    0060  38 30 44 87 9f 00 cd 0e  c4 31 5a c0 2a 92 07 bc   80D..... .1Z.*...
    0070  5b 14 f4 43 b5 d4 67 69  8f 0b 1b 82 02 b1 49 d4   [..C..gi ......I.
    0080  19 89 26 87 66 d4 50 9f  7a 14 38 02 cd 41 99      ..&.f.P. z.8..A.

    Les données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    0000  00 1f 3c 25 66 79 00 1b  fc 32 b2 25 08 00 45 00   ..<%fy.. .2.%..E.
    0010  00 95 5e 53 40 00 80 06  1a 58 c0 a8 00 02 c0 a8   ..^S@... .X......
    0020  00 65 0d d7 c4 70 4f 05  eb 02 37 7e a9 cd 50 18   .e...pO. ..7~..P.
    0030  fc e3 82 3f 00 00 17 03  01 00 68 71 f3 bf b8 2f   ...?.... ..hq.../
    0040  8d 9a 78 08 e9 d9 76 e9  08 7f 75 e0 65 e9 40 46   ..x...v. ..u.e.@F
    0050  17 1c c9 08 6f 00 73 6c  bf 40 38 39 f6 ba f9 40   ....o.sl .@89...@
    0060  f2 21 60 43 03 b1 a3 0d  0c 28 77 1c b9 46 00 4f   .!`C.... .(w..F.O
    0070  f5 4b cb 65 4a 00 28 3d  33 41 7e e6 02 e2 d9 39   .K.eJ.(= 3A~....9
    0080  3f ea 15 c0 d7 72 38 cc  d8 04 c0 f2 dc be 47 de   ?....r8. ......G.
    0090  54 37 29 90 22 8f 7c 09  f7 80 58 cd 47 a5 f6 a1   T7).".|. ..X.G...
    00a0  2c 53 7f                                           ,S.

    Par contre, que ce soit l'une où l'autre méthode, le nom du serveur et le port passent en clair :

    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
    0000  00 1f 3c 25 66 79 00 1b  fc 32 b2 25 08 00 45 00   ..<%fy.. .2.%..E.
    0010  00 d8 5e 4d 00 00 80 11  5a 10 c0 a8 00 02 c0 a8   ..^M.... Z.......
    0020  00 65 05 9a ce a2 00 c4  46 41 05 b9 00 53 65 72   .e...... FA...Ser
    0030  76 65 72 4e 61 6d 65 3b  50 43 2d 44 45 2d 44 41   verName; PC-DE-DA
    0040  4d 49 45 4e 2d 42 55 3b  49 6e 73 74 61 6e 63 65   MIEN-BU; Instance
    0050  4e 61 6d 65 3b 53 51 4c  45 58 50 52 45 53 53 32   Name;SQL EXPRESS2
    0060  30 30 35 3b 49 73 43 6c  75 73 74 65 72 65 64 3b   005;IsCl ustered;
    0070  4e 6f 3b 56 65 72 73 69  6f 6e 3b 39 2e 30 30 2e   No;Versi on;9.00.
    0080  34 30 33 35 2e 30 30 3b  74 63 70 3b 33 35 34 33   4035.00; tcp;3543
    0090  3b 6e 70 3b 5c 5c 50 43  2d 44 45 2d 44 41 4d 49   ;np;\\PC -DE-DAMI
    00a0  45 4e 2d 42 55 5c 70 69  70 65 5c 4d 53 53 51 4c   EN-BU\pi pe\MSSQL
    00b0  24 53 51 4c 45 58 50 52  45 53 53 32 30 30 35 5c   $SQLEXPR ESS2005\
    00c0  73 71 6c 5c 71 75 65 72  79 3b 76 69 61 3b 50 43   sql\quer y;via;PC
    00d0  2d 44 45 2d 44 41 4d 49  45 4e 2d 42 55 2c 30 3a   -DE-DAMI EN-BU,0:
    00e0  31 34 33 33 3b 3b                                  1433;;

    Pourriez-vous me dire si vous obtenez le même résultat?

    Merci

  6. #6
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 218
    Points : 28 193
    Points
    28 193
    Par défaut
    LE problème est que je n'ai qu'un seul PC donc les connexions avec SQLServer ne passent pas par IP.
    En tout Wireshack ne les voient pas passer même en forçant le protocole TCP/IP sur le serveur SQL

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 48
    Points
    48
    Par défaut
    Ok ok,

    Je vais essayer avec une nouvelle instance sur laquelle je n'ai pas fait de tests avec les certificats.

    Au fait, voilà ce que j'ai testé :

    J'ai sélectionné ma BD dans Sql Server Management Studio pour y entrer des requêtes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    USE master
    GO
     
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '{425C4D21-AD5D-4807-A612-74C212759F7E}';
    GO
     
    CREATE CERTIFICATE A_CERT
       WITH SUBJECT = 'A', START_DATE = '20070101',  EXPIRY_DATE = '20501231';
    GO
     
    BACKUP CERTIFICATE A_CERT TO FILE = 'C:\A_CERT.cer';
    GO
    Ensuite j'ai pris le certificat et je l'ai ajouté sur mon portable depuis la MMC dans : autorités de certification racines de confiance.

    Mais au final, je ne suis pas sur que cette manipulation soit utile, car quand je supprime le certificat de mon portable, et que je maintient sur le serveur que le chiffrement doit être forcé, et bien le cryptage a bien lieu...

    Je tests avec une autre instance et je post le résultat.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 48
    Points
    48
    Par défaut
    Je n'ai pas eu besoin de rajouter de certificats avec une nouvelle instance...

    Ça me parait assez bizarre, j'aimerais bien comprendre comment fonctionne ce chiffrement, si quelqu'un sait m'expliquer...

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 015
    Points
    53 015
    Billets dans le blog
    6
    Par défaut
    Vous n'avez pas indiqué le version de SQL Server :
    2005, 2008 ou 2008 R2.

    Commencez par le commencement !

    A +

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    J'utilise Sql Server 2008 express.

Discussions similaires

  1. Connexion sécurisée SSL à l'annuaire LDAP
    Par M E H D I dans le forum VBScript
    Réponses: 0
    Dernier message: 14/12/2010, 16h00
  2. [MySQL] Connexion sécurisée avec SSL
    Par Emilie012 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/02/2009, 11h49
  3. Réponses: 2
    Dernier message: 24/07/2006, 17h58
  4. Connexion sécurisée
    Par loupiac dans le forum Oracle
    Réponses: 2
    Dernier message: 03/11/2005, 09h00
  5. Pb de connexion sécurisée pour sites Internet et Intranet
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/07/2003, 16h16

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