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 :

PROFTPD - Creer un certificat Intermediaire et un cert user


Sujet :

Sécurité

  1. #1
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 68
    Points : 49
    Points
    49
    Par défaut PROFTPD - Creer un certificat Intermediaire et un cert user
    Bonjour,

    Je suis navré de vous embêter la dessus mais je cherche a savoir comment faire un cert intermédiaire et avoir un cert user a envoyé a un client pour qu'il puisse se connecté sur notre FTP.

    Le problème est que je ne maîtrise pas le sujet et sur internet les tutoriels/guide sont assez flou pour moi. je peux faire le nécessaire a partir de zéro mais là on ma refilé le BB !

    je cherche tout d'abord a déterminé le root KEY et le Root CRT.

    Voilà ma config actuel open_ssl.cnf:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TLSRSACertificateFile                 /etc/ssl/certs/cert-www.crt
    TLSRSACertificateKeyFile          /etc/ssl/private/Wservices.key
    TLSRenegotiate                          required on 
    TLSPRotocol			SSLv23
    Root KEY = Wservices.key ??
    Root CRT = cert-www.crt ??

    J'ai trouvé sur internet cet portion de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    openssl genrsa -out IntermediateCA.key 4096
    openssl req -new -key IntermediateCA.key -out IntermediateCA.csr
    openssl x509 -req -days 1000 -in IntermediateCA.csr -CA RootCA.crt -CAkey RootCA.key -CAcreateserial  -out IntermediateCA.crt
    Mais j'ai ce message d'erreur pour la 3em ligne de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    unable to load certificate
    140447468099216:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
    Pourriez vous m'aiguiller ?? Je vous en serai tres reconnaissant !
    Repondez SVP Sur LeMafiozo@hotmail.com MERCI

  2. #2
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2019
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2019
    Messages : 91
    Points : 153
    Points
    153
    Par défaut
    normalement les etapes :

    1- creer une autorité de certification CA ( root ca) --> normalement déjà crée il faut trouver le RootCa qqpart sur ton serveur ou demande à l'admin
    2- creer un certificat pour le serveur signé par l'autorité de certification CA --> la config se trouve sur ton serveur : cle privée Winservice.key et certicat cert-www.crt donc rien à faire on est bon
    3- creer un certificat client pour le client signé par l'autorité de certification CA --> le certificat client à creer à partir du root CA


    là suivant ton exemple on est à l étape 3 :

    creation la clé cliente RSA
    openssl genrsa -out IntermediateCA.key 4096

    creation certificate signing request (dR).* à partir de ta clé
    openssl req -new -key IntermediateCA.key -out IntermediateCA.csr

    creation du certificat signé par l'autorité racine sur 1000 jours :

    openssl x509 -req -days 1000 -in IntermediateCA.csr -CA RootCA.crt -CAkey RootCA.key -CAcreateserial -out IntermediateCA.crt


    reponse:
    unable trusted certificat load CA->

    As tu le certificat autorité racine quelque part ? non ? --> go etape 1

    demande à ton admin de fournir la clé RootCA.key et le certif RootCa.crt

    sinon tu pourras rien faire pour generer la clé pour le client.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 68
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    Merci beaucoup ton aide.

    J'ai regeneré un ROOT CA depuis mon serveur et ensuite crée le certificat ROOT autosigné pour ensuite generer le enduser-certificat car j'avais une erreur en reprenant celui contenu dans le fichier proftpd.conf :

    Signature ok
    subject=/C=FR/ST=PARIS/O=xxxxxxxxxxxxxxxxx
    unable to load certificate
    140006824195728:error:0906D06CEM routinesEM_read_bio:no start line:pem_lib.c :703:Expecting: TRUSTED CERTIFICATE

    j'ai donc decidé de recrée un Root CA.

    Generate the private key of the root CA:

    openssl genrsa -out rootCAKey.pem 2048

    Generate the self-signed root CA certificate:

    openssl req -x509 -sha256 -new -nodes -key rootCAKey.pem -days 3650 -out rootCACert.pem

    creation la clé cliente RSA

    openssl genrsa -out IntermediateCA.key 4096

    creation certificate signing request (dR).* à partir de ta clé

    openssl req -new -key IntermediateCA.key -out IntermediateCA.csr

    creation du certificat signé par l'autorité racine sur 1000 jours :

    openssl x509 -req -days 1000 -in IntermediateCA.csr -CA rootCACert.pem -CAkey rootCAKey.pem -CAcreateserial -out IntermediateCA.crt

    Par contre, J'ai plusieurs questions :

    - concernant le COMMON NAME, on ne m'a pas demandé de saisir celui ci ( cela doit correspondre au hostname du serveur exacte ? ) ? est-ce normal ?
    - peut t'on se passer du fichier de conf openssl.conf ?
    - quel est l'impact de recrée un Root CA ? peut t'on en crée plusieurs a la volée ?

    Comment verifier que tout ce que j'ai fait est bien correcte ?

    J'ai envoyé les fichier a mon client donc j'attends son retour...

    Merci encore.

    Cdt,
    Repondez SVP Sur LeMafiozo@hotmail.com MERCI

  4. #4
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2019
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2019
    Messages : 91
    Points : 153
    Points
    153
    Par défaut
    ATTENTION...

    ok donc tu as

    - RE-générer un certificat d'autorité racine : rootCA
    ce certificat est auto-signé par le server lui meme ( c'est pas l'ideal normalement on le signe par une autorité tierce de confiance style ' Verisign' , bref .)

    - générer un certificat client à partir de l'autorité racine : IntermediateCA

    MAIS :
    il te manque de RE-generer une clé et certificat SERVER ! à partir de l'autorité racine . : donc remplacer cert-www.crt et Wservices.key dans tes fichier ou les regénérer..

    avec l'etape comme tu as fais pour le client et le root CA...

    sinon le client va jamais communiquer avec le serveur !

    pour les tests je te laisse chercher sur la doc openssl.
    tu aurais pu tester la communication client / serveur avec PUTTY ou WINSCP avant d'envoyer au client quand meme

    allez go !

  5. #5
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 68
    Points : 49
    Points
    49
    Par défaut
    Le fait de regenerer une clé un certificat serveur et le remplacer dans le fichier proftpd.conf ne va t'il pas impacté les autres clients qui s'y connecte ?

    Suite a cette remarque, j'ai decidé de conserver la key et le cert serveur generé :

    openssl x509 -req -days 1000 -in IntermediateCA.csr -CA /etc/ssl/certs/cert-w3s.crt -CAkey /etc/ssl/private/W3services.key -CAcreateserial -out IntermediateCA.crt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Signature ok
    subject=/C=FR/ST=Paris/O=XXXXXXXXXXXXXXXXXXXXXXXX
    Getting CA Private Key
    CA certificate and CA private key do not match
    140466328327824:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('/etc/ssl/certs/cert-w3s.srl','r')
    140466328327824:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
    140466328327824:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:330:
    le message "CA certificate and CA private key do not match" indique que W3services.key et cert-w3s.crt ne corresponde pas ? ce sont bien ces 2 fichiers ?

    Quel est l'impact de ce probleme là ? car je vois dans les log que en fait ca dure depuis des mois !!!

    Concernant le test sur Putty, je t'avoue que je ne sais pas faire ça !!!

    Merci !! grace a toi je comprends un peu mieux le fonctionnement !! sinon pour les questions que je t'ai posé, as tu des reponses ?

    Par contre, J'ai plusieurs questions :

    - concernant le COMMON NAME, on ne m'a pas demandé de saisir celui ci ( cela doit correspondre au hostname du serveur exacte ? ) ? est-ce normal ?
    - peut t'on se passer du fichier de conf openssl.conf ?
    - quel est l'impact de recrée un Root CA ? peut t'on en crée plusieurs a la volée ?
    Cdt,
    Repondez SVP Sur LeMafiozo@hotmail.com MERCI

  6. #6
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2019
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2019
    Messages : 91
    Points : 153
    Points
    153
    Par défaut
    apparemment je t'ai mal expliqué ,

    dans ton exemple tu essaies de générer le certificat client a partir du certif server çà ne peut pas marcher .

    il te faut l'autorité de certification racine
    le certificat CA rootCACert.pem et sa clé rootCAKey.pem d'origine qui sont à la base pour générer W3services et cert.


    tu extrais ton certif RootCA.pem de ton cert.

    http://documentation.commvault.com/c...cle?p=7843.htm


    et tu regardes si t'as pas la clé privée qq part qui correspond sur ton RootCA
    regarde dans
    /etc/ssl/certs/ pour les certificats
    /etc/ssl/private/' pour les clés.


    https://guide.ubuntu-fr.org/server/c...-security.html

  7. #7
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 68
    Points : 49
    Points
    49
    Par défaut
    ok

    Donc j'ai lancé la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    openssl s_client -connect [hostname:PORT] –showcerts
    J'ai 3 bloc BEGIN CERTIFICATE et END CERTIFICATE

    le 2eme correspond au ROOT CA ( je me pers un peu dans les termes ) si je comprends bien !

    et tu regardes si t'as pas la clé privée qq part qui correspond sur ton RootCA
    quand tu dis CORRESPONDRE, de quoi parle tu ?

    De verifier que le hash corresponde bien via cette commande par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    openssl rsa -noout -modulus -in www-votre-domaine-fr.key | openssl md5
    openssl req -noout -modulus -in www-votre-domaine-fr.csr | openssl md5
    Repondez SVP Sur LeMafiozo@hotmail.com MERCI

  8. #8
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2019
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2019
    Messages : 91
    Points : 153
    Points
    153
    Par défaut
    rien à voir avec le hash code...
    il faut trouver la clé privée qui t'a permis de générer le certificat RootCa. ( autorité racine )

    dans /etc/ssl/private/' pour les clés.

  9. #9
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 68
    Points : 49
    Points
    49
    Par défaut
    J'ai relu l'ensemble de la conversation et pour information :

    - je suis bien l'admin mais depuis peu de temps et personne ne m'a donné le ROOT CA et sa key et je suis pas sur qu'il le sache ( ni meme le passphrase si il y en as un )

    - si je change le cert/key du serveur, quel est l'impact pour les connections qui sont en cours et pour les autres clients qui s'y connecteront ?

    et au passage si je comprends bien il y a comme fichier :

    - le cert ROOT CA et sa clé ( autosignée ou venant d'une societe tiers )
    - le cert et la clé du serveur ( generer avec le ROOT CA )
    - le clé RSA pour generer le cert intermediaire
    - le certificat client ( partir du certificat intermediaire, sa clé, le ROOT CA, la clé du ROOT CA )

    j'ai bien bon dans l’énoncé de tous les clés et certificat ?
    Repondez SVP Sur LeMafiozo@hotmail.com MERCI

  10. #10
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2019
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2019
    Messages : 91
    Points : 153
    Points
    153
    Par défaut
    oui tout bon pour moi tu viens de generer un client ( il se nomme intermediaire file mais bon..)
    il n'y a pas de fameux "intermediaire"..

    bref si tu change les clé serveurs effectivement tes clients ne fonctionneront plus...donc gaffe


    regarde sur ton serveur la clé rootca.key et le certificat root ca est forcement qqpart .peut etre que ces 2 fichiers se nomme diferrement.

    par exemple :


    http://www.proftpd.org/docs/howto/TLS.html


    TLSRequired off

    # Server's RSA certificate
    TLSRSACertificateFile /etc/ftpd/server-rsa.cert.pem
    TLSRSACertificateKeyFile /etc/ftpd/server-rsa.key.pem

    # Server's EC certificate
    TLSECCertificateFile /etc/ftpd/server-ec.cert.pem
    TLSECCertificateKeyFile /etc/ftpd/server-ec.key.pem

    # CA the server trusts
    TLSCACertificateFile /etc/ftpd/root.cert.pem




    regarde dans /etc/ftpd....

Discussions similaires

  1. Creer un certificat SSL auto-signé pour un serveur TFTP
    Par Zelda4x dans le forum Windows Serveur
    Réponses: 10
    Dernier message: 02/05/2018, 21h46
  2. comment passer en HTTPS et creer un certificat
    Par gold15 dans le forum Débuter
    Réponses: 1
    Dernier message: 26/01/2011, 12h42
  3. Proftpd et certificat d'OVH
    Par foxer98 dans le forum Administration système
    Réponses: 0
    Dernier message: 18/08/2010, 00h41
  4. Stockage .cert d'un certificat
    Par manu_noisette dans le forum C#
    Réponses: 0
    Dernier message: 12/05/2010, 10h56
  5. [Certificat] Créer un certificat self signed par le code
    Par UnAboOM dans le forum Sécurité
    Réponses: 5
    Dernier message: 10/07/2005, 17h33

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