Navigation

    Planète Warez

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Groups
    • Documentation
      • CGU
      • News
      • Team
      • Tutoriels
      • Wiki
      • Bug Report

    Les liens illégaux ou les demandes d'invitation sont interdits.


    [NAS] [QNAP] Problème de connexion avec certains Services WEB - Mettre à jour les Certificats ROOT Let's Encrypt

    Tutoriels informatiques
    2
    3
    126
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Foque411
      Foque411 last edited by Foque411

      Prérequis :

      • Savoir utiliser un client SSH (Putty, kitty…)
      • Savoit utiliser un éditeur texte vim (Ou utiliser le mode Edition du client sftp WinSCP) (on va essayer de minimiser ce dernier point)

      Joie, vous venez enfin d’intégrer le Tracker super privé que vous convoittiez, ou la dernière grosse board DDL …

      Mais Horreur, le logiciel de Download / BitTorrent de votre Nas ne parvient pas à se connecter aux serveurs en question.

      Tracker: [Peer certificate cannot be authenticated with given CA certificates]
      Error: Unable to establish a secure connection
      

      Pourtant le navigateur web de mon PC se connecte sans problème en HTTPS et je peux consulter le contenu disponible.

      • Alors où est le problème ?

      Il y a de fortes chances que le problème concerne le certificat de sécurité SSL/TLS utilisé par les sites en question.
      Et que ce certificat provienne de l’Autorité de Certification Let’s Encrypt (CA qui fournit des certificats gratuits aux sites web).

      Let’s Encrypt utilisait dans sa chaîne de certification un Certificat Intermédiaire qui a expiré en Septembre 2021. Rien de problématique puisque maintenant il fournit un nouveau certificat pour la validation et qu’une très grande partie des Systèmes d’Exploitation ont intégré ces nouveaux Certificats Root Let’s Encrypt dans leur bundle de certificats Root CA.

      Malheureusement ce n’est pas le cas pour certains matériels anciens qui n’auront pas de mise à jour ainsi que pour certains Nas.
      C’est le cas pour des Nas QNAP (O.S QTS à jour), il n’y a pas eu de mise à jour du bundle de certificats Root CA.

      • Comment savoir si mon Nas est concerné ?

      Il faut ouvrir une session admin (root) à distance sur le Nas par SSH et exécuter la commande suivante

      wget https://framadrive.org
      

      Votre Nas est concerné si vous avez ce retour

      Connecting to framadrive.org|94.130.9.91|:443... connected.
      ERROR: cannot verify framadrive.org's certificate, issued by ‘CN=R3,O=Let's Encrypt,C=US’:
      Issued certificate has expired.
      
      • Alors que peut-on faire ?

      On va ajouter au Nas les certificats Let’s Encrypt nécessaires en suivant les commandes suivantes
      (on est toujours en session à dustance par SSH)

      # on cree un dossier de stockage
      mkdir ~/lets-encrypt-certs
      cd ~/lets-encrypt-certs
      # on recupere les certificats
      curl --ipv4 --insecure -O https://letsencrypt.org/certs/isrgrootx1.pem
      curl --ipv4 --insecure -O https://letsencrypt.org/certs/isrg-root-x2.pem
      # on modifie le nom des fichiers pour les rendre compatible ave openssl
      for filename in *pem; do cp $filename `openssl x509 -hash -noout -in $filename`.0; done;
      # on ajoute les fichiers de certificat au bundle de Certificats Root CA du systeme
      cp *.0 /etc/ssl/certs/
      cd
      

      Et maintenant on valide la modification

      wget https://framadrive.org
      

      Résultat, Code 200, tout va bien

      Reusing existing connection to framadrive.org:443.
      HTTP request sent, awaiting response... 200 OK
      Length: 25337 (25K) [text/html]
      Saving to: ‘index.html’
      

      Dorénavant tous les softwares affectés par ce problèmes vont fonctionner correctement. Software comme wget, curl, transmission, …

      J’ai utilisé le site framadrive.org comme exemple pour respecter les urls illégales, je peux indiquer que ce problème concerne également au moins 2 trackers

      • sharewood.*** (site généraliste français)
      • re*******.*** (site de musique suisse)

      Remarques importantes :
      1 - Ni le forum ni moi-même ne sont responsables de vos actions sur votre Nas, si vous ne comprennez pas ce aque vous êtes en train de faire alors ne le faite pas !

      2 - Vu le fonctionnement du système QTS, cette modififcation sera écrasée après redémarrage du Nas 😕

      Je remercie fortement la personne qui m’a permis de tester ce HOW-TO sur son Nas QNAP 😉

      Nota : Je ferais un update quand je pourrais tester une solution pour rendre la modification permanente après redémarrage du Nas.

      Ze-lol 1 Reply Last reply Reply Quote 3
      • Ze-lol
        Ze-lol @Foque411 last edited by

        @foque411

        Merci pour ton tuto! C’est sympa de partager.

        1 Reply Last reply Reply Quote 1
        • Foque411
          Foque411 last edited by

          Partie II - Rendre les modifications permanentes

          Vous avez aimé (ou pas) l’éposode 1 alors vous allez adorer (détester) l’épisode 2 😄

          Comme je l’ai indiqué plus tôt, le système QTS procède à un Reset d’un certain nombre de fichiers/dossier lors du re-démarrage d’un Nas QNAP.
          Ce comportment a pour effet de supprimer les personnalisations apportés par l’utilisateur. J’attire l’attention sur le fait que même le dossier de l’utiliseur admin (root) est ré-initialisé.

          Donc la 1ère chose à faire est de trouver un endroit de stockage pérenne pour les informations nécessaires à notre modification. Il apparaît que le système QTS utilise un dossier particuliers (/share) pour installer les volumes de stockage (disques durs du Nas) et que dans cette arborescence, il existe un dossier particuliers qui sert à stocker les applications du système (exécutable, fichiers de configuration, images…). Ce dossier (.qpkg) n’est pas concerné par la phase de Reset au démarrage et nous allons donc nous en servir pour stocker nos informations.

          Pour déterminer le chemin en question, nous allons utiliser la commande

          find /share -type d -name '.qpkg'
          

          Pour le Nas concerné, le résultat est

          /share/CACHEDEV1_DATA/.qpkg
          

          Ce chemin va servir de dossier de base pour enregistrer nos données.

          Donc on recommence le processus pour les certificats Let’s Encrypt

          # on cree un dossier de stockage
          mkdir -p /share/CACHEDEV1_DATA/.qpkg/myroot/lets-encrypt-certs
          cd /share/CACHEDEV1_DATA/.qpkg/myroot/lets-encrypt-certs
          
          # on recupere les certificats
          curl --ipv4 --insecure -O https://letsencrypt.org/certs/isrgrootx1.pem
          curl --ipv4 --insecure -O https://letsencrypt.org/certs/isrg-root-x2.pem
          
          # on modifie le nom des fichiers pour les rendre compatible ave openssl
          for filename in *pem; do cp $filename `openssl x509 -hash -noout -in $filename`.0; done;
          
          # on ajoute les fichiers de certificat au bundle de Certificats Root CA du systeme
          cp *.0 /etc/ssl/certs/
          cd ..
          

          Nous voici revenu à la situation précédente avec des certificats Let’s Encrypt à jour.
          Nous allons maintenant nous occuper de rendre les modifications permanentes.

          Nous allons utiliser une possibilité offerte par le système QTS : lancer un script utilisateur au démarrage du Nas.

          Bon comme on est sur un Nas et que rien n’est simple, il faut utiliser une méthode particulière pour accéder à ce script.
          En effet il est directment stocké dans la mémoire flash du Nas, et son accès nécessite de ‘monter la partition’ en question dans le système de fichier.

          Nota : Voici la source qui permet de déterminer comment monter la partition en question selon le modèle du Nas
          https://wiki.qnap.com/wiki/Running_Your_Own_Application_at_Startup

          Pour le Nas en question, cela donne (Il est important de bien suivre toutes les instructions)

          # Montage de la partition Flash dans le dossier /tmp/config
          mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config
          
          # deplacement ans le dossier de montage
          cd /tmp/config
          
          # creation du script autorun.sh (on evitant d'utiliser vi)
          echo '#!/bin/sh' > autorun.sh
          echo '/share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh &' >> autorun.sh
          
          # on rend le script executable
          chmod u+x autorun.sh
          
          # deplacement dans le dossier d'origine - indispensable sinon on ne peut pas demonter le point de montage /tmp/config
          cd /share/CACHEDEV1_DATA/.qpkg/myroot
          
          # IMPORTANT, demontage du point de montage /tmp/config
          umount /tmp/config
          

          Voila le script autorun.sh est en place 🙂

          Mais vous noterez qu’il ne fait pas grand chose, en fait, il ne fait que lancer un autre script qui est placé dans notre dossier de travail. De cette manière, on peut apporter des modifications à notre script de démarrage sans devoir repasser par l’étape (pénible) du montage de la partition Flash.

          Donc maintenant nous allons créer le nouveau script qui effectue réellement les modifications nécessaires pour les certificats let’s Encrypt.

          Script : /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh

          # creation du script my_autorun.sh (toujours en evitant vi)
          echo '#!/bin/sh' > /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          echo 'LOGFILE=/root/my_autorun_`date +"%Y%m%d_%k_%M_%S"`.txt' >> /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          echo 'echo "START : $0" >> "$LOGFILE"' >> /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          echo 'if [ -d /share/CACHEDEV1_DATA/.qpkg/myroot/lets-encrypt-certs ]; then' >> /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          echo '  echo "COPY LETS ENCRYPT CERTS" >> "$LOGFILE"' >> /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          echo '  cd /share/CACHEDEV1_DATA/.qpkg/myroot/lets-encrypt-certs' >> /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          echo '  cp -f *.0 /etc/ssl/certs/' >> /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          echo 'fi' >> /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          echo 'exit 0' >> /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          
          # on rend le script executable
          chmod u+x /share/CACHEDEV1_DATA/.qpkg/myroot/my_autorun.sh
          

          On a terminé avec SSH et on peut ENFIN fermer la session à distance sur le Nas.

          Maintenant le point final : on active la fonction Autorun de QTS dans l’interface Web

          1 - On se connecte avec l’utilisateur admin sur l’interface Web du nas
          2 - On lance le Panneau de configuration > Matériel > Cocher ‘Exécuter les processus définis par l’utilisateur lors du démarrage’
          3 - On peut vérifier le contenu du script autorun.sh avec le lien (Voir autorun.sh)
          4 - On valide en cliquant Appliquer
          4 - On ferme le Panneau de configuration

          Panneau de Configuration

          Il ne reste plus qu’à stopper toutes les tâches en cours et à redémarrer le Nas pour vérifier le bon fonctionnement de l’Autorun.

          Merci pour votre attention et prenez soin de vous et de vos proches 😉

          REMARQUE IMPORTANTE :

          1 - Ni le forum ni moi-même ne sont responsables de vos actions sur votre Nas, si vous ne comprennez pas ce aque vous êtes en train de faire alors ne le faite pas !

          Je remercie à nouveau la personne qui m’a permis de tester ce HOW-TO sur son Nas QNAP 😉

          Guest Star : Fab et son Nas QNAP

          1 Reply Last reply Reply Quote 2
          • First post
            Last post




          planete-warez.net  
          RGPD | Theme by @Violence |   ©2022