This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

 

Si nous utilisons des cookies et retenons des données anonymes, c’est pour nous aider à mieux gérer notre mesure d’audience, aider nos partenaires commerciaux à nous rémunérer et nos partenaires publicitaires à proposer des annonces qui vous correspondent.

 

Grâce à ces cookies, le forum est en mesure de savoir qui écrit un message et utile pour le système d'authentification.

 

En cliquant sur « J'accepte », vous acceptez l'utilisation par NAS-Forum de cookies publicitaires et de mesure d'audience fine.

Classement


Contenu populaire

Affichage du contenu avec la meilleure réputation depuis le 26/05/2019 dans toutes les zones

  1. 5 points
    unPixel

    [GUIDE] Débuter avec un NAS Synology.

    Bonjour, Vous venez d'acheter un NAS et vous ne savez pas par ou commencer, et bien nous allons voir ensemble les principales étapes les plus importantes et surtout prioritaires afin d'éviter de futurs problèmes ! Un NAS, c'est un serveur de stockage en réseau. Il est donc important que le système soit correctement installé et surtout sécurisé. Il est vivement recommandé de suivre toutes ces étapes ci-dessous et surtout d'essayer de les comprendre ! Si vous avez des questions, vous pouvez bien entendu les poser à la suite de ce tutoriel ou sur les tutoriels en question indiqués ci-dessous quand ça concerne un de ces derniers. INSTALLATION DE DSM Pour installer DSM, ce n'est pas compliqué et il suffit de suivre étape par étape ce qui est demandé sur votre écran. On va voir les grandes étapes ci-dessous : Recherche du NAS : On part du principe que vous avez déjà installer un (ou plusieurs) disques dur vierges dans votre NAS et que ce dernier est allumé. Vous avez même déjà entendu le bip sonore qui indique que le NAS est fonctionnel. Si vous ne savez pas comment aller consulter votre routeur pour connaitre l'adresse IP du NAS, je vous recommande de télécharger l'utilitaire "Synology Assistant" qui se chargera de trouver votre NAS sur votre réseau. https://www.synology.com/fr-fr/support/download Vous pouvez aussi essayer de le trouver en consultant ce lien : http://find.synology.com/ NOTE : certaines extensions de sécurité sur votre navigateur peuvent bloquer la recherche sur le réseau local ce qui a été mon cas sous Firefox ce qui m'a obligé à faire une recherche du NAS avec le navigateur Iridium pour ce tutoriel. Installation de DSM : (version 6.2.1 au moment de la rédaction de ce tutoriel) On a le choix entre l'installation de DSM en mode manuel ou en mode téléchargement. J'avais personnellement téléchargé le fichier .pat pour l'installer en local. Pour se faire, j'ai récupérer le fichier .pat sur mon ordinateur. Message d'avertissement qui préviens de la suppression des données sur les disques. On doit remplir ces champs qui sont dans l'ordre : nom du serveur > compte administrateur > mot de passe > confirmation du mot de passe. Ne mettez pas des noms génériques comme administrateur, administrator, admin etc... Et surtout utilisez un mot de passe long et compliqué. Le top étant une passphrase. Ex : Je suis allé avec ma femme chez le fleuriste en mai 2019. On nous demande si on veut utiliser le service QuickConnect. Je vous conseille de cliquer sur "Skip this step" (sauter cette étape). Comme expliqué un peu partout sur le forum, nous ne recommandons pas ce service ! En cliquant sur "Skip this step", nous obtenons ce message : "Si vous ignorez cette étape, vous devrez configurer la redirection de port pour accéder à distance à votre diskstation via Internet." Ca tombe bien, le tuto de Fenrir recommandé un peu plus loin dans ce tuto en parle de la redirection de ports 😜 L'installation de DSM commence. Une fois l'installation terminée, ça nous demande si l'on souhaite que le NAS sur le réseau soit reconnu pour le domaine find.synology.com Libre à vous de lire les conditions générales et d'accepter ou non. Perso, je refuse ! L'installation de DSM est persque terminée. On clique sur Got It. Et enfin, on nous demande si on veut partager des statistiques avec Synology (et peut-être avec d'autres partenaires de Synology comme Google). Libre à vous d'accepter ou refuser, perso, je refuse ! Voilà, DSM est installé 🙂 Nous recommandons aussi vivement de tester vos disques durs avant de les mettre en production. Pour se faire, je vous recommande ce très bon tuto. Choisir son RAID : Le système RAID (Redundant Array of Independent Disks) est une technologie de stockage qui permet de combiner plusieurs disques durs en un seul espace de stockage. Il existe différents types de RAID, chacun fournissant différents niveaux de performance, de capacité de stockage et de fiabilité. En gros car j'en ai certainement perdu quelques un d'entre vous, si on utilise par exemple un RAID 1 avec deux disques durs dans le NAS, ça veut dire que les premier disque dur est cloné sur le deuxième à l'identique. Si un des deux disque dur tombe en panne alors le serveur peut continuer à fonctionner sous réserve de remplacer rapidement le disque dur tombé en panne. NOTE : le système RAID est utilisé principalement pour de la continuité de service et en aucun cas comme de la sauvegarde ! Voici une page mise en place par Synology pour simuler/comparer un RAID. https://www.synology.com/fr-fr/support/RAID_calculator Pour choisir un type de RAID, vous pouvez aussi visiter ce lien : https://www.synology.com/fr-fr/knowledgebase/DSM/help/DSM/StorageManager/storage_pool_what_is_raid En général, on appliquera un RAID 1 (SHR) pour deux disques durs et un RAID 5 (SHR) pour trois/quatre disques durs. Voici un guide qui en dira aussi pas mal sur les volumes, groupe de disques, RAID/SHR, système de fichiers etc... 😉 ALIMENTATION Onduleur : Il est important de prendre en compte que votre NAS contient de l'électronique et surtout des disques durs mécaniques. Ces disques durs et l’électronique n'aiment pas du tout les surtensions et encore moins les coupures de courant inopinées ! Nous vous recommandons donc vivement de mettre entre la prise électrique et le NAS ce qu'on appelle un onduleur afin d'éviter de subir des pertes de données et même pire votre matériel. Le but de l'onduleur sera de réguler correctement la tension mais aussi de prévenir en cas de soucis sur la ligne électrique. Dans ce cas, si c'est bien configuré, le NAS pourra passer en mode sans echec Pour plus d'explications sur le sujet, je vous renvoi vers cette page qui l'explique très bien : http://www.europ-computer.com/dossiers/dossier_6_18.html Dans le cas ou vous auriez un onduleur, il faut bien entendu l'ajouter au NAS. Il y a deux possibilités pour faire cela. Brancher l'onduleur sur le NAS directement Connecter le NAS à l'onduleur via son serveur si il est déjà sur un autre NAS par exemple. Nous allons voir la première possibilité. Branchez votre onduleur sur le NAS et rendez-vous sur : Panneau de configuration > Matériel et alimentation > UPS c'est ici que vous pourrez ajouter votre onduleur. Pour l'ajout d'un onduleur qui est en mode serveur, ça sera pratiquement la même chose. Extinction et/ou hibernation : Un NAS, ce n'est pas qu'un simple disque dur et nous ne recommandons pas d'éteindre votre NAS régulièrement. Nous sommes en 2019 et ces appareils ont été fabriqués pour tourner 7/7 H24. Le faite de redémarrer régulièrement un NAS (plusieurs fois par jour) peut user prématurément les disques durs. Quant à l'hibernation des disques durs, c'est vivement déconseillé de le faire sur un NAS ! Petite exception : Si comme moi ou d'autres membres, vous avez un NAS qui est destiné uniquement à recevoir et stocker des sauvegardes de temps en temps (une fois par jour par exemple), alors vous pouvez le configurer pour qu'il s'éteigne et s'allume automatiquement avant le lancement de la sauvegarde. Pour se faire, nous allons aller sur : Panneau de configuration > Matériel et alimentation > Planif. alim Sur cette fenêtre, on peut créer des règles pour éteindre ou allumer le NAS. On peut aussi laisser le NAS allumé en permanence et choisir uniquement de mettre en veille les disques durs (je rappelle que ce n'est pas conseillé de le faire régulièrement). Pour se faire, on se rend sur : Panneau de configuration > Matériel et alimentation > Hivernation du disque dur Et là, on peut choisir la durée de non utilisation des disques durs avant qu'ils ne passent en veille. Note : il faut prendre en compte que la sortie de veille peut prendre quelques instants. Pourquoi mes disques durs ne rentrent pas en hibernation ? Certains services désactivent l'hibernation des disques durs. Voici la liste de ces services : https://www.synology.com/fr-fr/knowledgebase/DSM/tutorial/Management/What_stops_my_Synology_NAS_from_entering_System_Hibernation SAUVEGARDE Il est aussi très important d'envisager un moyen de sauvegarde pour vos données. Pour se faire, je vous redirige vers ce tutoriel : SÉCURITÉ Sécurisation : Maintenant que votre NAS est installé et qu'il est fonctionnel, il faut penser en priorité à sa sécurisation. C'est le point le plus important avant de l'utiliser et vouloir le mettre en production ! Pour la sécurité de votre NAS, rien de mieux que de suivre le très bon tutoriel de Fenrir 😉 J'ajouterais que pour l'ouverture des ports, Synology répertorie tous les ports utilisés par défaut sur un NAS Synology. En voici le lien : https://www.synology.com/fr-fr/knowledgebase/DSM/tutorial/Network/What_network_ports_are_used_by_Synology_services Bien entendu, nous vous recommandons vivement d'utiliser uniquement les ports 80 (uniquement avec une redirection automatique) et 443 avec un Reverse Proxy d'installé (lien du tuto plus bas). Accès VPN : Si vous avez une bonne connexion internet et que vous voulez ouvrir votre NAS vers l'extérieur, nous vous recommandons aussi vivement d'utiliser un accès VPN. Pour se faire, autant continuer avec Fenrir et son super tuto 🙂 DIVERS Voici quelques petites astuces qui pourraient vous sauver la vie ou faciliter votre quotidien avec votre NAS. Journal : Pour avoir un aperçu de ce qui est fait sur le NAS, nous pouvons utiliser le paquet "Centre des journaux". Ce dernier se présente ainsi : On peut en cliquant sur l'onglet "Journaux" voir toute la journalisation du système sur le NAS. On peut aussi affiner une recherche : File Station : Pour la journalisation de ce qui est fait sur le NAS au niveau de la manipulation des fichiers, nous allons activer le journal de File Station. Ça aura pour conséquence de mémoriser dans le journal la création de répertoires/fichiers, modifications, suppressions etc... ce qui peut être pratique pour remonter à la source d'un problème rencontré. File Station > Paramètres Le journal se présentera comme ceci en détaillant ce qui a été fait et par qui. Corbeille : Je vous recommande vivement d'activer les corbeilles sur vos dossiers partagés. Ça aura pour conséquence qu'en cas de suppression accidentelle, vous pourrez avoir un moyen de récupérer ces données. Je pars du principe que si la corbeille n'est pas activée alors les données sont perdues définitivement. Il y a bien des moyens d'essayer de récupérer ses données mais ce n'est pas fiable à 100% et ça peut prendre beaucoup de temps. Autant l'appliquer de suite 🙂 NOTE : l'activation de la corbeille n'est pas généralisée pour tous les dossiers partagés. Il faut donc le faire pour chaque dossier partagé 😉 Dossier qu'on créer en direct : Dossier partagé déjà créé : Panneau de configuration > Dossier partagé > (clic droit sur un dossier partagé existant puis modifier) On peut ensuite aller voir notre dossier partagé et y trouver la corbeille. On peut bien évidemment consulter la corbeille et restaurer les données supprimées. Corbeille : On peut aussi programmer le vidage des corbeilles automatiquement. On se rend sur : Panneau de configuration > Dossier partagé > Action > Créer une planification de vidage de la Corbeille On est redirigé sur le planificateur de tâches et une nouvelle fenêtre s'ouvre. On lui donne un nom puis on se rend sur l'onglet "Programmer". On choisit la programmation souhaitée du lancement de la tâche puis on se rend sur "Paramètres de tâche". Ensuite, on a différent paramètres : Choix des corbeilles à vider. On peut choisir la corbeille d'un dossier partagé, de plusieurs dossiers partagés ou les corbeilles de tous les dossiers partagés. On peut appliquer une politique de conservation. Ex : pas de suppression des données ayant une ancienneté de moins de 7 jours. Nous avons aussi des paramètres avancés que je liste juste en dessous. Le bouton "Paramètres avancés" propose ceci comme options : Une fois validé, on retrouve la tâche dans le planificateur de tâche (désactivé pour le tuto) : Panneau de configuration > Planificateur de tâches Autres Nom de domaine Si vous comptez utiliser un nom de domaine, voici un sujet qui en parle : Avec ça, je vous recommande le tuto de Fenrir sur l'installation d'un serveur DNS : Puis pour aller un peu plus loin, l'utilisation d'un proxy inversé : FIN DU TUTO
  2. 5 points
    Bonjour, Je vois encore trop de personnes cherchant de l'aide sur l'utilisation de leurs adresses IP pour se connecter à leurs serveurs à distance ou pour partager des données. Je vais donc vous expliquer ci-dessous pourquoi je vous recommande vivement de prendre un nom de domaine. D'abord, on va casser le mythe tout de suite, un nom de domaine, c'est pas cher quand on prend en compte qu'on vient de dépenser pas mal d'argent dans un NAS et des disques durs ainsi qu'un onduleur et un moyen de sauvegarde. Le site OVH (français) par exemple, propose sa propre extension (.ovh) pour moins de 4 euros par an. Je paie moins de 10 euros par an pour un .fr chez eux par exemple. Il existe beaucoup de "registrar" mais je recommande toujours OVH parce qu'il est français, fiable et qu'il permet de travailler avec une IP dynamique via un service DDNS. Il propose aussi différentes API qui peuvent plaire à certains. J'utilise par exemple une API OVH pour la validation de mes certificats Wildcard de Let's Encrypt. Pourquoi ne pas utiliser Quickconnect ? Vous pourriez le lire assez souvent sur le forum, nous ne conseillons pas du tout la fonction QuickConnect intégrée au NAS Synology et en voici les raisons principales. Tout le trafic lié à votre NAS passe par des serveurs tiers. La qualité de connexion et de transit des données est lié au bon fonctionnement des serveurs tiers or on constate régulièrement chez les membres qui utilisent QuickConnect que ça ne fonctionne pas si bien que ça. C'est souvent très lent quand ça fonctionne. On ne contrôle absolument pas ce moyen de connexion et de communication. Adresse IP fixe et adresse IP dynamique : Une adresse IP, c'est un peu comme votre numéro de sécurité sociale. Elle est liée à un propriétaire (le client déclaré chez l'opérateur). C'est d'ailleurs comme ça que fonctionne la fameuse HADOPI quand ils attrapent quelqu'un sur la toile. Ils contactent l'opérateur en fournissant l'adresse IP, la date et l'heure et l'opérateur sait tout de suite quel client avait cette adresse IP à ce moment précis. Ils se fichent par contre de savoir QUI exactement utilisait la connexion à ce moment là. Ils partent du principe que le responsable, c'est le client déclaré chez l'opérateur. Aujourd'hui, il existe trois types d'adresses IP qui nous concerne quand on prend un abonnement internet chez un opérateur. IP fixe IP dynamique IP fixe partagée L'IP fixe (aussi appelée IP statique), c'est ce que tout le monde voudrait. Une IP qui ne change jamais est idéale pour héberger des services sur lesquels on voudrait un accès externe. L'IP dynamique, elle change régulièrement et ça sans prévenir. Mais on peut travailler avec un service DDNS qui sera chargé de surveiller ces changements d'IP régulièrement pour mettre à jour le système automatiquement. L'IP fixe partagée, c'est une plaie mais à ma connaissance, seul Free le fait pour certains clients et les clients peuvent facilement demander une IP fixe via le site internet de Free. Elle a pour conséquence de partager la même IP fixe entre plusieurs clients mais en séparant en plusieurs parties la plage de ports. Un premier client aura la chance d'avoir par exemple les ports 22, 80, 443 etc... quand les autres devront faire sans. La plupart des clients ne voient pas le soucis quand ils ne font que de la visite de sites/blogs ou du visionnage youtube mais pour quelqu'un utilisant ces ports pour de l'hébergement, ça devient tout de suite problématique si il a pas la chance de les avoir. D'autres soucis peuvent s'ajouter à ça comme le bannissement sur un jeu ou un site internet de l'IP à cause d'un client et c'est tous les autres clients ayant cette IP partagée qui seraient punis. Voici en gros les principaux opérateurs français et si ils offrent une IP fixe, dynamique ou partagée. Orange : IP fixe (option chère) et IP dynamique d'office (fibre et ADSL) SFR : IP fixe (fibre) et IP dynamique (ADSL) Free : IP fixe (fibre et ADSL) et IP partagée (fibre et ADSL) Bouygues : IP fixe (fibre, ADSL), IP dynamique (câble) Si vous avez une adresse IP partagée, vous pouvez demander une adresse IP fixe fullstack rien que pour vous 🙂 Pour se faire, il vous suffit d'en faire la demande sur votre espace client sur free.fr Voir ce site qu'il l'explique un peu plus en détail : https://www.freenews.fr/freenews-edition-nationale-299/fibre-optique-125/loption-ip-fixe-finalement-disponible-freebox-fibre-zmd Pourquoi prendre un nom de domaine ? Un nom de domaine est plus facile à retenir et donc à partager qu'une adresse IP. D'autant plus si cette dernière n'est pas fixe ! Un nom de domaine ne fait pas peur au grand public contrairement à une adresse du type : 98.172.34.29 On peut utiliser plusieurs domaines différents sur une même IP alors que vous ne pourrez pas utiliser plusieurs IP sur une même IP. (mondomaine1.fr, mondomaine2.com) On peut utiliser d'autres domaines sur son propre domaine (ndd.tld, video.ndd.tld, mail.ndd.tld etc...). Ça fait quand même plus professionnel. Votre adresse IP peut changer même dans le cas d'une IP fixe (changement d'opérateur ou déménagement par exemple) mais pas votre nom de domaine. On peut cacher les ports des différents services (5000, 5001, 8080 etc...) qu'on met en ligne en utilisant les ports connus 80 et 443 via un proxy inversé ou virtual host. On peut obtenir un certificat SSL pour son domaine. Est-ce facile à mettre en place ? Oui, c'est très facile à faire et ça ne prend que quelques minutes maximum. Un peu long à se valider (24h max en général et en 2h chez OVH) parce qu'il faut que votre nouveau domaine créé se propage (se fasse connaître en gros) partout sur la planète à travers une multitude de serveurs DNS. Voici la procédure : Rendons-nous sur la page officielle d'OVH pour choisir notre nouveau nom de domaine : https://www.ovh.com/fr/domaines/ Une fois le domaine libre choisi, on passe commande comme on passerait une commande sur Amazon. Pour les options, à vous de voir ce dont vous avez besoin 😉 Une fois la commande passée et finalisée, on va se rendre sur la page de configuration : https://www.ovh.com/manager/web/index.html#/configuration Le nom de domaine dans ce tuto n'est plus utilisé et sera résilié dans le courant de l'année 2019. Merci donc de ne pas le spammer par respect du potentiel prochain acquéreur. Pour une IP FIXE : Nous allons nous rendre sur notre nom de domaine puis sur notre zone DNS Il suffit d'indiquer son IP fixe dans la cible et valider. On laisse vide le champ "sous-domaine". Pour obtenir votre adresse IP fixe, on peut visiter ce site par exemple : https://mon-ip.io/ Une fois cettre entrée validée, on peut surveiller la propagation DNS afin de s'assurer qu'elle a bien été prise en compte. https://www.whatsmydns.net/ Selon les registrars, la propagation peut durer 24h environ. Chez OVH, je n'ai jamais dépassé les deux heures. Pour une IP DYNAMIQUE : C'est légèrement différent pour une IP dynamique puisqu'il faudra passer par le service DDNS. Premièrement, nous allons supprimer l'entrée A si il en existe une qui aurait été créé par OVH pendant la mise en place du domaine. C'est ici que ça se passe : Ensuite, nous allons créer une règle DynHost. Il suffit d'indiquer un domaine et son IP dynamique dans la cible et valider. Pour obtenir votre adresse IP, on peut visiter ce site par exemple : https://mon-ip.io/ Ensuite il faut créer un identifiant afin qu'il puisse gérer les changements d'IP. On indique les informations en prenant en compte ce qu'on avait déjà rempli précédemment. Maintenant, on va se rendre sur le NAS dans "Panneau de configuration > Accès externe > DDNS" puis on clique sur Ajouter : On a plus qu'à entrer ce qu'on a fait précédemment sur notre compte OVH. On teste la connexion et on devrait obtenir un statut "normal" comme ci-dessous. On clique sur Ok pour valider. Pareil que pour l'IP FIXE, on va pouvoir surveiller la propagation de notre domaine dans le monde avec le lien ci-dessous : https://www.whatsmydns.net/ Voilà, maintenant que l'on a configuré son IP avec son domaine, on peut créer le transfert de port sur notre routeur et l'ouverture sur le pare feu du NAS. Vous avez deux possibilités : Ouvrir chaque port pour chaque service et ainsi vous devrez taper votre domaine suivi du port (ex : ndd.tld:8888). Un peu chiant si on a pas mal de services... Ou alors ouvrir un seul port qui sera le port 443 (et éventuellement le port 80 avec une redirection auto vers le 443) et ça pour que ce soit fonctionnel pour chaque domaine. Pour la première option, je vous laisse vous tourner vers votre moteur de recherche préféré pour savoir comment transférer un port de votre modem/routeur à votre NAS. Pour la partie NAS, le tuto de sécurité de Fenrir parle de l'ouverture de port. Si vous avez choisi comme la plupart des membres d'accéder à tous vos services par l'unique port 443, alors il vous faudra suivre le tuto de @Kawamashi 🙂
  3. 4 points
    BruceFeuillette

    Gagnez un IronWolf pour votre NAS

    Non, mais moi ça me va le nombre qu'on était... 🎉 Je vais tenter de profiter des soldes pour trouver un second 14 To pour garder mon RAID 1. Bon, vu que les modèles sont récents, ça va être compliqué. Et vu les prix pour le moment, je me demande si je ne ferais pas mieux d'acheter un DX517... Si j'arrive à convaincre ma femme de placer une extension en plus dans l'entrée. Ce qui n'est pas du tout gagné ! Merci à Seagate en tout cas ! 😊
  4. 3 points
    .Shad.

    [Tuto] Centralisation des instances Docker

    Préambule Ce guide a pour but de permettre à tout un chacun de centraliser la gestion de ses conteneurs sur une seule et même instance Docker, et ce de manière sécurisée. Sur une distribution Linux classique ou même Windows il est possible d'exposer une instance Docker via TCP, donc le rendre accessible sur un port de la machine hôte, 2375 en non-sécurisé, 2376 par TLS. De manière générale c'est quelque chose qu'on évite, car Docker possède des privilèges élevés sur sa machine hôte, c'est donc une source de contamination potentiellement dévastatrice. En prenant soin de placer un certain nombre de garde-fous, et en maîtrisant les points de sécurisation abordés dans les tutoriels références du forum (en premier lieu celui sur la sécurisation), l'idée devient tout à fait envisageable. Il y a deux avantages majeurs à cette méthode : - Elle est applicable à n'importe quelle machine, votre NAS, un PC sous Linux, un micro-processeur type Raspberry, un VPS, un dédié, etc... - Elle permet de s'affranchir des limitations de certains OS, typiquement DSM. On peut tout à fait exposer le port 2376 d'un NAS Syno sans passer par un proxy sauf qu'à chaque redémarrage les modifications sont effacées et vous devrez de nouveau exposer le port. Un script pourrait sûrement tout à fait se charger de la tâche, reste que l'on touche à des fichiers systèmes sensibles, je suis partisan du fait de garder un DSM "stock" pour éviter des problèmes lors des mises à jour et des incompatibilités/bugs qui en découlent fréquemment. Pré-requis Savoir protéger ses périphériques (pare-feu) Savoir établir une connexion suffisamment sécurisée entre deux machines Savoir rediriger un port Avoir des bases concernant Docker (voir tutoriel introductif) Savoir se connecter en SSH à un périphérique Avoir défini un nom de domaine entièrement qualifié (FQDN en anglais - Fully Qualified Domain Name) pour l'instance Docker cible Difficulté : Moyenne Sécurisation Pour garantir un certain degré de sécurité, l'idée va être d'exposer le socket Docker via un proxy, ce qui sera réalisé par un conteneur sur l'hôte cible, avec lequel nous établirons une connexion TLS depuis l'instance centralisatrice. Sa localisation peut être quelconque : sur le même réseau local, accessible à distance par HTTPS ou encore par VPN. Le choix de la solution et la sécurisation de l'environnement sont à votre discrétion et découlent des pré-requis stipulés ci-dessus. Portainer Pour faciliter la visualisation de mes instances Docker (ou endpoint) et mes conteneurs, j'utilise l'application Portainer sur la machine qui va servir de centre névralgique pour toutes mes instances. Elle a l'avantage de fournir une interface claire, efficace et intuitive. (Notons qu'il est tout à fait possible de s'en passer et de se cantonner à de la ligne de commande, voir documentation Docker dont le lien est donné plus loin). Un fichier docker-compose modèle pour Portainer : version: "2" services: portainer: image: portainer/portainer container_name: portainer hostname: portainer network_mode: bridge volumes: - "path/to/portainer/data:/data" - "/var/run/docker.sock:/var/run/docker.sock" ports: - 9000:9000 restart: unless-stopped Via le Shell : docker create \ --name=portainer \ --hostname=portainer --net=bridge \ --restart=unless-stopped \ -v path/to/portainer/data:/data \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 9000:9000 \ portainer/portainer NB : path/to/portainer/data est évidemment un placeholder et doit être adapté à votre besoin. Dans mon cas, c'est un sous-dossier data dans le dossier du conteneur Portainer. La première fois qu'on se connecte (via http://IP:9000), on est amené à choisir un login et un mot de passe admin. Ce faisant on arrive sur un écran demandant de choisir l'endpoint qu'on souhaite configurer, il faut choisir local et valider successivement les écrans. On arrive rapidement à un écran de la sorte : Je ne rentre pas dans le détail de l'utilisation de Portainer, on trouve des tutoriels relativement bien faits sur Youtube et Google, et c'est de toute façon assez simple à prendre en main : - https://www.youtube.com/watch?v=GNG6PDFxQyQ (à 1:36 on parle précisément de ce qu'on cherche à faire dans ce guide) - https://domopi.eu/ameliorer-la-gestion-de-vos-containers-docker-avec-portainer/ Mise en place Préparation Ici je vais prendre l'exemple d'un VPS OVH entrée de gamme, sur lequel je fais tourner un serveur VPN Wireguard et où je projette d'installer l'application d'hébergement drag & drop Jirafeau, tout ça sur Docker. La première étape consiste à se connecter en SSH avec l'utilisateur de notre choix sur la cible (le VPS en l'occurence pour moi) et de définir la variable HOST avec le FQDN de notre machine. Dans mon cas, j'utilise le nom de domaine que j'ai défini dans ma zone DNS OVH via un enregistrement A vers l'IP fixe de mon VPS. De manière générale, le FQDN peut être local ou externe, peu importe, car c'est un certificat auto-signé que nous allons générer pour l'atteindre, le tout étant que la résolution du FQDN soit adaptée à l'environnement (je ne peux pas utiliser vps.local si je passe par une résolution externe). Cela peut donc se faire comme moi avec un FQDN externe, si vous souhaitez gérer l'instance Docker d'un raspberry de votre réseau local, il peut s'agir de son enregistrement A correspondant dans votre serveur DNS local, ou simplement ce que vous avez renseigné dans le fichier /etc/hosts de votre instance centralisatrice. Pour l'exemple : HOST=target.ndd.tld En tapant : echo $HOST On doit obtenir le FQDN défini ci-avant. Création des certificats Partie serveur On se place dans le dossier /home de notre utilisateur et on commence à suivre (pas bêtement, mais presque) les consignes de la documentation Docker, les étapes étant parfaitement décrites, je ménage vos touches Alt+Tab ou vous évite un torticolis si vous êtes en double écran en recopiant les étapes ici. 😉 Si vous souhaitez plus de détail sur l'explication de chaque étape, Rendez-vous sur la page. openssl genrsa -aes256 -out ca-key.pem 4096 openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem openssl genrsa -out server-key.pem 4096 openssl req -subj "/CN=$HOST" -sha256 -new -key server-key.pem -out server.csr [[[ ATTENTION : Il se peut que vous obteniez l'erreur suivante : Il suffit dans ce cas-là de créer le fichier manquant : touch .rnd et de recommencer ]]] Arrive le passage le plus subtil, il va falloir définir les IP et les FQDN capables d'accéder à cette instance, ça se présente sous cette forme : echo subjectAltName = DNS:,IP: >> extfile.cnf Évidemment, il va falloir renseigner les valeurs de manière exhaustive, sous peine de devoir recommencer depuis cette étape. Ce passage permet de renforcer la sécurisation également, car tout nom de domaine (et donc IP associée) et IP non déclarés se verront refuser l'accès au socket (Connection refused sur Portainer). Il faudra au minimum ajouter $HOST (que l'hôte puisse accéder à sa propre instance, ça ne mange pas de pain), la boucle locale 127.0.0.1, et le FQDN et/ou l'IP de notre instance centralisatrice. Un exemple, où j'autorise en plus par exemple : - l'IP fixe publique de mon instance centralisatrice 51.25.152.236 (fictive) (en cas d'un problème de résolution DNS, je peux toujours y accéder) - l'enregistrement A qui lui est associé central.ndd.tld (ça peut également être mon dynhost pour les IP dynamiques) - l'IP privée de mon instance centralisatrice lorsque connectée au serveur VPN de mon VPS 10.0.0.2 echo subjectAltName = DNS:$HOST,DNS:central.ndd.tld,IP:51.25.152.236,IP:10.0.0.2,IP:127.0.0.1 >> extfile.cnf On poursuit : echo extendedKeyUsage = serverAuth >> extfile.cnf openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf . Partie client Par facilité, on va rester sur la machine hôte et créer les certificats et la clé privée client. openssl genrsa -out key.pem 4096 openssl req -subj '/CN=client' -new -key key.pem -out client.csr echo extendedKeyUsage = clientAuth > extfile-client.cnf openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile-client.cnf rm -v client.csr server.csr extfile.cnf extfile-client.cnf chmod -v 0400 ca-key.pem key.pem server-key.pem chmod -v 0444 ca.pem server-cert.pem cert.pem Récapitulatif Si tout s'est bien déroulé, un petit ls -lt devrait donner ceci : Création du proxy Il nous faut maintenant créer le conteneur servant de proxy, dont voici la page GitHub de l'image. Un modèle de fichier docker-compose : version: "2" services: docker-socket-proxy: image: sjawhar/docker-socket-proxy container_name: docker-socket-proxy hostname: docker-socket-proxy network_mode: bridge volumes: - "/path/to/the/server/certs:/run/secrets:ro" - "/var/run/docker.sock:/var/run/docker.sock:ro" ports: - 2376:2376 restart: unless-stopped Via le Shell : docker create \ --name=docker-socket-proxy \ --hostname=docker-socket-proxy \ --net=bridge \ --restart=unless-stopped \ -v /path/to/the/server/certs:/run/secrets:ro \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -p 2376:2376 \ sjawhar/docker-socket-proxy Parmi les huit fichiers restants, trois nous intéressent pour ce conteneur : ca.pem, server-key.pem, server-cert.pem Ces trois fichiers doivent se trouver dans le chemin que vous aurez choisi pour /path/to/the/server/certs, pour ma part j'ai créé un sous-dossier certs dans le dossier du conteneur. Le port 2376 est à ouvrir (et rediriger si besoin) sur la machine cible, évidemment. Une fois le conteneur démarré, si tout va bien les logs du conteneur n'affichent rien. Ajout du endpoint sur Portainer On commence par rapatrier les trois fichiers utiles pour le client : ca.pem (le même que pour le serveur), cert.pem et key.pem. La sélection des fichiers se fera par une fenêtre de parcours, comme sur interface graphique classique Linux ou Windows. Pour ceux que ça n'aide pas, j'ai utilisé scp et ai mis les fichiers sur mon bureau Linux (attention à la majuscule, c'est -P, pas -p) scp -P <port-SSH> ca.pem cert.pem key.pem toto@central.ndd.tld:~/Bureau Le serveur est maintenant accessible, il ne reste plus qu'à se connecter à Portainer et ajouter l'endpoint. Dans le menu déroulant de gauche, on clique sur Endpoints, puis Add endpoint. Puis on complète de la sorte, en adaptant évidemment à ses propres données : On notera la sélection des certificats et de la clé en bas de la page. On clique ensuite sur "Add endpoint". Si tout s'est bien passé, l'instance cible apparaît maintenant dans la liste des endpoints et est éditable.
  5. 3 points
    .Shad.

    [TUTO] Monitoring NAS et réseau

    Ce tutoriel est dédié à la mise en service d'applications qui vous permettront d'extraire des métriques de votre NAS, de les stocker dans une base de données et de les mettre en forme de la manière qui vous intéresse. Vous pourrez par la suite monitorer vos autres équipements réseau disposant du protocole SNMP. Voici un exemple de tableau de bord en temps réel qu'il est possible d'obtenir, ici pour votre NAS : Pré-requis : Ce tutoriel est plutôt exhaustif et prévu pour une faible connaissance de Docker, néanmoins, afin de mieux comprendre ce qui est expliqué ici, il est conseillé de prendre connaissance des bases du fonctionnement de Docker, un tutoriel est disponible ici : Informations préliminaires : Docker-compose Pour créer mes conteneurs, j'utilise docker-compose, car d'une part ça permet de conserver les paramètres de création des conteneurs, et d'autre part ça représente un gain de temps conséquent. Pour les besoins du tutoriel, voici une brève explication de son fonctionnement : Si vous êtes sous windows, je vous conseille d'utiliser Notepad++ : - Créer un nouveau document - Entrer le code lié au conteneur concerné - Menu Encodage -> Vérifier que "Encoder en UTF-8" est choisi - Enregistrer sous -> Nom : docker-compose (à respecter!) Type : YAML Ain't Makeup Language (fin de la liste déroulante). Le fichier docker-compose.yml qui en résulte est à copier dans le dossier dédié au conteneur sur votre NAS (voir point suivant). Ensuite, s'y connecter en SSH : cd /chemin/vers/le/conteneur docker-compose up -d Note : penser à précéder la commande docker-compose de sudo si vous n'êtes pas connecté en root. Dossier de conteneur Afin que les données d'un conteneur soient facilement accessibles, il n'est pas rare de monter des volumes à la création d'un conteneur. Dans mon cas, j'ai un dossier partagé docker, dans lequel on trouve un dossier pour chaque conteneur dont je souhaite pouvoir changer la configuration ou accéder aux données. Par exemple, pour telegraf, le chemin absolu de son dossier sera /volume1/docker/telegraf Ceci est donc à adapter à vos habitudes et à votre guise. Protocole SNMP Aucune connaissance réellement nécessaire pour la stricte application du tutoriel, mais si vous comptez faire de la surveillance d'autres équipements réseaux, ce sera incontournable d'en comprendre le fonctionnement global. On trouve la plupart des informations sur la page wikipédia (notamment les deux premiers paragraphes). Fichiers MIB Les fichiers MIB sont une sorte de base de données arborescente dans laquelle sont classées des informations liées au comportement en cours d'un système. Matériel nécessaire : La seule limitation de ce tutoriel est d'avoir un NAS disposant du paquet Docker. De manière générale, ce tutoriel devrait vous permettre de reproduire dans les grandes lignes la mise en service du système de gestion de réseau sur d'autres équipements, typiquement un raspberry par exemple. En effet peu de choses sont spécifiquement liées à DSM. Connaissances préalables : Savoir se connecter en SSH (voir tutoriel de Zeus) Avoir quelques notions du fonctionnement de Docker I/ Activation du protocole SNMP Par défaut, le protocole n'est pas activé. Pour y remédier, on va dans Panneau de configuration -> Terminal & SNMP -> Onglet "SNMP" pour arriver à l'écran suivant : Cocher les cases comme ci-avant, les données dans "Informations du périphérique SNMP" sont facultatives. J'ai laissé public, le choix par défaut pour le nom de communauté. Il se peut que le pare-feu Synology demande une ouverture de port. Si vous avez suivi les recommandations du tutoriel de sécurisation de votre NAS, vous avez sûrement autorisé toutes les requêtes émanant d'une source locale, dans ce cas pas besoin d'ajouter d'exception. Ça ne se justifie que si vous souhaitez monitorer un serveur distant. II/ Le principe On utilise la combinaison de trois applications exécutées en conteneurs docker pour exploiter les données de notre NAS : - Telegraf C'est un agent de récupération de métriques (entendez des données relatives au fonctionnement du système que vous souhaitez surveiller). - InfluxDB InfluxDB est une base de données qui va stocker les métriques recueillies par Telegraf. - Grafana C'est un outil de supervision et d'aggrégation de métriques, ce qui va nous permettre de manipuler les données stockées dans InfluxDB. III/ Installation : 1/ Les images On télécharge les trois images docker suivantes : telegraf influxdb grafana/grafana 2/ Création d'un réseau bridge défini par l'utilisateur Pour que nos conteneurs puissent communiquer entre eux, il existe principalement deux méthodes : - par lien : on utilise la fonction de lien présente dans l'interface de création d'un conteneur sur DSM qui pointe vers le conteneur avec lequel on souhaite établir un pont. Cette méthode fonctionne encore, mais est dépréciée par Docker. - par réseau : Il y a plusieurs réseaux bridge disponibles dans Docker: * le bridge par défaut : le conteneur est isolé dans le sous-réseau 172.17.0.x, il communique avec le NAS qui a l'adresse 172.17.0.1 et qui fait office de passerelle avec le reste du monde. Ce conteneur n'est joignable autrement que par son adresse IP. C'est adapté à un conteneur isolé, pas un trio de conteneurs. * un bridge dédié au conteur : si rien n'est précisé à la création du conteneur, Docker crée un réseau dédié au conteneur, par exemple 172.18.0.0, le conteneur aura pour adresse 172.18.0.2, et le NAS sera la passerelle en 172.18.0.1. 172.17.0.1, 172.18.0.1, vous pouvez retrouver ces interfaces en tapant ifconfig en SSH sur le NAS. * un réseau bridge externe : au lieu de laisser Docker générer ça automatiquement, on crée un réseau bridge en amont, on pourra y adjoindre tous les conteneurs que l'on veut. L'avantage est que ce réseau est persistant, car créé en dehors de la génération de conteneurs, et que tous les conteneurs qui s'y trouvent pourront communiquer par leur nom, au lieu d'utiliser les IP. Important : tous les ports de chaque conteneur sont exposés mutuellement vers les autres conteneurs du même réseau, si une info a vocation à transiter entre deux conteneurs, et que l'utilisateur n'a pas besoin d'y accéder, on n'exposera pas les ports vers l'hôte. La dernière solution est exactement ce qu'on recherche ici pour faciliter la discussion entre nos trois applications, et ça se fait facilement sur DSM : pour créer notre bridge personnalisé, il suffit d'aller dans Docker sur DSM -> Réseau -> Ajouter -> On valide, le réseau est maintenant créé, nos conteneurs pourront y être directement intégrés à leur création. 3/ Création du conteneur InfluxDB On commence par InfluxDB, car sans lui Telegraf ne saura pas exporter ses métriques, et Grafana n'aura pas de source de métrique. On crée d'abord un dossier data dans le dossier du conteneur. On crée ensuite le fichier docker-compose.yml, ou on le télécharge (et on le renomme docker-compose.yml) : influxdb_docker-compose.yml Notes : Un fichier docker-compose.yml n'accepte pas les tabulations !!! ce qui s'y apparente dans le code suivant consiste en des espaces ! version: "2" services: influxdb: image: influxdb container_name: influxdb hostname: influxdb environment: - INFLUXDB_DB=nas_telegraf - INFLUXDB_ADMIN_USER=admin - INFLUXDB_ADMIN_PASSWORD=admin - INFLUXDB_USER=nas_telegraf - INFLUXDB_USER_PASSWORD=nas_telegraf - INFLUXDB_HTTP_AUTH_ENABLED=true volumes: - "/volume1/docker/influxdb/data:/var/lib/influxdb" ports: - 8086:8086 restart: unless-stopped networks: default: external: name: data_export Notes : (important pour la compréhension) - On a créé une DB par défaut => nas_telegraf - On a créé un utilisateur administrateur pour gérer l'ensemble des DB dans InfluxDB => admin / admin - On a créé un utilisateur avec les droits de lecture et écriture sur la DB nas_telegraf => nas_telegraf / nas_telegraf - On a activé l'authentification HTTP (nécessaires pour que les autres variables d'environnement soient prises en compte). - Le dossier data créé ci-avant sert de volume de stockage des données. - InfluxDB fait transiter les données via le port 8086. Important : ici je fais le choix d'exposer le port sur son hôte (le NAS), cela permet à un autre périphérique d'envoyer des données vers InfluxDB au besoin. Ou si par exemple votre instance Grafana est sur un autre périphérique (par exemple un VPS, il faut que l'hôte expose ce port pour que Grafana y ait accès). Si seul le monitoring du NAS vous intéresse, vous pouvez supprimer les lignes ports: et - 8086:8086. Telegraf et Grafana seront toujours en mesure d'accéder au port du conteneur, vu que dans le même réseau. 4/ Création du conteneur telegraf Telegraf utilise un fichier de configuration .conf, qu'on va générer en amont de la création du conteneur. Pour se faire on se connecte en SSH : cd /volume1/docker/telegraf docker run --rm telegraf telegraf config > telegraf.conf Un fichier telegraf.conf va apparaître dans le dossier, avant de l'éditer je vous conseille d'en faire une copie, en SSH il suffit de taper la commande suivante (merci @Zeus pour la suggestion) : cp /volume1/docker/telegraf/telegraf.conf /volume1/docker/telegraf/telegraf.conf.back Une fois cette précaution prise, vous pouvez directement éditer le fichier sur le NAS avec le paquet Éditeur de texte. Le fichier est touffu, il est construit de la sorte : a) La première partie reprend la configuration de telegraf, je n'ai pas eu à y toucher dans mon cas. A noter, la variable flush_interval qui permet de définir à quelle fréquence les données sont récoltées. b) Dans la partie "output plugins" c'est la section relative à InfluxDB qui nous intéresse, assurez-vous que les lignes non commentées correspondent à l'impression d'écran ci-après. ############################################################################### # OUTPUT PLUGINS # ############################################################################### # Configuration for sending metrics to InfluxDB [[outputs.influxdb]] ## The full HTTP or UDP URL for your InfluxDB instance. ## ## Multiple URLs can be specified for a single cluster, only ONE of the ## urls will be written to each interval. # urls = ["unix:///var/run/influxdb.sock"] # urls = ["udp://127.0.0.1:8089"] # urls = ["http://127.0.0.1:8086"] urls = ["http://influxdb:8086"] ## The target database for metrics; will be created as needed. ## For UDP url endpoint database needs to be configured on server side. database = "nas_telegraf" ## The value of this tag will be used to determine the database. If this ## tag is not set the 'database' option is used as the default. database_tag = "" ## If true, no CREATE DATABASE queries will be sent. Set to true when using ## Telegraf with a user without permissions to create databases or when the ## database already exists. skip_database_creation = true ## Name of existing retention policy to write to. Empty string writes to ## the default retention policy. Only takes effect when using HTTP. retention_policy = "" ## Write consistency (clusters only), can be: "any", "one", "quorum", "all". ## Only takes effect when using HTTP. write_consistency = "any" ## Timeout for HTTP messages. timeout = "30s" ## HTTP Basic Auth username = "nas_telegraf" password = "nas_telegraf" Notes : - urls = ["http://influxdb:8086"] -> ici influxdb est le nom du conteneur qu'on a créé (à adapter donc si vous l'avez nommé autrement), du fait que les conteneurs seront dans le même réseau ils pourront se trouver par leur nom directement. - database = "nas_telegraf" -> c'est le nom qu'on a donné à notre base de données lors de la création du conteneur influxdb (variable d'environnement INFLUXDB_DB). - skip_database_creation = true -> créée en même temps que le conteneur influxdb, on peut régler cette option sur "true". - Dans HTTP Basic Auth on entre le nom d'utilisateur et le mot de passe (respectivement les variables d'environnement INFLUXDB_USER et INFLUXDB_USER_PASSWORD), dans notre exemple : nas_telegraf / nas_telegraf c) Il va falloir ajouter les infos relatives aux fichiers MIB de Synology, il suffit de copier ce qui est repris dans ce lien et le coller par exemple au début de la section "Input plugins" Il faut cependant personnaliser les infos relatives à l'adresse IP du NAS et le nom de la communauté SNMP : Notes : - On remplace agents = [ "xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx" ] par agents = [ "IP_LOCALE_DU_NAS" ] - community = "public" à adapter suivant le nom de communauté choisi dans la partie I/ du tutoriel Voilà, le fichier telegraf.conf est configuré, on télécharge (ou on écrit soi-même, au choix) le docker-compose (qu'on renomme, comme précédemment, et qu'on adapte au besoin) : telegraf_docker-compose.yml version: "2" services: telegraf: image: telegraf container_name: telegraf hostname: telegraf volumes: - "/volume1/docker/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro" - "/proc:/host/proc:ro" - "/usr/share/snmp/mibs:/usr/share/snmp/mibs:ro" ports: - 8125:8125/udp - 8092:8092/udp - 8094:8094 restart: unless-stopped networks: default: external: name: data_export Notes : - Ne pas oublier d'adapter le chemin du fichier telegraf.conf à votre installation. - Le suffixe ":ro" à la fin du montage de volume signifie read-only (lecture seule), pour éviter toute modification indésirable des fichiers. - Les fichiers MIB de Synology sont déjà présents sur le NAS, on va donc monter le dossier pour que telegraf y ait accès. Important : ici je fais le choix d'exposer les port sur l'hôte (le NAS), cela permet à Telegraf d'envoyer ses données sur l'instance InfluxDB d'un autre périphérique, un périphérique local ou un VPS par exemple. Si seul le monitoring du NAS vous intéresse, vous pouvez supprimer les lignes ports: et - 8125:8125/udp, - 8092:8092/udp et - 8094:8094. Grafana et InfluxDB seront toujours joignables, vu que dans le même réseau. Remarque : Si vous surveillez votre infrastructure réseau depuis un serveur autre que votre NAS, vous aurez besoin des fichiers MIB de Synology, téléchargeables à cette adresse. Telegraf va dorénavant envoyer périodiquement les métriques à InfluxDB, ce qu'on peut constater dans les logs de ce dernier : 5/ Création du conteneur grafana Il ne reste plus qu'à configurer Grafana pour pouvoir représenter les données stockées dans InfluxDB. Comme pour ce dernier, on crée un dossier data dans le dossier du conteneur grafana. Téléchargement du docker-compose :grafana_docker-compose.yml version: "2" services: grafana: image: grafana/grafana container_name: grafana hostname: grafana volumes: - "/volume1/docker/grafana/data:/var/lib/grafana" user: "1026" ports: - 3000:3000 restart: unless-stopped networks: default: external: name: data_export Notes : - Grafana est exposé sur le port 3000 du conteneur, j'ai choisi ce même port pour mon NAS, dans le cas où vous souhaitez accéder de l'extérieur à votre instance Grafana, pensez à soit ouvrir le port dans le pare-feu, soit créer une entrée dans le proxy inversé. - le "1026" représente l'UID de l'utilisateur qui exécute le conteneur, ça correspond ici à mon compte admin, il est possible de choisir un autre utilisateur, attention toutefois au propriétaire du dossier grafana et grafana/data, il peut y avoir des problèmes de droits s'ils ne correspondent pas. Pour connaître l'id d'un utilisateur on se connecte en SSH et on tape : id nom_utilisateur C'est la valeur "uid" qui nous intéresse. Important : Pour accéder à Grafana, il faut absolument que le port 3000 soit translaté sur l'hôte. On se rend sur la page http://IP_DU_NAS:3000 (ou le port qu'on a choisi) pour accéder à Grafana : Les accès par défaut sont admin/admin, la première fois qu'on se connecte on nous invite à changer le mot de passe du compte admin. On suit les indications de Grafana et on commence par ajouter la source de données, ici notre conteneur InfluxDB. On clique sur Add data source. On choisit InfluxDB. On remplit ensuite l'écran suivant de la sorte : Notes : - On donne un nom à notre datasource, ici j'ai choisi NAS_InfluxDB. - influxdb dans http://influxdb:8086 représente le nom que vous avez donné au conteneur. - On coche Basic Auth car on a activé l'authentification http à la création du conteneur influxdb. - Les informations à entrer dans "InfluxDB Details" correspondent aux paramètres d'environnement du conteneur influxdb : * Database : INFLUXDB_DB * User : INFLUXDB_USER * Password : INFLUXDB_USER_PASSWORD - Basic Auth Details : * User : INFLUXDB_USER * Password : INFLUXDB_USER_PASSWORD On clique sur Save & Test, on obtient un message écrit en vert Datasource is working si tout est bien paramétré. V/ Création d'une dashboard On peut soit créer sa propre dashboard, soit en importer une, pour cela il suffit d'aller sur le site de Grafana, plus précisément sur cette page. En tapant Synology dans le cadre de recherche, on peut par exemple choisir la dashboard de Yann Bizeul. On clique sur "Copy ID to Clipboard", on retourne sur notre instance de Grafana et on clique sur import dans le menu rapide à la gauche de l'écran : Dans l'écran suivant on colle dans "Grafana.com dashboard" le numéro de la dashboard qu'on a choisie. On valide en cliquant sur "Load" et on arrive sur l'écran suivant : Dans InfluxDB on choisit la datasource définie ci-avant, on valide en cliquant sur "Import". Si tout est opérationnel on a normalement une dashboard qui devrait afficher les données textes, et avoir déjà tracé des débuts de courbe. Suivant si vous avez changé l'intervalle de collecte de Telegraf, vous disposez déjà de plus ou moins de points. VI/ Monitorer Docker La manipulation est très simple, dans le fichier telegraf.conf, il suffit de décommenter les options qui nous intéressent. Dans mon cas j'ai utilisé le socket unix, car je vise l'instance docker du NAS tournant sur la machine hôte. Si vous avez d'autres machines faisant tourner Docker, vous pouvez les monitorer en exposant un endpoint sur le réseau via un port TCP depuis la machine hôte. Il y a possibilité de trier les conteneurs dont on souhaite réaliser la surveillance suivant différents critères : nom, état, label... Egalement, la possibilité de définir des variables d'environnement communes à différents conteneurs comme tag pour Grafana. # # Read metrics about docker containers [[inputs.docker]] # ## Docker Endpoint # ## To use TCP, set endpoint = "tcp://[ip]:[port]" # ## To use environment variables (ie, docker-machine), set endpoint = "ENV" endpoint = "unix:///var/run/docker.sock" # # ## Set to true to collect Swarm metrics(desired_replicas, running_replicas) # gather_services = false # # ## Only collect metrics for these containers, collect all if empty container_names = [] # # ## Containers to include and exclude. Globs accepted. # ## Note that an empty array for both will include all containers # container_name_include = [] # container_name_exclude = [] # # ## Container states to include and exclude. Globs accepted. # ## When empty only containers in the "running" state will be captured. # # container_state_include = [] # # container_state_exclude = [] # # ## Timeout for docker list, info, and stats commands timeout = "5s" # # ## Whether to report for each container per-device blkio (8:0, 8:1...) and # ## network (eth0, eth1, ...) stats or not perdevice = true # ## Whether to report for each container total blkio and network stats or not total = false # ## Which environment variables should we use as a tag # ##tag_env = ["JAVA_HOME", "HEAP_SIZE"] # # ## docker labels to include and exclude as tags. Globs accepted. # ## Note that an empty array for both will include all labels as tags # docker_label_include = [] # docker_label_exclude = [] # # ## Optional TLS Config # # tls_ca = "/etc/telegraf/ca.pem" # # tls_cert = "/etc/telegraf/cert.pem" # # tls_key = "/etc/telegraf/key.pem" # ## Use TLS but skip chain & host verification # # insecure_skip_verify = false Pour que cela fonctionne, il faut qu'on donne accès au fichier docker.sock à telegraf, il suffit de rajouter dans le docker-compose de telegraf le volume suivant : - "/var/run/docker.sock:/var/run/docker.sock:ro" On relance le conteneur, en SSH via la commande suivante : docker restart telegraf Ou directement par l'UI de Docker dans Synology. VI/ Monitorer un Raspberry Pi (ou Linux plus généralement) Le même schéma doit être respecté : telegraf va agréger les données, influxdb les stocker, grafana les exploiter. Dans mon cas, j'ai choisi de continuer à utiliser l'instance influxdb sur le NAS et avoir une instance de telegraf sur le raspberry, pourquoi ? Pour ceux qui ont mis en place le monitoring, vous aurez pu remarquer qu'influxdb est friand de mémoire vive. Donc autant limiter la charge sur le raspberry, dont les performances ne sont pas le premier atout. J'utilise Raspbian Stretch comme distribution, mais le tutoriel doit être valable a minima pour toute distribution basée sur Debian. 1/ Installation de telegraf Pour l'installation j'ai choisi de passer par Docker, mais il est tout à fait possible de passer par une installation directe (via apt), si l'idée est très similaire les chemins de fichier et commande ne seront en revanche pas les mêmes. Si Docker n'est pas installé sur le raspberry pi, voici un tutoriel permettant de le faire : https://iotbytes.wordpress.com/setting-up-docker-on-raspberry-pi-and-running-hello-world-container/ (NOTE : si vous n'avez pas activé l'accès SSH sur votre raspberry, c'est une option à cocher sur le bureau, le service SSH est désactivé par défaut à l'installation depuis 2016, voir guide ici.) Une fois Docker installé on se connecte en SSH sur son raspberry sur l'utilisateur qu'on a ajouté au groupe docker (voir tuto ci-dessus). On télécharge l'image de telegraf : docker pull telegraf Comme précédemment on va créer un dossier dans lequel stocker notre fichier telegraf.conf, pour le tuto j'ai choisi d'utiliser le dossier personnel de mon utilisateur "pi" : cd mkdir docker cd docker mkdir telegraf Pour générer le fichier telegraf.conf, on peut soit utiliser la commande qu'on avait utilisé sur le NAS : cd /home/pi/docker/telegraf docker run --rm telegraf telegraf config > telegraf.conf Ou on le télécharge ici : telegraf.conf Une fois le fichier de configuration généré, on va créer le conteneur, si vous avez également installer docker-compose sur votre raspberry, on peut utiliser le fichier suivant : telegraf_raspi_docker-compose.yml version: "2" services: telegraf: image: telegraf container_name: telegraf hostname: raspberrypi volumes: - "/home/pi/docker/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro" - "/proc:/host/proc:ro" ports: - 8125:8125/udp - 8092:8092/udp - 8094:8094 restart: unless-stopped Plus que probablement docker-compose n'est pas installé, ce n'est pas inclus de base dans la distribution, il suffit dans ce cas-là de taper la commande suivante en SSH : docker create --name telegraf --restart=unless-stopped --hostname=raspberrypi -p 8125:8125/udp -p 8092:8092/udp -p 8094:8094 -v /home/pi/docker/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf -v /proc:/host/proc:ro telegraf:latest Si le conteneur s'est créé sans erreur, vous devriez voir un code à rallonge, c'est son ID. Pour l'instant on ne démarre pas le conteneur, il va falloir créer la base de données dans laquelle stocker nos informations. 2/ Création de la base de données Rappelez-vous, sur le NAS nous avions précisé dans le fichier telegraf.conf un nom de bdd à utiliser, ainsi que les données d'identification pour les droits d'écriture. Cette base de données avait été créée à la création du conteneur influxdb, donc il n'y avait rien eu à configurer manuellement. Ici on va stocker les données dans une bdd séparée, donc il va falloir créer un nouvel utilisateur, et une nouvelle bdd. Pour cela il faut se connecter directement dans le conteneur influxdb du NAS. Donc retour en SSH sur celui-ci. On se connecte en root et on entre la commande suivante : docker exec -it influxdb influx -username admin -password admin Notes : docker exec -it influxdb permet la connexion au conteneur influxdb, influx c'est la commande ouvrant la base de données, si on avait écrit bash à la place on serait arrivé sur l'invite de commande propre au conteneur et on aurait pu écrire influx pour faire la même chose, mais en plus long. 😛 Vu qu'on a activé l'authentification HTTP dans notre conteneur, si on ne précise rien à la connexion, toute tentative de modification se soldera pas un échec dû à un défaut de permission. De plus, vu qu'on souhaite créer de nouveaux éléments, il faut que le compte utilisé ait les pouvoirs d'administration. Il faut donc préciser les données d'authentification au lancement de la commande influx. Ces données sont celles que l'on avait renseignées à la création du conteneur InfluxDB, dans le tutoriel on a choisi admin/admin comme username/password. Première étape : on crée la base de données, il suffit de taper la commande suivante : CREATE DATABASE raspi_telegraf puis on sélectionne la base de données qu'on vient juste de créer : USE raspi_telegraf On crée maintenant l'utilisateur dédié au raspberry : CREATE USER raspi_telegraf WITH PASSWORD 'raspi_telegraf' Notes : - Ne pas oublier les guillemets autour du mot de passe. - Si on s'est trompé dans l'écriture, il est toujours possible de supprimer un utilisateur ou une base de données avec les commandes DROP USER nom_utilisateur et DROP DATABASE nom_bdd. On peut vérifier à ce stade que tout se passe bien, il suffit de taper les commandes SHOW DATABASES et SHOW USERS : La dernière étape consiste à donner des droits à notre utilisateur raspi_telegraf sur la bdd du même nom, ce qui se fait par la commande : GRANT ALL ON raspi_telegraf TO raspi_telegraf On relance le conteneur pour s'assurer que les modifications ont été prises en compte : docker restart influxdb On peut maintenant quitter la session SSH sur le NAS et revenir sur celle du raspberry. A ce stade, notre base de données est prête à l'emploi, il suffit maintenant de renseigner dans notre fichier telegraf.conf sur le raspberry les données d'exportation vers influxdb sur le NAS. On peut le faire avec la commande nano ou vi : cd /home/pi/docker/telegraf nano telegraf.conf ############################################################################### # OUTPUT PLUGINS # ############################################################################### # Configuration for sending metrics to InfluxDB [[outputs.influxdb]] ## The full HTTP or UDP URL for your InfluxDB instance. ## ## Multiple URLs can be specified for a single cluster, only ONE of the ## urls will be written to each interval. # urls = ["unix:///var/run/influxdb.sock"] # urls = ["udp://127.0.0.1:8089"] # urls = ["http://127.0.0.1:8086"] urls = ["http://192.168.0.51:8086"] ## The target database for metrics; will be created as needed. ## For UDP url endpoint database needs to be configured on server side. database = "raspi_telegraf" ## The value of this tag will be used to determine the database. If this ## tag is not set the 'database' option is used as the default. database_tag = "" ## If true, no CREATE DATABASE queries will be sent. Set to true when using ## Telegraf with a user without permissions to create databases or when the ## database already exists. skip_database_creation = true ## Name of existing retention policy to write to. Empty string writes to ## the default retention policy. Only takes effect when using HTTP. retention_policy = "" ## Write consistency (clusters only), can be: "any", "one", "quorum", "all". ## Only takes effect when using HTTP. write_consistency = "any" ## Timeout for HTTP messages. timeout = "5s" ## HTTP Basic Auth username = "raspi_telegraf" password = "raspi_telegraf" Notes : - Dans urls, on doit entrer l'adresse IP locale du NAS (ou son nom NetBios), et préciser le port sur lequel influxdb est exposé, par défaut 8086 dans notre installation précédente. - On pense bien à préciser le nom de la base de données dans database et les login/password de notre utlisateur dans la partie HTTP Basic Auth. - On passe skip_database_creation à true. Tout est maintenant configuré sur le raspberry, il suffit de lancer le conteneur telegraf : docker start telegraf si on utilise les lignes de commande ou bien se placer dans le dossier telegraf et lancer la commande suivante : docker-compose up -d si on utilise docker-compose. Si tout a bien marché, en regardant les logs du conteneur influxdb on doit voir quelque chose ainsi : On remarque bien deux envois, un venant de 172.22.0.2 correspondant à l'IP du conteneur telegraf sur le NAS, un venant de 172.22.0.1, le NAS, servant de passerelle au raspberry pour accéder à notre instance d'influxdb. 3/ Ajout d'une source de données sur Grafana Direction Grafana => panneau latéral : Configuration (roue dentée) => Datasources On clique sur Add data source On valide, si tout a bien été configuré, on verra le message "Datasource is working" apparaître en vert au moment du clic. 4/ Création de graphiques Il s'agit juste ici de vérifier que les données sont accessibles : Ici j'ai créé un graphique pour suivre l'état d'utilisation de la mémoire vive : - On notera le choix de la datasource relative au raspberry. - Dans la liste "host" vous devriez voir le nom que vous avez précisé dans le champ hostname du script de création du conteneur. Si vous avez laissé le réglage par défaut, il affichera la valeur hostname du système. MàJ : 07/05/20
  6. 3 points
    Balooforever

    Gagnez un IronWolf pour votre NAS

    Hello @seagate_surfer Nous aurons bientôt les résultats ? 🙂
  7. 3 points
    Varx

    Mémoire Vive (RAM)

    Pour les intéressés voici un fichier récapitulant les compatibilités RAM / Syno testé par les membres. Connaitre les caractéristiques de la RAM d'un SYNO => https://www.synology.com/fr-fr/products/accessories/ram_railkit * info @maxou56 Commande ssh pour connaitre les info sur la RAM (en root sudo -i ou mettre sudo devant la commande) dmidecode -type memory (pour tout) dmidecode -t 16 (pour la RAM max du modèle) dmidecode -t 17 (pour la RAM installées) NAS-Compatibilité_RAM.xlsx
  8. 2 points
    Fenrir

    [TUTO] DNS Server

    Préambule L'objectif de ce tutoriel est de vous aider à mettre en place votre propre serveur DNS en interne (dans votre réseau local). Pour ce qui est de l’intérêt de disposer d'un serveur DNS en interne, voici quelques exemples : c'est plus fiable : vous n'êtes plus dépendant de la (non) fiabilité des DNS de votre opérateur (cf pannes d'Orange et de Free par exemple) c'est plus fiable (bis) : vous n'êtes plus soumis aux mensonges des DNS de votre opérateur (cf panne d'Orange et filtrage étatique) c'est plus rapide : grâce aux mécanismes de cache, vous ferez moins de requêtes DNS vers Internet c'est plus confortable : ça vous permet, par exemple, d'éviter de faire du loopback ou encore d'adresser vos équipements interne avec un nom au lieu d'une IP et enfin, ça vous permettra de remplacer une bonne partie des fonctions de QuickConnect (il faudra juste ouvrir les ports) et donc de couper ce dernier C'est surtout les 2 derniers points qui devrait vous intéresser car en remplaçant le loopback et Quickconnect vous gagnerez en sécurité, en fiabilité, en confort et en performances. Il ne s'agira pas d'un guide sur le protocole DNS, il y aurait beaucoup trop de choses à détailler (bien plus que sur mes précédents tuto combinés). Je vais donc prendre pas mal de libertés sur les termes employés afin de faciliter ma rédaction et votre compréhension. Pour la même raison, je serai assez avars en détails et en explications. Gardez juste à l'esprit qu'Internet repose sur 2 protocoles : BGP et DNS. Quand l'un des 2 attrape froid, tout Internet tombe malade (c'est déjà arrivé, y compris récemment). Si vous souhaitez gérer de A à Z vos DNS, renseignez-vous sur ces termes (c'est vraiment le strict minimum) : zone/resolver/XFER/glue/root/cache/split-horizon/pinpoint zone/DDNS/TTL/SOA/NS/A/AAAA/PTR/CNAME/TCP/UDP - et pour ceux qui s'intéressent à la sécurité : DNSSEC/DANE/HPKP/CAA. Petite précision tout de même, la notion de "sous-domaine" qu'on voit un peu partout n'existe pas. L'adresse www.nas-forum.com est un domaine au même titre que nas-forum.com. À la fin de ce tutoriel, vous aurez les éléments pour accéder à votre nas (ou à tout autre équipement) avec le même nom DNS que vous soyez chez vous, à distance via un VPN ou directement depuis Internet. Le DNS vous renverra à chaque fois la bonne adresse en fonction de votre emplacement. Mais je préfère vous avertir tout de suite, le DNS est un sujet bien plus complexe qu'il n'y parait. ###################################################################################### Notes de lecture Pour l'exemple, j'ai indiqué des valeurs fictives, il faudra donc les remplacer chez vous : fenrir.tuto : à remplacer par votre nom de domaine 192.168.0.2 : à remplacer par l'adresse IP privée de votre nas 192.0.2.3 : à remplacer par votre adresse IP publique (à ne pas confondre avec 192.168.x.y) www.fenrir.tuto : c'est un enregistrement d'exemple, vous pouvez en créer autant que nécessaire ns.registrar.externe : c'est le nom d'un serveur DNS qui fera office de serveur secondaire 1.2.3.4 : adresse IP d'un serveur qui fera office de serveur secondaire nb : les exemples sont en IPv4, mais le fonctionnement en IPv6 reste identique (il faut juste changer les adresses et remplacer les A par des AAAA). Ce tuto comporte 3 parties, par ordre croissant de difficulté : Cache DNS local : tout le monde devrait pouvoir y arriver en quelques cliques Zone DNS locale : cette partie devrait être abordable pour la plupart des utilisateurs Zone DNS publique : on change totalement d’échelle de difficulté ici, le principe est simple, mais la mise en œuvre peut être complexe Il n'y a aucune raison technique qui nécessite de faire la dernière partie, elle est là pour illustrer un peu plus le fonctionnement d'une architecture DNS, mais elle n'est en aucun cas nécessaire. Certains points ne seront pas abordés ou détaillés, mais il peut être utile, voir nécessaire de les mettre en œuvre, en particulier les zones de type "esclave" et inverses. Vous trouverez aussi pas mal d'informations complémentaires dans les commentaires, en particulier un retour très complet de @Mic13710 : --> cliquez ici <-- ###################################################################################### Pré requis Savoir faire des requêtes DNS, ça peut paraitre bateau dit comme ça, mais ce n'est pas aussi simple qu'un ping. Vous pouvez utiliser la commande "nslookup", elle est présente par défaut sur la plupart des systèmes (y compris les Synology). Je ne vais pas vous faire une doc, mais les 3 commandes importantes sont : demander les informations de zone : nslookup -querytype=SOA fenrir.tuto 192.168.0.2 demander la liste des serveurs de zone : nslookup -querytype=NS fenrir.tuto 192.168.0.2 demander la valeur d'un enregistrement : nslookup www.fenrir.tuto 192.168.0.2 Pour utiliser votre NAS comme serveur DNS, pour devrez modifier la configuration DNS de vos clients, le plus simple reste de le faire avec votre serveur DHCP, si vous utilisez une "box", ça ne sera surement pas possible, dans ce cas, utilisez le serveur DHCP du NAS (il est intégré par défaut dans tous les Synology depuis DSM 6.0 ou sous forme de paquet dans les versions précédentes). Si vous souhaitez héberger la résolution de votre domaine du point de vu d'Internet (donc être SOA et/ou NS), vous devez avoir une adresse IP fixe et disposer d'un second serveur DNS ailleurs. ###################################################################################### Cache DNS local Un cache DNS est un serveur DNS qui garde en mémoire les précédentes résolutions qu'il a du faire afin d'y répondre plus vite lors de nouvelles demandes. L'autre intérêt de disposer de son propre cache local et de s'affranchir des pannes et autres filtrages des serveurs DNS de votre opérateur Internet. Ce cache joue alors le rôle de "résolveur". C'est très rapide à mettre en place et ça consomme très peu de ressources, donc faites-le ! Commencez par installer et lancer le paquet DNS Server. Puis allez dans : Et configurez les options comme suit : nb : j'utilise les DNS de FDN comme "redirecteurs", car ils sont fiables et respectent votre vie privée (contrairement à ceux d'OpenDNS par exemple), mais vous êtes libre d'utiliser les serveurs de votre choix, voir aucun, votre serveur se chargera alors de l’ensemble des résolutions (ce n'est pas toujours très efficace). Il est primordial de cocher la case "Limiter le service IP source" et de bien configurer son contenu. Si vous ne le faites pas, tout le monde pourra utiliser votre serveur DNS pour résoudre n'importe quel enregistrement, votre NAS en souffrira et sera peut-être utilisé pour des attaques vers d'autres cibles. Dans la "Liste d'IP source", mettez ces adresses : Maintenant il faut tester que ce serveur fonctionne correctement, le plus simple reste de lui poser une question : nslookup nas-forum.com 192.168.0.2 Vous devriez obtenir une adresse IP (au moment de la rédaction de ce tuto, c'est 5.196.244.24). Si vous n'obtenez pas de réponse ("timeout" ou encore "No response from server") c'est que vous n'arrivez pas à contacter le serveur DNS, dans ce cas il faut vérifier qu'il est bien lancé, que c'est la bonne IP, que le firewall autorise bien le trafic ...) Si vous obtenez une réponse du type "Query refused" c'est qu'il y a bien un serveur DNS en face, mais qu'il refuse votre question, donc soit vous lui parlez mal, soit il n'est pas autorisé à vous répondre (cf "Liste d'IP source" juste au dessus) Si le serveur vous répond correctement, vous en avez terminé pour le cache DNS et vous disposez maintenant d'un résolveur DNS local utilisable par tous vos clients (y compris ceux en VPN). N'oubliez pas de modifier votre serveur DHCP pour qu'il renseigne vos clients sur l'adresse de votre serveur DNS. ###################################################################################### Zone DNS locale Une zone DNS est un fichier dans lequel sont inscrits les enregistrements DNS d'un domaine. Un des avantages d'une zone locale c'est qu'elle n'a pas besoin d'exister sur Internet. Un usage courant de ce type de zone est de s'en servir pour donner des noms à ses équipements, plus simple facile à retenir que des adresses IP. Vous pouvez par exemple créer une zone "maison", elle sera fonctionnelle dans votre réseau pour faire nas.maison, routeur.maison, ... Vous pouvez aussi créer un domaine enfant du premier (par exemple cam.maison qui contiendrait vos caméras IP, comme salon.cam.maison) et qui sera soumis à d'autres restrictions. Néanmoins, je vous déconseille fortement d'utiliser un nom de domaine que vous ne possédez pas car ça risque de créer des problèmes de sécurité. Préférez l'usage d'un domaine que vous possédez, si vous n'en avez pas ça ne coute que quelques euros par an (on en trouve à 1€/an), même si vous n'avez pas prévu de vous en servir sur Internet. nb : il ne faut jamais utiliser le suffixe ".local", même en interne Si vous ne souhaitez pas acheter un nom de domaine, vous pouvez utiliser sans risques les noms suivants : .test, .example, .invalid et .localhost Pour la suite, j'ai utilisé le gTLD .tuto car il n'est pas enregistré au moment de la rédaction de cet article, mais rien ne dit qu'il ne le sera pas quand vous lirez ces lignes. Allez dans : Puis "Créez" => "Zone master" : Et configurez-la comme suit : Pour la "Liste d'IP source", mettez ceci : Puis sélectionnez votre zone et faites "Modifier" => "Enregistrement de ressource" : Enfin, créez une (ou plusieurs) ressource(s) du type CNAME : Par exemple : Vous devriez obtenir ça : Le nom www.fenrir.tuto renverra l'adresse de ns.fenrir.tuto, donc l'adresse IP privée de votre nas. Voici un exemple plus complet : Il se lit comme suit : fenrir.tuto de type NS : cet enregistrement indique que le serveur de nom (NS) pour le domaine "fenrir.tuto" est ns.fenrir.tuto ici j'ai gardé le nom créé par Synology, ns.fenrir.tuto, mais si vous souhaitez que votre NS s’appelle ratatouille.fenrir.tuto, aucun soucis (il faudra juste modifier le type A correspondant) nas.fenrir.tuto : il s'agit d'un "alias" qui renvoi la même chose que ns.fenrir.tuto c'est plus parlant que ns pour un nas wordpress.fenrir.tuto : un autre alias pour l'utiliser avec WebStation (vhost) ou avec un reverse proxy tv.fenrir.tuto : j'ai donné un nom à la tv on se demande bien pourquoi faire ? mail.fenrir.tuto : adresse du serveur de messagerie pour vos utilisateurs c'est un type A (pas un alias) car c'est important pour les enregistrements MX ns.fenrir.tuto : l'adresse du serveur DNS (l'enregistrement de la première ligne) il doit toujours s'agir d'un type A fenrir.tuto : il indique l'adresse du serveur de messagerie pour les autres serveurs de messagerie un MX doit pointer sur un type A Vous pouvez voir que j'ai indiqué plusieurs enregistrements avec le même nom mais un type différent ou encore plusieurs noms différents qui pointent sur la même IP, c'est parfaitement valable et ne pose aucun problème si vous restez cohérents. J'aurai aussi pu mettre des IP publique pour "nommer" des ressources externes (par exemple donner un nom à un autre nas hébergé je ne sais où). Notez aussi que les TTL ne sont pas tous les mêmes. nb : avant d'aller plus loin, faites des tests avec "nslookup" pour vérifier que tout fonctionne correctement. C'est terminé pour cette zone, mais nous allons lui associer une vue pour plus de sécurité et de contrôle. ###################################################################################### Vue DNS locale Pour simplifier, considérez qu'une vue DNS est un mécanisme permettent de donner des réponses différentes en fonction de l'adresse des clients. Ça revient à peu près à disposer de plusieurs serveurs DNS au même endroit, mais avec des données et des droits différents. Nous allons créer une vue pour nos clients locaux (ou vpn), ce n'est pas une obligation, mais ça simplifiera les choses pour la suite tout en ajoutant un peu de sécurité. Allez dans : Puis "Créer" : Ici on va limiter cette vue aux seuls clients locaux (ou vpn). Enfin, on sélectionne les zones qui seront dans cette vue : nb : encore une fois, il faut tester que tout fonctionne avant de continuer. Voilà, vous avez maintenant un serveur DNS local pleinement fonctionnel pour les rôles de cache, de résolveur et de serveur de zone. Mais vous pouvez faire pleins d'autres choses, tout dépend de votre niveau de connaissances et de compétences comme par exemple du filtrage de contenu indésirable (pub, facebook, malware, ...), du MitM, un annuaire, ... nb : vous pouvez aussi créer une vue dédiée à vos clients VPN afin qu'ils puissent atteindre votre nas via son adresse en 10.x (cf tuto vpn) simplement en entrant un nom DNS, il faudra juste bien penser à le limiter aux adresses VPN (en 10.x). ###################################################################################### Zone DNS publique Jusqu'à présent on ne s'est occupé que de nos clients locaux ou VPN mais pour permettre à un client sur Internet de résoudre une adresse, il faut créer une zone publique. Ici vous avez 3 possibilités. Utiliser des serveurs sur Internet, généralement ceux de votre bureau d'enregistrement, en tant que SOA et NS, dans ce cas la suite n'est pas nécessaire. Utiliser des serveurs sur Internet, généralement ceux de votre bureau d'enregistrement, en tant que NS, mais vous êtes SOA, ça peut être assez complexe à faire Être à la fois serveur SOA et NS, c'est le choix de l'indépendance, mais c'est aussi le plus complexe à faire Ici je vais prendre l'exemple d'un auto hébergement complet, vous êtes donc SOA et NS pour votre domaine. À ne faire que si vous commencez à être bien à l'aise avec les DNS ou pour tester et apprendre. Cette opération n'est pas triviale et nécessite plusieurs prérequis, pas toujours accessibles, je recommande donc de choisir la première option, elle devrait convenir à la plupart d'entre vous. Le résultat sera le même du point de vue résolution, cette étape n'est en aucun cas obligatoire pour se passer de QuickConnect ou pour avoir des réponses différentes entre le LAN et Internet. nb : il faut une adresse IP fixe et un autre serveur DNS pour la suite, si ce n'est pas votre cas, ceci ne fonctionnera pas, ou mal. Allez dans : Puis "Créez" => "Zone master" : Et configurez-la comme suit : nb : 192.0.2.3 est une adresse publique (réservée pour les documentations), à ne pas confondre avec 192.168.x.y On garde le même nom de domaine, mais on déclare l'IP publique pour le serveur DNS principal, par contre on ne limite pas le service à certaines IP source. Vous devriez obtenir ceci : La nouvelle zone est nommée fenrir.tuto(2). On va devoir faire un peu plus de réglages pour qu'elle soit fonctionnelle : Ici on doit bien faire attention aux différentes valeurs (par exemple l'adresse mail doit exister, mais attention, elle sera visible de tous) : nb : les valeurs ci-dessous peuvent ne pas convenir à tous les usages, adaptez-les si besoin Ensuite on procède comme précédemment pour créer les ressources : Cette fois ci, www.fenrir.tuto renverra l'adresse IP publique de votre NAS. (edit) : ce n'est pas dans la capture, mais il faut aussi créer un enregistrement pour le "naked domain", le domaine lui même, ça doit être un type A Nom : fenrir.tuto Type : A TTL : à vous de voir Information : 192.0.2.3 Quelques remarques sur le TTL : Un TTL (Time To Live) est la durée de validité d'une ressource, passé ce délai, les serveurs DNS vont supprimer cette entrée de leurs caches si vous mettez une valeur trop petite, vous ne profiterez pas du cache si vous mettez une valeur trop grande, les modifications mettront du temps à se propager ne mettez JAMAIS la valeur 0 sous peine de ne plus jamais pouvoir corriger un enregistrement ou qu'il ne fonctionne pas (selon les implémentations, 0 peut être considéré comme invalide, donc l'enregistrement sera rejeté ou pire, il sera considéré comme n'expirant jamais) ###################################################################################### Vue DNS publique Comme pour la zone locale, nous allons associer une vue à cette zone publique, cette fois-ci destinée à nos clients Internet. Allez dans : Puis faites "Créer" : Et sélectionnez bien la zone publique : Vous devriez obtenir ceci : Les clients avec des adresses privées se verront proposer le contenu de la vue LAN, donc de la zone fenrir.tuto Les autres clients se verront proposer le contenu de la vue WAN, donc de la zone fenrir.tuto(2) Il faut maintenant permettre aux clients sur Internet d'accéder à votre serveur. Ouvrez l'interface de votre routeur pour créer 2 règles de redirection de port : port 53 en TCP vers votre nas port 53 en UDP vers votre nas Il faudra aussi autoriser ces ports dans le firewall de votre NAS. Vous avez maintenant votre zone publique, que tout le monde peut consulter, sauf que personne n'en connait l'adresse ! ###################################################################################### NS public Pour que votre serveur DNS, donc votre NAS, soit référencé, il faut le déclarer dans les serveurs de votre TLD (pour un .fr, c'est l'AFNIC). C'est à faire auprès de votre bureau d'enregistrement (probablement là où vous avez acheté votre domaine). C'est une opération administrative, qui est soumise à certains contrôles techniques. Donc avant de commencer, vous devez vérifier que votre zone publique est bien configurée. Le plus simple et de faire le test sur https://www.zonemaster.fr/ Choisissez l'option "Test d'un domaine non délégué" et remplissez les différents champs comme suit : Vous ne devez avoir aucune erreur (les avertissements ne devraient pas être bloquants), mais si vous avez suivi le tuto, vous allez en avoir au moins une : Une architecture DNS se doit de disposer d'au moins 2 serveurs de nom (NS) pour une zone donnée. Il vous faut donc configurer un autre serveur DNS qui contiendra les mêmes valeurs que celles présentent dans votre NAS (le serveur secondaire recevra les données depuis votre NAS). nb : un DNS secondaire (on parle plutôt d'esclave ou slave en anglais) est un serveur qui contient une copie du fichier de zone, il ne peut pas en modifier le contenu Le plus simple pour ça et d'utiliser les serveurs DNS de votre bureau d'enregistrement, certains permettent de faire DNS "secondaire". Si ce n'est pas le cas il faudra trouver un autre serveur DNS acceptant de jouer ce rôle pour votre zone. Si vous avez plusieurs adresses IP publiques, il vous suffit de monter un autre serveur derrière l'une des autres adresses Vous pouvez aussi demander à un ami ou à de la famille de le faire (enfin, vous allez devoir le faire pour eux ), s'ils ont un Synology vous savez déjà comment vous y prendre Si vous êtes coincés, je peux faire office de NS secondaire, au moins le temps de la mise en place de votre architecture (envoyez moi un MP pour en discuter) Vous avez donc 3 choses à faire : Autoriser un autre serveur DNS à se synchroniser sur votre NAS (transfert de zone) L'ajouter comme serveur NS de la zone Et lui indiquer l'adresse de votre NAS pour qu'il se mette à jour (on parle ici de quelques ko maximum à transférer) Rendez-vous dans Sélectionnez la zone publique : Puis cliquez sur "Modifier" => "Paramètres de zone" : Activez le transfert de zone : Et spécifiez les adresses des serveurs qui vont faire office de DNS secondaire : Une fois ceci fait, il faut déclarer ces serveurs comme NS dans votre zone (toujours la zone publique de votre NAS) : Indiquez l'adresse du serveur secondaire : Vous devriez avoir ceci : Et enfin, configurez votre DNS secondaire pour qu'il se synchronise avec votre SOA (votre NAS), il suffit de créer une zone de type "slave" et de lui indiquer les bons paramètres. Une fois tout ceci en place, refaites le test zonemaster en indiquant vos 2 serveurs NS (votre NAS et le DNS de votre prestataire/ami/...) : Idéalement vous devriez obtenir un résultat similaire à celui-ci : nb : jusqu'à présent, tout ce que vous avez configuré n'est valable que pour vous et n'a aucun impact pour le reste des utilisateurs sur Internet, si vous avez un doute, c'est le moment ou jamais de faire pause. Si et seulement si le test est concluant (pas d'erreur bloquante), il faudra vous rendre une dernière fois sur l'interface de votre bureau d'enregistrement afin d'y spécifier les adresses de vos serveurs NS. L'opération prend en général quelques jours pour être appliquée partout. nb : vous serez peut être amenés à déclarer un enregistrement de type GLUE pour que ns.fenrir.tuto soit reconnu et puisse fonctionner comme NS de la zone fenrir.tuto, le problème est assez simple, si vous ne le voyez pas, documentez-vous avant de continuer Dernière précision, les vues isolent les zones, c'est le principe, donc si vous voulez voir apparaitre un même enregistrement dans les différentes vues, il faut le créer dans les différentes zones (comme le www.fenrir.tuto de mon exemple).
  9. 2 points
    .Shad.

    [TUTO] Docker : Introduction

    Qu'est-ce que Docker ? Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n'importe quel serveur. On ne parle pas ici de virtualisation mais de conteneurisation, une forme plus légère, qui s'appuie sur certaines parties de la machine hôte pour son fonctionnement. En effet, une machine virtuelle nécessite son propre système d'exploitation et nécessite donc une certaine quantité de mémoire dédiée, tout cela parfois dans le but de faire tourner une seule application. Synology fournit sa propre version du moteur Docker via le centre de paquets. Pré-requis Les modèles compatibles sont : Les modèles + Les modèles RS, FS, SA Le DS620slim Seuls les NAS Synology de série 10 et plus peuvent en bénéficier. Pourquoi utiliser Docker sur un NAS Synology ? DSM est un système basé sur un noyau Linux, cependant c'est un système propriétaire et si certains éditeurs de logiciels font l'effort et ont les ressources pour développer un paquet adapté, force est de reconnaître que ça reste limité. SynoCommunity fournit certains paquets très utiles, mais les paquets étant maintenus sur la base du volontariat, les mises à jour sont fréquemment en retard. DSM fournit une interface relativement claire et épurée pour Docker, bien que limitée pour certains cas d'utilisation. Vous pouvez a priori exécuter n'importe quelle application disponible pour une distribution Linux classique. Enfin, le point le plus intéressant, le système n'est en rien affecté et aucune dépendance n'a besoin d'être installée. Vous ne risquez donc pas (du moins sans le vouloir) de planter votre installation DSM et les mises à jour de ce dernier n'ont que très peu de chances d'impacter l'exécution de vos conteneurs. Comment utiliser Docker ? Nous verrons trois méthodes pour créer des conteneurs : Par l'interface intégrée à DSM via SSH par ligne de commande via SSH en utilisant Docker-compose Les deux dernières méthodes, bien qu'un peu moins accessibles pour des images simples à configurer, se révèlent plus efficaces lorsqu'on sort des sentiers battus. Installation de Docker et recommandations Pour installer Docker, il suffit de se rendre dans le centre de paquets et de chercher Docker dans la liste des paquets tiers, on clique sur Installer. Done ! Mais avant de commencer le tutoriel et de télécharger vos premières images, quelques précautions, pour les besoins du tutoriel j'utiliserai comme exemple Heimdall, qui est une dashboard permettant de créer des liens rapidement vers ses applications via des épingles. Docker Hub est un centre de dépôts où la qualité des images peut varier très fortement, dès lors à moins de ne pas avoir le choix, évitez les images qui ne fournissent aucune documentation Parfois, la page Docker Hub d'une image ne fournit pas beaucoup d'information, vous trouverez généralement plus d'informations concernant la dite image sur GitHub (page GitHub / page DockerHub) En cas de difficulté pour créer un conteneur fonctionnel, il est toujours intéressant d'aller consulter les pages relatives au support et aux soucis techniques sur GitHub (https://github.com/linuxserver/Heimdall/issues) Il n'est pas toujours plus simple d'utiliser la version conteneurisée d'une application que sa version classique. Si pour x ou y raisons il existe des incompatibilités avec un NAS Synology ou si les difficultés sont trop nombreuses, si la documentation fait cruellement défaut, ou encore que l'image est à l'abandon, je vous conseiller d'opter pour une machine virtuelle et réaliser une installation classique. C'est du temps gagné et des cheveux épargnés. 🙂 Interface de Docker dans DSM On clique sur Docker pour arriver sur cette interface : On peut voir l'utilisation générale du processeur et de la mémoire, ainsi que l'utilisation des ressources pour chaque conteneur créé. Dans l'onglet Conteneur, on peut venir éditer nos différents conteneurs : les arrêter et les démarrer (interrupteur à droite), les modifier, les supprimer, etc... L'onglet Registre est celui qui permet de télécharger les images des applications qui nous intéressent : L'onglet Image liste les images qu'on a téléchargées sur le NAS et la taille qu'elles occupent dans l'espace de stockage : L'onglet Réseau définit les réseaux sur lesquels nos conteneurs seront actifs. L'onglet Journal est un fichier log des différentes actions réalisées (création et suppression de conteneurs, téléchargement d'images, etc...) Chronologie La logique est la suivante : On télécharge l'image d'une application qui nous intéresse. On crée un conteneur basé sur cette image en personnalisant les données à notre utilisation : les variables (un login/mdp, l'utilisateur du NAS qui va exécuter l'application, un fuseau horaire, etc...), les ports (comment on y accède), les volumes (souhaite-t-on stocker des données de manière persistente?), les réseaux (liés à l'accessibilité et à la communication), etc... On démarre le conteneur. Exemple Image Je reprends l'exemple de l'image linuxserver/heimdall (le terme à gauche est le nom de l'éditeur de l'image, à droite le nom de l'application). Par défaut, toutes les images qu'on peut rechercher dans l'interface Docker de DSM correspondent aux images hébergées sur Docker Hub. Il est possible d'ajouter des registres supplémentaires (GitLab et d'autres). Dans 99% des cas Docker Hub est la seule source dont vous avez besoin. Pour notre image en question, on trouve différentes informations : Le tag latest correspond à la dernière version stable en date, development parle d'elle-même, vous pouvez également avoir des numéros de version spécifique, si vous ne souhaitez pas que l'image se mette à jour. La plupart du temps, c'est la version latest qui nous intéressera. Par convention (respectée dans l'immense majorité), si le tag n'est pas précisé, on parle de la version latest. On retourne dans l'onglet Registre, et on double-clique sur l'image une fois trouvée via le champ de recherche : On sélectionne le tag latest. L'image se télécharge, on peut voir l'avancement dans l'onglet Image, à droite la taille que l'image occupe sur votre NAS : L'image est téléchargée, on va maintenant pouvoir créer le conteneur. Paramétrage du Conteneur On va donc créer notre conteneur, ce sera la version exécutée de notre image. Pour en créer un, il suffit de double-cliquer sur l'image qu'on a fini de télécharger : Un nom nous est proposé par défaut, on peut évidemment le modifier pour quelque chose de plus simple. On laisse décocher Exécuter le conteneur à l'aide de privilèges élevés car cela revient à donner un accès root au conteneur, sauf cas très précis c'est déconseillé. C'est une des rares options dans Docker qui peut compromettre l'intégrité de votre NAS si mal utilisée. Si un tutoriel demande à cocher cette option, prenez le temps de comprendre pourquoi et vous demander si c'est vraiment utile. On peut limiter la quantité de mémoire que le conteneur utilisera pour s'exécuter. On clique ensuite sur Paramètres avancés pour poursuivre la configuration du conteneur. Conditions d'exécution En cas d'arrêt inopportun du NAS ou du paquet Docker, on peut autoriser le redémarrage automatique, suivant l'application concernée c'est généralement un paramètre intéressant, on le coche donc. On peut créer un raccourci sur le bureau si on le souhaite. D'autres comportements que le redémarrage automatique sont disponibles mais à ma connaissance, non sélectionnables via l'interface graphique Docker de DSM. Volumes Un conteneur, lorsqu'il est créé, écrit des données sur votre NAS. Par défaut, si rien n'est précisé, les données seront écrites dans des dossiers cachés relativement peu exploitables. Lorsqu'on supprime un conteneur, les données y affairant sont également supprimées. C'est un gros avantage de Docker, rien n'est éparpillé et ne viendra polluer DSM ou votre stockage. En revanche, en cas de suppression involontaire ou d'un bug nécessitant la recréation du conteneur, il est très vite arrivé d'en perdre toute la configuration. Le montage d'un volume permet de s'affranchir de ces limitations en localisant des données (dossiers ou fichiers) à un endroit précis du NAS. Outre l'accessibilité rendue aisée, ces données ne disparaîtront pas lors de la suppression du conteneur, ou même de l'image dont il est tiré, on parle de données persistantes. A l'instar de tout système d'exploitation, il est tout à fait possible d'explorer l’arborescence d'un conteneur comme on le ferait pour notre NAS ou n'importe quelle autre machine. Ci-dessous, l’arborescence à la racine du NAS (à gauche) et l'arborescence du conteneur (à droite). Reprenons les directives du créateur de l'image : On s'intéresse aux paramètres précédés d'un -v, ici on nous dit que /config (chemin dans le conteneur, que les plus observateurs auront vu dans l'arborescence du conteneur sur l'image de droite un peu plus haut) peut être monté vers le NAS si on souhaite faire persister les données (on le veut dans ce cas, on n'a pas envie de tout reconfigurer à chaque redémarrage du conteneur). On va donc dans l'onglet Volume : Et on clique sur Ajouter un dossier. On est alors amené à choisir le dossier dans lequel on va monter /config. Par commodité, j'ai créé un dossier partagé docker dans lequel je crée un dossier pour chaque conteneur, libre à vous de vous organiser de la manière qui vous conviendra le mieux. Je choisis mon dossier et valide : Dans la colonne Chemin d'accès, je suis venu écrire manuellement le chemin absolu du dossier à monter. Réseau Pour l'accessibilité du tutoriel, je ne mentionne dans cette partie que deux types de réseau : le mode bridge (défaut) et le mode host. Le fonctionnement avancé des réseaux faisant l'objet d'une description plus exhaustive en fin de tutoriel pour ceux que ça intéresse. Par défaut, le mode bridge est sélectionné. Dans ce mode, lorsqu'un conteneur est créé, il obtient une adresse IP privée libre dans le sous-réseau 172.17.0.0/24. La passerelle de ce conteneur sera toujours 172.17.0.1, qui est une des nouvelles interfaces du NAS (consécutivement à l'installation de Docker). Pour s'en assurer, connectez-vous en SSH sur votre NAS et tapez : ifconfig Vous verrez une interface docker0 avec l'IP 172.17.0.1, c'est la porte vers le monde extérieur (LAN + WAN) pour tous les conteneurs dans le réseau bridge 172.17.0.0/24 En mode bridge, si les ports ne sont pas translatés de la passerelle (le NAS) vers le conteneur, le conteneur n'est pas accessible depuis votre réseau local (hormis le NAS). On a un fonctionnement similaire à un routeur auquel on dit de translater certains ports vers une machine de notre réseau pour y accéder de l'extérieur. Le mode host permet lui d'exposer directement le conteneur sur le NAS, à la manière de n'importe quel paquet Synology. En gardant l'avantage de conserver les dépendances en son sein et de ne pas impacter le système d'exploitation. Il n'y a dans ce cas aucune redirection de ports à effectuer, ils sont directement joignables sur l'IP du NAS (sous réserve que le pare-feu l'autorise). Dans l'onglet Réseau, on va donc laisser tel quel pour rester en mode bridge : Si on veut passer en mode host, il faut cocher l'option Utiliser le même réseau que Docker host. On notera en dernier lieu qu'il est possible par l'intermédiaire du "+" de créer des réseaux bridge différents de celui par défaut, cela peut avoir un certain intérêt lorsqu'on souhaite faire communiquer des conteneurs entre eux (voir fin du tutoriel). Ports Si on a choisi le mode bridge, Docker liste par défaut les différents ports qu'utilise le conteneur, en proposant la valeur Auto pour le port du NAS. Si vous laissez Auto, alors un port libre aléatoire sera choisi par le système. Dans l'extrême majorité des cas, on préfère définir nous même les ports à exposer, il faut simplement s'assurer qu'ils ne sont pas déjà en cours d'utilisation par un autre service (auquel cas DSM nous préviendra au moment de valider le choix des ports). On aurait pu garder les mêmes ports que dans le conteneur, mais dans le cas présent, 80 est le port utilisé par Web Station, et 443 peut servir pour la mise en place d'un proxy inversé, donc j'ai préféré en choisir d'autres qui, eux, sont libres : Note : Lorsque la documentation ne précise pas le protocole du transport des données par le dit port, c'est TCP qui est concerné. Si on a choisi le mode host, on n'a pas besoin de faire de redirection de ports (voir partie précédente) Liens Les liens permettent de connecter plusieurs conteneurs entre eux, dans la partie de gauche on choisit un autre conteneur, dans la partie de droite un alias, qui permettra de personnaliser des variables d'environnement dans le conteneur lié. Cette fonctionnalité étant dépréciée, je ne m'étendrai pas plus dessus, voir le chapitre Réseau en fin de tutoriel pour une méthode alternative. Variables d'environnement Elles permettent de personnaliser le conteneur pour notre utilisation personnelle. Dans l'image ci-dessus, elles sont identifiées par le -e, on en identifie donc trois : PUID, PGID et TZ Dans l'onglet correspondant, je crée ces trois variables en utilisant le "+" en haut à gauche du cadre : Concernant les variables PUID et PGID, elles vont permettre de définir l'utilisateur du NAS qui exécutera le conteneur. On les retrouve par exemple, mais pas seulement, dans toutes les images Linuxserver, qui est un collectif de développeurs réalisant le portage d'applications phares vers des images Docker standardisées et surtout NAS friendly. Lorsque vous cherchez une application, je vous conseille en premier lieu d'aller jeter un oeil à la liste de leur releases, les ajouts sont fréquents et les mises à jour encore plus. Pour connaître les valeurs numériques à entrer, il faut se connecter en SSH sur le NAS, et taper : id user user étant l'utilisateur qu'on souhaite employer. On obtient plusieurs valeurs, un UID >= 1026, un GID = 100 ou plus, d'autres valeurs de GID dont on ne se servira pas ici. On fait correspondre le PUID au UID et le PGID au GID. Il faut également remplir deux autres conditions pour ne pas avoir de problème de permissions d'écriture dans nos volumes : que l'utilisateur choisi a des droits suffisants dans les dossiers partagés qui seront utilisés, dans mon cas le dossier partagé docker que l'utilisateur soit idéalement propriétaire du dossier heimdall, dans lequel j'ai décidé de monter /config du conteneur. Ces conditions sont très importantes pour que tout fonctionne sans accroc. Pour TZ, c'est une variable permettant de définir le fuseau horaire à l'intérieur du conteneur, vous pouvez trouver sur cette page une liste des valeurs à entrer suivant votre localisation. Création du conteneur On valide les Paramètres avancés, et on clique sur Suivant, un dernier écran propose un récapitulatif de la configuration du conteneur, on applique. On peut vérifier dans l'onglet Conteneur que le conteneur est en cours d'exécution. Il ne reste plus qu'à aller sur notre navigateur et entrer l'adresse du NAS suivi du port HTTP qu'on a translaté depuis le conteneur vers le NAS : Et pour la version HTTPS : Aperçu et Logs du conteneur Dans notre cas c'est merveilleux tout marche bien, mais il faut savoir que toutes les images ne sont pas aussi bien documentées, et qu'on n'est jamais à l'abri d'une erreur. Dans l'onglet Conteneur, si on en sélectionne un et qu'on clique sur Détail, on peut avoir un aperçu des statistiques du conteneur, et surtout les logs du conteneur dans l'onglet Journal, c'est la première chose à regarder en cas de conteneur non fonctionnel (accès impossible, redémarrage en boucle, etc...). ________________________________________ Ceci conclut la partie destinée à l'interface Docker de DSM, elle conviendra pour la majorité de vos besoins mais peut clairement révéler des insuffisances dans des cas plus poussés. Docker via SSH Un des principaux problèmes qu'on peut rencontrer avec l'interface de DSM c'est l'impossibilité de choisir des dossiers sur le NAS en dehors de /volume1, or Docker s'appuyant sur le système d'exploitation de l'hôte, il peut avoir besoin d'accéder à ses ressources. il est possible de contourner ce problème avec l'interface DSM de Docker via des liens symboliques (symlink) mais je trouve ça plus personnellement plus compliqué qu'un bête script. Par chance, pour les images comportant peu d'infos, il y a souvent a minima le script de démarrage du conteneur, exemple avec l'image utilisée ci-avant : On comprend assez vite la correspondance entre ce qu'on a fait précédemment et ce qu'on lit ici, quelques remarques tout de même : les \ permettent d'effectuer un retour à la ligne et de rendre le script présentable, il est tout à fait possible d'écrire tout à la suite. si j'écris -p 8080:80, je demande de faire correspondre le port 8080 de l'hôte avec le port 80 du conteneur, l'ordre est donc primordial. de la même manière qu'on peut mapper les ports, on peut mapper les volumes : /volume1/docker/heimdall est ici mon dossier sur le NAS, /config mon dossier dans le conteneur, j'écrirai donc ça : -v /volume1/docker/heimdall:/config on voit qu'ici il est possible de définir un autre type de comportement pour le redémarrage (celui qu'on avait validé dans l'interface correspondant à --restart always), ici on empêche le redémarrage automatique si le conteneur a été stoppé correctement. la dernière ligne reprend le nom de l'image, si aucun tag n'est précisé alors latest est implicite. il n'est pas nécessaire de télécharger l'image au préalable, au lancement du script il va aller chercher la version la plus récente du tag demandé, la re-télécharger si l'image est obsolète et enchaîner sur la création du conteneur. il faut ajouter sudo en début de commande si on n'est pas connecté en root au terminal. Cette commande permet de créer le conteneur, on doit ensuite taper : docker start heimdall pour exécuter le conteneur (pensez à ajouter sudo aux commandes docker si vous n'êtes pas connecté en root). Assez intuitivement, pour arrêter le conteneur on tape : docker stop heimdall Pour supprimer le conteneur : docker rm heimdall Pour voir la liste des conteneurs actifs, on écrit la commande : docker ps Pour voir les logs d'un conteneur en direct, on écrit (CTRL+C pour arrêter la visualisation) : docker logs -f heimdall Pour gérer les réseaux, reportez-vous à l'aide via la commande : docker network --help Enfin, ça peut être parfois très utile, il est possible de se connecter à l'intérieur d'un conteneur, pour cela : docker exec -it heimdall bash Notes : En général, le paquet bash est présent dans la plupart des images que vous utiliserez. Parfois, si bash ne fonctionne pas, essayez ash. Si bash n'est pas disponible, rien ne vous empêche de taper directement la commande qui vous intéresse, par exemple : docker exec -it heimdall ls -la /etc Pour sortir du conteneur, tapez exit. A vous d'explorer l'ensemble des commandes à votre disposition en consultant le manuel d'aide : docker --help En dernier lieu, je vous invite à parcourir la documentation de Docker, bien que touffue elle est extrêmement claire : https://docs.docker.com/ Comme je disais au début du chapitre, le gros avantage de cette méthode est qu'elle permet de définir des chemins absolus hors /volume1 pour nos volumes. Rien ne m'empêcherait d'aller mapper /var/lib/temperature pour un dossier quelconque du conteneur. Cette possibilité est particulièrement utile quand une application va devoir utiliser le cœur de docker, le fichier /var/run/docker.sock. Ce fichier est particulièrement important, car à partir du moment où on le mappe en tant que volume vers un conteneur, on peut prendre le contrôle de Docker avec cette application. Typiquement, Portainer est une interface graphique à la manière de l'interface Docker de DSM pour gérer ses conteneurs, ses images, et toutes les infos exploitables (mais en mieux 😛). Avertissement !! A partir du moment où vous donnez accès à d'autres dossiers que ceux dans /volume1, le conteneur sera nécessairement lancé avec l'utilsateur root du NAS, car seul lui a accès à cette partie du système. Soyez donc attentifs aux nécessaires précautions que cela implique. Docker-compose via SSH Docker-compose vient compenser les lacunes de la création de conteneur par Docker : Ça permet entre autre d'adopter une forme plus analytique et donc plus lisible, on peut également définir plusieurs "services" (voir image ci-dessus) au sein d'un même fichier docker-compose.yml Concrètement, je pourrais vouloir créer un fichier docker-compose reprenant trois services : une application, une base de données, un client syslog. Aucun des trois n'a vocation à fonctionner seul, il est donc pratique de les réunir vu qu'ils forment une entité à part entière. Je pourrais également définir directement des réseaux dans ce fichier, et que ceux-ci soient créés de manière concomitante à la création des conteneurs. Il suffit de placer ce fichier dans un dossier, d'en faire le répertoire de travail dans son terminal, et de taper : docker-compose up -d Si je souhaite supprimer les conteneurs (et les éventuels réseaux définis dans le fichier), il me suffit de taper : docker-compose down Ça a également l'avantage de garder la configuration du conteneur au sein d'un fichier. Ce fichier docker-compose.yml peut être créé par Notepad++ sous Windows, ou via l'éditeur de texte sous Linux. Attention !! le fichier ne doit pas contenir de tabulation, tous les décalages sont réalisés à partir d'espace !! Plus d'infos sur Docker-compose à cette page. Quelques autres commandes utiles docker stats Affiche les ressources utilisées par vos conteneurs, se rafraîchit constamment. docker network inspect <nom_du_réseau> Permet d'avoir toutes les informations relatives à un réseau donné. docker rmi <nom_image> Permet de supprimer l'image avec le nom spécifié. Informations complémentaires Réseaux Le mode bridge par défaut (c'est-à-dire si on utilise le driver bridge, et qu'on ne rattache le conteneur à aucun réseau bridge particulier) n'est pas idéal si l'on souhaite isoler les conteneurs les uns des autres. Tous les conteneurs appartenant au réseau bridge par défaut peuvent communiquer les uns avec les autres par leur IP, et se situent sur un même sous-réseau (par exemple 172.17.0.0). Si on souhaite s'affranchir des adresses IP (qui peuvent changer entre chaque création et suppression de conteneur) et utiliser plutôt le nom du conteneur pour communiquer avec, il existe deux méthodes : Les liens (évoqués plus avant) : c'est une fonctionnalité officiellement dépréciée dans les nouvelles versions de Docker, elle est cependant présente dans l'inteface Docker de DSM, dans l'onglet Lien lorsqu'on crée ou modifie un conteneur. En précisant le nom d'un autre conteneur, on autorise la communication notre conteneur en devenir et celui-ci. Les réseaux bridge définis par l'utilisateur : la commande docker network permet de gérer les réseaux docker et donc d'en créer de nouveaux. Lorsqu'on crée un réseau bridge, celui-ci aura la propriété intrinsèque que tous les conteneurs qui y sont connectés pourront communiquer entre eux via leurs noms de conteneur. Le réseau 172.17.0.0/24 étant réservé au réseau bridge par défaut, le premier réseau disponible est le 172.18.0.0/24, et ce jusqu'à 172.32.0.0/24. Un réseau de type bridge créé dans l'interface Docker de DSM est un réseau de cette catégorie. Il existe un autre type de réseau appelé macvlan : il permet de donner une IP sur le réseau physique à un conteneur, donc par exemple 192.168.0.0/24, et sera donc directement accessible par les autres périphériques de votre réseau local. Merci à @bruno78 pour son apport sur ce sujet en particulier, la suite est très largement inspirée de ses commentaires, et @Didier3L dont les questions ont permis de défricher le terrain. Ce driver possède de gros avantages et un gros défaut : Si le conteneur a une IP sur le réseau physique, elle est directement accessible via tous ses ports. C'est excessivement pratique si certaines applications de l'hôte, ici le NAS, utilisent déjà certains ports : 80, 443, 53, etc... Prenez l'exemple parlant de Pihole, ce dernier utilise le port 80 pour plusieurs tâches, ainsi que le port 53 qui est le port DNS non sécurisé. Si vous utilisez le paquet DNS Server du NAS, le port 53 est déjà en écoute, pareil avec le port 80 si Webstation est exécuté. Nous avons précédemment vu qu'il était possible de translater, sauf que certains ports comme le port 53 ne sont pas réellement déplaçables sur un autre port. Je n'ai donc aucune redirection à faire, j'accéderai à mon application via par exemple 192.168.0.101:80, tout simplement, sans me soucier de ce que le NAS utilise. Attention cependant, en macvlan, l'hôte ne peut plus communiquer, via son interface physique, avec le conteneur !! Ce n'est pas gênant dans le cas du contrôleur Unifi d'Ubiquity, mais beaucoup plus dans le cas de Pihole par exemple. Pour créer un réseau macvlan, on peut le créer de manière externe, via docker network via ligne de commande ou de manière interne lors de l'écriture d'un script ou dans un fichier docker-compose. Dans ce cas, on va créer le réseau macvlan toto de façon externe : docker network create -d macvlan \ --subnet=192.168.0.0/24 \ --ip-range=192.168.0.144/28 \ --gateway=192.168.0.254 \ -o parent=ovs_eth0 \ toto Notes : (les valeurs sont données à titre d'exemple évidemment) - subnet => on choisit le sous-réseau physique, celui de nos machines. - ip-range => on va définir la plage d'IP couverte par le réseau, un calculateur d'IP sera d'une grande aide pour définir le nombre d'IP qu'on réserve et ajuster à notre besoin. Important !! Il est fortement recommandé que la plage d'IP couverte par le serveur DHCP de votre réseau soit dissociée de la plage d'IP allouée au réseau macvlan. - gateway => c'est notre passerelle, vu qu'on est sur le réseau physique c'est généralement votre box ou votre routeur. - parent => c'est le nom de l'interface physique (tapez ifconfig pour vérifier) On valide et notre réseau est créé. Maintenant, il reste un problème à résoudre ; comme évoqué plus haut, tout conteneur dans ce réseau ne sera pas joignable par l'hôte, quelque soit le protocole (ICMP, TCP, UDP, HTTP, etc...) Une solution existe toutefois, il suffit de créer une nouvelle interface sur le NAS, une interface virtuelle, par lequel il sera aussi normalement accessible que par son interface physique. Pour illustrer, si j'accède à DSM via 192.168.0.100:5000 en temps normal, je pourrai créer une interface avec l'IP 192.168.0.140 tel que DSM sera également accessible à l'adresse 192.168.0.200:5000 Le conteneur pourra donc communiquer avec le NAS via cette nouvelle interface. Pour cela, il suffit de taper quelques lignes de commande en SSH : ip link add <nom_interface_macvlan> link <interface_physique> type macvlan mode bridge ip addr add <IP_virtuelle>/32 dev <nom_interface_macvlan> ip link set dev <nom_interface_macvlan> address <adresse_MAC> ip link set <nom_interface_macvlan> up ip route add <Plage_DHCP_réseau_macvlan> dev <nom_interface_macvlan> Si on veut faire correspondre à l'exemple du réseau ci-dessus : - <nom_interface_macvlan> => un nom au hasard, pas de caractères spéciaux, macvlan_int par exemple, peu importe - <interface_physique> => ovs_eth0 - <IP_virtuelle> => on avait choisi arbitrairement l'adresse 192.168.0.140, on vérifie que cette IP n'est pas dans la plage couverte par le réseau macvlan toto - <adresse MAC> => on peut définir une adresse MAC pour notre interface - <Plage_DHCP_réseau_macvlan> => ça correspond à --ip-range dans le script plus haut Vous devriez maintenant avoir maintenant une nouvelle interface visible en tapant ifconfig en SSH. Vous verrez également cette interface sur l'assistant Synology par exemple. Si vous tentez un ping depuis votre NAS vers un conteneur sur le réseau macvlan, cela devrait marcher. Inconvénient majeur : Au reboot, l'interface sera supprimée et le code précédent devra être réintroduit. Pour éviter cela, on peut créer une tâche dans le planificateur de tâches, à exécuter au démarrage du NAS, qui exécute un script comprenant toutes les commandes ci-dessus (celles commençant par IP). On peut également ajouter un sleep 60 pour temporiser 60 secondes avant l'exécution du script, on s'assure ainsi que la machine a bien démarré avant toute chose. En dernier lieu, il existe un driver dhcp, qui se comporte vraiment comme un périphérique physique, dans le sens où, contrairement au driver macvlan où la plage d'IP est pré-déterminée, le conteneur ira chercher son IP auprès du serveur DHCP du réseau, très probablement la box ou le routeur. On a donc les avantages du driver macvlan sans les inconvénients. Ce driver reste toutefois à l'heure actuelle à l'état de beta, mais affaire à suivre... MàJ : 23/05/2020
  10. 2 points
    Fenrir

    [TUTO] Sécuriser les accès à son nas

    Préambule L'objectif de ce tutoriel est de vous aider à correctement sécuriser votre boitier et en particulier les accès à ce dernier. Il ne s'agira pas ici d'un guide permettant d'avoir un haut niveau de sécurité (il n'y a pas de qu'il faut dans nos boitiers), mais simplement d'une énumération des différentes étapes permettant de limiter les risques à un seuil acceptable. Tous les points ne sont pas nécessairement à suivre, chacun est libre d'appliquer ou non ces recommandations, l'important étant de comprendre de quoi il s'agit. Voyez ce TUTO comme une liste de restrictions qu'il est possible de mettre en place, selon vos besoins, certains réglages pourront ne pas convenir. Comme depuis quelques années le terme NAS est de moins en moins compris par la plupart des utilisateurs et est détourné par les fabricants, un petit rappel s'impose. Un NAS (Network Attached Storage ou boîtier de stockage en réseau) est un système permettant de stocker des fichiers et d'y accéder via le réseau. C'est tout, terminé. Si nos boitiers ne faisaient que ça, ce tutoriel aurait eu un tout autre aspect (on aurait parlé de RAID, de TRIM, d’instantanés, d'onduleur, ...), mais on constate que sous cette appellation se trouvent de nombreuses fonctions qui n'ont rien à voir avec un NAS, ce sont des fonctionnalités de serveur (hébergement de site, streaming, messagerie, applications, ...) et un serveur a souvent vocation à être consulté depuis n'importe où (ou presque). Il faut donc en sécuriser les accès. Notes de lectures Je fais emploi de la première personne du singulier dans de nombreux points pour indiquer qu'il s'agit d'avis personnels Par soucis de compréhension, malgré son utilisation impropre, le terme NAS sera employé par la suite Plusieurs liens sont présents dans ce tutoriel, je vous invite à les consulter au fur et à mesure Je vous recommande fortement de lire ce tutoriel en entier une première fois avant de commencer à faire des modifications, puis de le reprendre étape par étape par la suite. De même, faites une sauvegarde de la configuration avant de commencer Afin de limiter le texte, vous trouverez de nombreuses copies d'écran avec les réglages que je recommande. Enfin, vous avez parfaitement le droit de ne pas être d'accord avec mes recommandations, n'hésitez pas en m'en faire part dans les commentaires. Sécurité ? La sécurité est un domaine très vaste en informatique et probablement celui qui revêt le plus d'aspects, mais force est de constater que c'est aussi le sujet le moins prioritaire pour la plupart des utilisateurs. Je vois 2 raisons à ça : les consommateurs sont de plus en plus en attente de produits simples et prêts à l'emploi dès le déballage hors de question de lire la documentation => erreur hors de question de se former (ou pire, d'être formé) => erreur et de toute manière on ne court aucun risque => erreur la sécurité est perçue comme une contrainte que des empêcheurs de tourner en rond essayent d'imposer c'est trop compliqué => ce point est souvent vrai ça fait perdre trop de temps => erreur et de toute manière on ne cours aucun risque (bis) => erreur Ces points ne sont que des exemples qui concernent à peine 95% des acheteurs de matériel informatique en tout genre. Il est probable que "vous" qui lirez ces lignes êtes dans les 5% restant. Faites votre possible pour convaincre les autres. Un constat assez curieux, c'est que dès qu'on parle de sécurité dans un domaine non informatique (chambre de bébé, maison, compte en banque, ...), la plupart des personnes sont réceptives si ce n'est volontaires, mais dès que ça touche à l’informatique, il n'y a plus personne pour écouter et surtout entendre. C'est un vrai problème car de nos jours, nos bébés sont sous vidéo-surveillance, nos enfants ont des ordinateurs (une tablette est un ordinateur, même si très limité), notre maison dispose d'une alarme connectée et nos comptes en banque sont accessibles de partout. Mais curieusement, les gens ne font pas le rapprochement . Sans oublier la meilleure des réponses - "Je n'ai rien à cacher". Quoi sécuriser ? Vous êtes maintenant convaincu que la sécurité est un point à ne pas négliger, y compris en informatique ? Que devez-vous sécuriser ? Comme indiqué plus haut, en informatique, la sécurité couvre de nombreux domaines, dans le cas de nos NAS/serveurs, il y a 3 principaux domaines sur lesquels on peut agir : sécurité des accès physique : je serais surpris que votre boitier se trouve sur votre pas de porte de même, je pense que votre nas est au sec reste à gérer la problématique des vols, ou pire, des enfants, mais c'est un autre sujet sécurité des données : 2 mots => sauvegarde + chiffrement sauvegarde : ayez toujours vos données sur au moins 2 supports distincts (nas+disque externe par exemple) chiffrement : si vous avez des données privées et/ou confidentielles, le chiffrement des partages est à envisager sécurité des accès distants : c'est le sujet qu'on va aborder dès maintenant Comment faire ? La plupart des réglages sont à faire dans le panneau de configuration, donc commencez par l'ouvrir : nb : certaines applications disposent aussi de paramètres liés à la sécurité, il ne faudra pas oublier d'aller les vérifier ######################################### "Il nous baratine sur plusieurs paragraphes à propos de la sécurité et voilà qu'il commence à parler d'heure ?" En informatique et plus particulièrement sur l'aspect sécurité, l'heure est un maillon essentiel. Une machine qui n'a pas un système horaire fiable va rencontrer un jour ou l'autre les problèmes suivants : problèmes de connexion : les systèmes d’authentification et de chiffrement utilisent l'heure dans les plupart des traitements problèmes de mise à jour : l'heure est une composante importante pour les tâches planifiées et la gestion des caches problèmes de sauvegarde : comment savoir ce qui a changé depuis la dernière sauvegarde si l'heure n'est pas fiable problèmes de diagnostic : si l'heure du système n'est pas fiable, celle des journaux (logs) ne le sera pas non plus Notez bien que je parle d'heure fiable, pas nécessairement d'heure juste. L'important n'est pas d'être à la bonne heure, mais que la pendule avance à la bonne vitesse et soit en accord avec celle des autres systèmes qui y sont connectés (en gros votre pc, les serveurs de Synology, ...). Vous avez donc le choix de mettre une heure fantaisiste à la condition d'aller régler les horloges de tous les autres équipements liés (par effet ricochet, vous allez devoir régler l'heure des satellites en orbite autour de Mars ...). Le plus simple reste d'être à l'heure juste à mon avis Ça se passe ici : Sélectionnez bien votre fuseau horaire et entrez l'adresse d'un serveur de temps fiable (vous en trouverez plusieurs ici) ou choisissez en un dans la liste proposée. Comme cette synchronisation va passer par Internet, il est recommandé de choisir un serveur de sa zone géographique (pool.ntp.org le fait tout seul) : Vous pouvez aussi activer la fonction de serveur NTP de votre boitier si vous souhaitez que vos autres équipements (vos caméras de surveillance par exemple) s'en servent comme horloge de référence : Il suffira alors de les configurer pour utiliser votre NAS comme serveur de temps (ça peut aussi être fait via le DHCP, options 004 et 042). ######################################### En sécurité, une des règles d'or consiste à réduire la surface d'attaque. Moins il y a des programmes qui tournent, mieux c'est. Accessoirement ça libérera des ressources (donc il sera plus rapide, il consommera moins et il chauffera moins). Dans cette section, n'activez que les services que vous utilisez. Si vous n'utilisez pas le FTP ou le NFS ou ... désactivez les. À noter que certains protocoles disposent d'options liées au chiffrement ou à la sécurité en générale, par exemple choisir SMB3 (dans Service de fichiers Windows) permet de chiffrer la communication en AES (pour Windows 8 et plus récent, les distributions GNU/Linux avec un noyau > 3.12 et les dernières versions de MacOS) : ######################################### On peut lire un peu partout qu'il faut renommer ou désactiver le compte admin car il sera attaqué. La recommandation est, partiellement, valable, mais la raison est mauvaise. C'est une bonne chose de créer un (ou plusieurs) compte(s) d'administrateur(s) et de ne pas utiliser (ni modifier) celui par défaut : s'il y a plusieurs personnes amenées à administrer un équipement ça permet une meilleure traçabilité, ça évite de devoir se refiler le mot de passe et ça permet de couper un administrateur en particulier si besoin sans impacter les autres si vous êtes seul à administrer votre équipement ça a au moins le mérite de laisser intact le compte par défaut La raison est mauvaise car les attaques ne s’arrêtent pas si le compte admin ne marche pas, elles s’arrêtent lorsque l'attaquant a testé tous les login/password de sa liste. Un autre point qui est souvent oublié c'est que le compte admin reste obligatoire pour certaines opérations avec les anciennes versions de DSM (inférieurs à DSM6.0). nb : certaines applications ne sont pleinement fonctionnelles qu'avec des droits d'administrateurs (ce n'est pas normal mais c'est comme ça) Nous allons donc créer un nouvel administrateur, mais un peu particulier : Choisissez un login explicite mais pas celui que vous utilisez tous les jours : Il faut bien entendu qu'il soit membre du groupes "administrators" : Ici je bloque les accès à tous les partages, certains vont penser que ça ne sert à rien puisqu'un membre du groupe "administrators" peut toujours se remettre les droits et c'est vrai. L'intérêt est que, si pour une raison ou une autre, ce compte arrive à accéder une des applications de gestion des fichiers (FileStation par exemple), il ne puisse pas faire grand-chose. nb : si vous utilisez PhotoStation, vous ne pourrez pas changer les droits de ce dossier, il faut le faire directement depuis les paramètres de l'application avec un compte administrateur On ne peut pas placer de quota sur un admin, donc on passe : Comme plusieurs protections valent mieux qu'une, on peut aussi bloquer l'accès à toutes les applications, mais dans ce cas, vous ne pourrez plus les administrer (c'est logique !). Personnellement je n'ai coupé l'administration que pour les applications qui sont accessibles depuis Internet en direct (chez moi la liste est courte, il n'y en a qu'une) et quand je veux administrer cette application (c'est rare), je me connecte avec cet administrateur, je lui donne les droits, je fais mon réglage et je retire les droits. À adapter en fonction de vos besoins (au début c'est très contraignant, mais une fois que le NAS est bien configuré, on n'y prête plus vraiment attention). Dans tous les cas, autorisez l'accès au "Bureau" à votre super admin afin de conserver l'accès au panneau de configuration : Avec un peu de parano, on peut aussi ralentir les opérations sur les fichiers pour décourager l'attaquant (ça vous demandera d'activer le contrôle du trafic) : Et on applique : Une fois notre administrateur créé, on vérifie qu'il fonctionne, donc on se déconnecte et on se reconnecte avec ce nouveau compte. Si ça fonctionne et qu'il accède bien au panneau de configuration comme un administrateur on peut continuer en spécifiant une politique pour les mots de passe. Un bon mot de passe c'est un mot de passe facile à retenir ou à retrouver de tête (donc pas sur un post-it) et relativement long. On lit souvent qu'il faut utiliser des caractères spéciaux car ça rend les mots de passe plus complexe. C'est vrai si ces 3 conditions sont réunies : les utilisateurs arrivent à s'en souvenir sans le noter les utilisateurs arrivent à le taper (clavier mobile, braille, étranger, ...) sa longueur est d'au moins 12 caractères Je trouve pour ma part qu'il est plus facile d'utiliser un long mot de passe avec des lettres, des chiffres et des majuscules qu'un mot de passe avec des caractères spéciaux. Pour ce qui est de la sécurité, imposer des caractères spéciaux à un mot de passe ne le complexifie que d'un "bit" en équivalent cryptographique. Ajouter 2 caractères "normaux" le complexifie de 11 bits. Pour un humain, deviner une chaine de 10 caractères spéciaux est très complexe, pour une machine c'est plus facile qu'une chaine de 10 caractères "normaux". Je ne dis pas qu'il ne faille pas inclure des caractères spéciaux, je recommande juste de ne pas l'imposer car ça facilite la vie des utilisateurs : En activant la vérification en 2 étapes, un assistant va se lancer, suivez le guide : Je recommande FreeOTP pour gérer vos jetons (il fonctionne aussi pour FaceBook, Google, ...) mais il existe d'autres applications similaires. Entrez le code généré par l'application (si votre NAS ou votre client ne sont pas à la même heure, ça échouera probablement) : Renseignez une adresse fiable et sécurisée ici : Et on valide : Encore une fois, on teste avant de continuer, donc on se déconnecte et on se reconnecte : Cette fois ci avec une étape supplémentaire : C'en est terminé de la création de notre administrateur, on peut maintenant couper celui par défaut : Arrivez ici vous allez penser que ce compte (monadmin) est inutilisable. C'est faux, c'est un compte d’administrateur qui peut effectuer toutes les tâches d'administration, il n'a pas besoin de voir des vidéos, d'envoyer des photos, ... Donc maintenant vous pouvez/devez créer des comptes "normaux" (sans les droits d'administration) et le compte d'administration sera réservé aux tâches d'administration. Je recommande aussi de créer des comptes utilitaires pour les besoins spécifiques. À titre d'exemple, sur mes NAS j'ai créé plusieurs comptes de ce type, dont : routeur (non admin) : ce compte sert à mon routeur pour exporter les modifications de configuration, il a juste le droit de faire du FTPs dans un dossier spécifique sauvegarde (admin) : ce compte est dédié aux tâches de sauvegardes, il a un mot de passe de 64 caractères (merci Keepass) En complément j'ai plusieurs comptes "normaux" pour l'utilisation au quotidien (ma famille et moi). Ça peut paraitre contraignant, mais normalement, enfin je l'espère pour vous, vous ne passez pas votre temps à faire des tâches d’administration sur votre NAS, donc vous ne devriez pas en avoir besoin souvent. Encore une fois il ne s'agit là que de recommandations, vous êtes libres d'utiliser le login admin avec le mot de passe "1234" pour consulter vos données privées depuis la Chine. ######################################### Ici on va aller vite, je déconseille d'activer ce service si on tient un tant soit peu à la sécurité. Pour informations, voici comme fonctionne QuickConnect : votre NAS établi un tunnel OpenVPN avec un serveur tiers loué par Synology (donc de fait, ils ont un accès direct au NAS s'ils le souhaitent) en parallèle il créé et met à jour un enregistrement DNS avec votre IP public (comme un DynDNS) lorsque vous entrez l'adresse QuickConnect de votre boitier, votre client va essayer de déterminer si vous pouvez vous connecter en direct si ce n'est pas le cas, votre trafic sera dirigé sur un serveur de Synology qui se chargera de router le trafic dans le tunnel du point 1 (donc ils peuvent voir tout ce qui passe) Le résultat est un trafic souvent très lent, relativement instable et difficile à maitriser. Néanmoins, si vous souhaitez conserver QuickConnect, pensez à limiter les applications accessibles, en particulier, n'autorisez pas DSM (en pratique l'accès à DSM on s'en fiche, ce qui est important dans un NAS ce sont les fichiers, mais bloquer l'accès aux fichiers sur un NAS limite grandement son utilité ...). ######################################### Il y a 3 sections dans ce menu : Cette section vous permet de configurer un service de DNS dynamique, c'est pratique pour ceux qui n'ont pas d'adresse IP fixe, rien de compliqué ici : Ne cliquez pas ici, ça fait partie des options que Synology devrait vraiment retirer de ses boitiers. C'est très dangereux du point de vue sécurité. Ça sert à ouvrir automatiquement des ports dans votre routeur/box, ça peut paraitre sympa comme ça mais en pratique c'est une faille de sécurité très importante. Là on entre en plein dans les comportements que je décrivais au début de ce tutoriel : les gens veulent du "clef en main" et la sécurité ça complique les choses ! 2 exemples pour essayer de vous convaincre : pour que cette fonction marche, votre routeur doit gérer l'UPnP, donc tous les équipements de votre réseau pourront faire de l'ouverture dynamique de port, le PC qui vient de se prendre un virus pourra automatiquement, sans la moindre notification, ouvrir un port permettant à un attaquant d'entrer dans votre réseau de même, si vous avez configuré des redirections de ports pour plusieurs équipements, ces redirections risquent de sauter si une requête UPnP demande le même port Un petit menu que beaucoup oublient de configurer, il n'est pas obligatoire et pas lié (pas directement du moins) à la sécurité mais ça permet d'éviter de chercher des heures la raison pour laquelle un lien de partage (par exemple) ne fonctionne pas. Attention, il faut vider ces champs si vous utilisez des noms de domaine ou des ports spécifiques (portail des application, reverse proxy, ...). nb : si vous avez changé les ports de DSM (directement ou via votre routeur), il faut l'indiquer ici ######################################### On ne peut pas parler d'accès distant sans parler d'IP, donc allons y : Du point de vue confort, fiabilité et sécurité, l'attribution dynamique (DHCP) est recommandée, néanmoins, certains services nécessitent d'avoir une adresse IP fixe (c'est le cas du DKIM avec MailServer mais aussi du serveur DHCP et quelques autres applications), donc à choisir en fonction de vos besoins. Si vous choisissez DHCP, fixez l'adresse dans votre serveur DHCP (votre box probablement), si vous choisissez l'IP en dur, prenez une IP en dehors de la plage DHCP. Pour l'IPv6, même si je ne devrais pas le dire (car l'IPv6 c'est bien), du point de vue sécurité je vous recommande de le désactiver pour le moment. Le problème ne vient pas de Synology (qui permet de régler le pare-feu en IPv6), c'est plus général (j'en parle ici). Une fois que vous aurez bien compris ce que ça implique, vous pourrez revenir l'activer. Merci de ne pas changer les ports par défaut, ça n'apporte presque rien du point de vue sécurité (on gagne moins d'une seconde face à un scanner) et ça complique les usages. Si vraiment vous souhaitez les changer depuis Internet, faites-le sur votre box ou avec un "reverse proxy". Je ne redirige pas automatiquement les connexions HTTP vers HTTPS car je n'expose pas DSM directement sur Internet (il y a un serveur VPN pour ça), mais si vous le faites, activez la redirection. Attention, j'ai pu constater qu'activer la redirection HTTP vers HTTPS cassait certains mécanismes, au moins le reverse proxy pour les applications de base (audio/download/file/surveillance/video - station). Si vous souhaitez profiter de la redirection sans casser le reverse proxy, le plus simple est de créer un petit fichier php à la racine de Webstation (/web/index.php) pour gérer cette redirection : <?php $http_host = $_SERVER['HTTP_HOST']; // 307 Temporary Redirect header("Location: https://$http_host",TRUE,307); exit; ?> Vous pouvez bien entendu adapter le script pour utiliser des ports différents si besoin. Pour la dernière option, l'HSTS, ne l'activez que si vous n'accédez jamais à votre NAS autrement qu'en HTTPS (c'est votre navigateur qui enregistrera cette information et il ne vous laissera plus passer autrement qu'en HTTPS, même si ce dernier est coupé). ######################################### J'ai pris les menus dans l'ordre (ou presque), donc la section "Sécurité" n'arrive que maintenant, pourtant tout ce que l'on a vu précédemment est aussi lié à la sécurité ... Ces réglages devraient convenir à la plupart des utilisateurs : Pour le pare-feu, même si votre NAS n'est pas exposé sur Internet, activez-le, ça ne coute presque rien en ressources et ça limitera la casse si un jour il est exposé (une box qui passe en bridge, une erreur de manipulation, ...). Vous pouvez laisser les notifications activées, mais ne vous en servez pas (ne cliquez pas sur le bouton OK lorsqu'elles apparaissent), utilisez-les simplement comme un rappel que vous avez tel ou tel port à ouvrir. Les règles de pare-feu ci-dessous seront valable chez pratiquement tout le monde, en toute rigueur, il ne faudrait autoriser que les adresses "fiables" sur des services précis, mais sauf à avoir des espions dans son réseau, ça ne devrait pas poser de problèmes. On va dire que c'est un compromis entre confort et sécurité. nb : si vous souhaitez faire de l'IPv6, pensez à ajouter les adresses locales (fe80::/10 et ff00::/8) Dans un premier temps, je vous recommande vivement de configurer votre pare feu avec les 4 règles ci-dessous, à l'identique !! nb : dans les 3 premières règles, il faut bien choisir "Sous-réseau" et pas "Hôte unique" ni "Plage d'IP" ici j'utilise uniquement la table "Toutes les interfaces" car c'est plus simple à gérer et suffisant pour la plupart des besoins, si vous souhaitez utiliser les règles par interfaces, lisez ceci Une fois ces 4 règles en place, vous pourrez ajouter les autres règles dont vous avez besoin (il faut les ajouter juste avant la dernière règle) si vous souhaitez que certains services de votre NAS soient accessibles depuis Internet. Les règles ci-dessus n'autorisent que les réseaux locaux et bloquent tout le trafic venant d'Internet. Voici un exemple plus complet qui n'est pas à reprendre aveuglement, c'est juste pour illustrer : En plus des réseaux locaux (ou privés), j'autorise les services suivants : ports TCP 80 et 443 depuis l'adresse 192.0.2.3 (il s'agit d'une adresse IP public d'exemple, ce n'est pas une adresse privée => https://tools.ietf.org/html/rfc5737) port UDP 1194 (OpenVPN) uniquement depuis la France ports UDP 500, 1701 et 4500 (L2TP/IPSec) uniquement depuis la France et les ports TCP 7000 et 7001 que j'ai associé à une application, autorisés depuis la France la Guyane française nb : les règles sont évaluées dans l'ordre, de haut en bas ps : si votre NAS est derrière une Box, il faudra aussi transférer (forward) les ports sur cette dernière Une recommandation, n'autorisez pas l'accès en direct à DSM (ports TCP 5000 et 5001 par défaut) depuis Internet mais servez vous du portail des applications (cf plus bas) pour limiter les accès aux seules applications nécessaires. Si vous devez administrer votre NAS depuis Internet, l'utilisation du Serveur VPN est vivement conseillée. Une petite case à cocher pour limiter les chances que votre boitier soit rendu inaccessible suite à un certain type d'attaque : A adapter selon vos interfaces connectées. Cette fonction bloquera les adresses IP des personnes ayants fait trop d'erreurs d'authentification (ça ne fonctionne qu'avec certaines applications, mais c'est déjà ça). nb : n'ajoutez pas d'adresses dans la liste des autorisations, si vous vous bloquez vous même, changez juste l'adresse de votre poste pour le débloquer ou attendez l'expiration du blocage Un peu plus haut on a parlé d'HTTPS, or qui dit HTTPS dit certificat. Ici on se heurte à un vrai problème du point de vue de la sécurité. Il est assez difficile de l'expliquer sans en faire des pages, mais pour faire simple, n'utilisez jamais un certificat auto-signé (comme celui installé par défaut dans la plupart des équipements). La solution la plus sécurisée consiste à créer votre propre autorité de certification et à émettre vous-même vos certificats. Cette méthode présente quelques avantages mais aussi quelques inconvénients : Avantages : vous n'avez pas à faire confiance à une entreprise que vous ne connaissez pas vous n'avez pas à payer cette entreprise pour vos certificats (même si avec LetsEncrypt et quelques autres entités, c'est gratuit) vous pouvez émettre autant de certificats que nécessaire vous pouvez choisir ce qu'ils acceptent (wildcard ou multi domaine par exemple) Inconvénients : vous devez savoir le faire vous devez installer votre autorité partout où vous l'utilisez (dans vos navigateurs, smartphones, ...) La solution recommandée est donc d'utiliser un certificat signé par une autorité reconnue en standard (Synology vous permet de créer un certificat signé par LetsEncrypt, c'est gratuit et ça marche assez bien). Dans un cas comme dans l'autre, supprimez le certificat installé par défaut. Enfin, la solution qui n'en est pas une consiste à accepter les avertissements de sécurité, en faisant ça, vous installez dans votre navigateur des certificats qui n'ont été validés par personne. C'est très dangereux mais il est assez difficile de vous expliquer pourquoi en quelques mots, gardez juste à l'esprit qu'accepter un certificat non reconnu peut permettre à un attaquant d'intercepter toutes vos communications vers le site de votre banque, même si ce dernier est protégé par un vrai certificat. ps : en passant, 2 modules pour Firefox que je recommande : Y U no validate et SSleuth Donc pour la plupart d'entre vous, le bon choix est de passer par l'assistant pour créer un certificat signé par LetsEncrypt (le port 80 doit être ouvert le temps de la génération du certificat et tous les 3 mois pour son renouvellement). N'activez jamais la compression HTTP (il y a une faille de sécurité dans ce protocole qui rend l'HTTPS inefficace) et utilisez les suites de chiffrement "moderne". ######################################### Un point important en sécurité consiste à être prévenu lorsqu’un problème survient. Le paramétrage des notifications est fait pour ça. Ici j'ai configuré les notifications par mail, mais vous pouvez utiliser les SMS (si vous avez un abonnement compatible comme FreeMobile) ou encore par Push (je déconseille ce mode car il est peu pratique à l'usage). Dans le dernier onglet, vous pouvez choisir le type de notification à activer pour la plupart des événements pouvant se produire. Au début cochez tout, puis en fonction de votre usage, vous pourrez décocher certaines notifications (chez moi j'ai désactivé les notifications pour les sauvegardes réussies). ######################################### Maintenir ses équipements à jour est un moyen assez simple de limiter les problèmes de sécurité. Je recommande de laisser le NAS détecter et télécharger les mises à jour automatiquement mais de ne pas le laisser les installer tout seul. Synology sort des mises à jour de bonne qualité en général, mais il arrive, surtout pour les mises à jour majeurs, que des problèmes surviennent (en clair, elles sont parfois boguées). Laissez le NAS vous prévenir qu'une mise à jour est disponible et renseignez-vous sur d'éventuels soucis de compatibilité avant de l'installer. nb : désactivez aussi les mises à jour automatique dans le Centre de paquets pour la même raison Parmi les actions à effectuer de temps en temps, surtout lorsque vous vous apprêtez à faire de gros changements (comme en suivant ce tutoriel), la sauvegarde de la configuration n'est pas à omettre. ps : pour information, le fichier de sauvegarde est une archive tar.xz contenant une base sqlite, il est donc possible de le consulter pour récupérer un élément de configuration précis Notez en passant que seuls certains paramètres sont sauvegardés, pensez à sauvegarder le reste d'une manière ou d'une autre : ps : cette sauvegarde de la configuration du NAS n'est pas à sauvegarder sur le NAS lui-même ######################################### Ici vous avez la possibilité de restreindre l'accès à certaines applications pour certains comptes. Par exemple si vous vous servez de votre NAS comme d'un système de dépose de fichiers pour des clients, via FileStation, il n'est pas nécessaire de leur laisser accès à vos vidéos de vacances avec VideoStation. De même il est peut être utile de limiter les accès à certaines machines. Sélectionnez une application et cliquez sur Modifier, la suite est assez explicite. ######################################### Par défaut la plupart des applications sont accessibles via DSM (ports 5000 et 5001) et l'adresse de votre nas, mais si vous souhaitez que seule telle ou telle application soit accessible depuis Internet, ou dispose d'une adresse spécifique ou écoute sur un port particulier, ou encore tout ça à la fois, c'est ici qu'il faut se rendre. Vous avez 2 menus : Applications : ça permet de configurer l'adresse et le port d'écoute de certaines applications Synology Proxy Inversé : ça permet de faire la même chose pour les autres applications ou faire des configurations plus avancées Ces options vous permettent, par exemple, de faire écouter les différentes applications sur des ports précis et ainsi, grâce au pare-feu, de limiter leurs accès aux seules adresses autorisées. Ci-dessous un exemple un peu plus complexe (la seconde partie n'est réalisable qu'avec du loopback ou si vous avez un DNS en interne ou qui gère les vues, j'en parle à la fin du tuto VPN) Dans un premier temps j'ai déclaré des ports spécifiques pour chacune des applications que j'utilise : => depuis un navigateur, si j'entre l'adresse de mon nas en précisant le port 7043 je tombe directement sur Audio Station J'ai ensuite configuré le Proxy inversé pour faire correspondre les différentes applications avec des noms de domaine différents mais sur un seul port (tcp 443/https). J'ai aussi créé une entrée pour une application non Synology (il s'agit ici d'un Docker) : => depuis DSAudio, j'entre l'adresse dsaudio.mon.domaine:443 nb : dans les applications mobiles, il ne faut pas oublier le numéro de port dans l'adresse pour que ça fonctionne de partout (en interne comme depuis Internet), sinon certaines d'entre elles essayent systématiquement de trouver une configuration QuickConnect (qui n'existe pas chez moi) ps : cette configuration ne fonctionnera pas si vous avez activé la redirection HTTP vers HTTPS de DSM (cf remarque un peu plus haut) ######################################### Même si vous n'avez pas l'intention de vous en servir, activez le SSH. En cas de problème d'accès à DSM, c'est souvent la seule manière de débloquer la situation sans devoir faire un reset du NAS. Par contre ne l'ouvrez pas depuis Internet, limitez son accès à votre seul réseau local. Et en passant, choisissez le mode de chiffrement le plus élevé : ######################################### Synology a eu la bonne idée (de mémoire avec DSM 5.2) d'ajouter l'application "Conseiller en sécurité". Cette application analyse certains fichiers et certains réglages de votre NAS afin de vous prévenir en cas d'anomalies. Elle ne va pas encore assez loin à mon gout, d'où ce tutoriel, mais c'est déjà pas mal. Globalement elle fait bien son travail, donc il serait dommage de s'en passer (n'oubliez pas de planifier une analyse régulière) : Néanmoins je ne suis pas d'accord avec 3 des recommandations de Synology, celles concernant les changements de ports, donc je les désactive (tout le reste devrait être activé) : Lancez l'analyse une première fois, si vous avez suivi mes recommandations, tout devrait être au vert.
  11. 2 points
    Fenrir

    [TUTO] VPN Server

    Préambule Le but de ce tutoriel est de vous aider à mettre en place un réseau privé virtuel (VPN) entre vous et votre NAS depuis Internet. nb : il ne s'agit pas ici de "masquer" votre adresse IP pour effectuer des opérations illicites ou de manière anonyme, l'adresse IP qui sera visible depuis Internet sera celle de votre NAS (ou de votre box) Si vous ne savez pas ce qu'est vraiment un VPN, vous devriez vous renseigner avant de lire la suite. Mais comme peu de personnes feront cette démarche, en voici une description très approximative : c'est un ensemble de techniques permettant de relier 2 équipements réseau, par exemple votre PC et votre NAS généralement, il fonctionne au dessus du protocole IP et peut donc passer par Internet le tout saupoudré de diverses techniques de chiffrement (plus ou moins efficace) =>on peut donc voir ça comme un très grand câble réseau avec des barbelés autour À quoi cela peut-il servir ? Quelques exemples : Accéder de manière sécurisée à votre NAS et/ou à d'autres équipements de votre réseau local depuis Internet par exemple aux services d'administration du nas (DSM, ssh, ...) aux caméras IP à l'alarme de la maison connecter 2 nas distants entre eux ... Accéder à Internet en passant par votre connexion Internet lorsque que vous êtes en déplacement pour profiter de l'antipub que vous avez installé à la maison (par exemple avec le proxy du nas) pour surfer de manière plus "privée", ce qui est très utile dans certains pays où la notion de vie privée est pire qu'en France (ça existe, croyez moi) ou en cas d'utilisation d'un réseau "inconnu" (les HotSpot WIFI sont souvent plein d'indiscrets) à passer outre certaines restrictions en entreprise (il ne s'agit pas de faire n'importe quoi non plus, respectez les règlements intérieurs) ... ###################################################################################### À lire avant d'aller plus loin Le fait de passer par un VPN n'est pas un gage de sécurité en soit. L'utilisation d'une connexion VPN en entreprise peut mener lieu à des sanctions disciplinaires L'utilisation d'une connexion VPN peut être passible de prison (voir pire) dans certains pays (Chine, Corée du Nord, Émirats arabes unis, Iran, Russie, Turquie ...) Si la sécurité générale de votre NAS est mauvaise, ne faites pas de VPN, ça ne fera qu'augmenter les risques (vous trouverez un tuto ici) ###################################################################################### Le VPN par Synology Ce guide est valable pour les versions DSM5.0 à DSM 6.1, mais en fonction des mise à jour de Synology, certaines options peuvent évoluer. Synology fourni un paquet qui installe tout le nécessaire pour créer son serveur VPN à la maison : VPN Server Il existe de nombreux types de tunnel, plus ou moins simples à mettre en place et plus ou moins sécurisés. Le paquet VPN Server en propose 3 (en pratique il y en a 4, on le verra plus tard) : PPTP : créé par Microsoft, ce protocole souffre de nombreux problèmes de sécurité et ne devrait plus être utilisé authentification client : login + mot de passe avantages : simple à configurer et disponible sur la plupart des clients mais il tend à disparaitre (il n'est plus disponible sur iOS 10 par exemple) inconvénients : chiffrement très faible et facile à attaquer OpenVPN : c'est un tunnel SSL, libre, très souple et sécurisé authentification client : certificat + login + mot de passe avantages : chiffrement fort et possibilité de choisir le port et le protocole inconvénient : rarement supporté par défaut (mais il existe des clients pour tous les systèmes) L2TP/IPSec : il s'agit de 2 protocoles normalisés, imbriqués l'un dans l'autre, c'est un ancien standard encore très répandu authentification : secret partagé + login + mot de passe avantages : c'est un standard bien sécurisé supporté par tous les clients ou presque inconvénients : plus complexe à comprendre donc souvent mal configuré Il est généralement plus simple de se limiter au L2TP/IPSec car il est en standard sur tous les clients (Android, iOS, Linux, MacOS, Windows, ...) et souvent autorisé dans les pare-feu. nb : les descriptions précédentes correspondent à la manière dont Synology a implémenté les protocoles, pas à ce qu'ils savent faire (on peut allez beaucoup plus loin avec OpenVPN et L2TP/IPSec, comme utiliser des certificats clients, de l'OTP, ...) ###################################################################################### Prérequis La première chose à faire avant de rendre tout ou partie de votre NAS accessible depuis Internet (indépendamment du VPN), c'est la sécurisation de votre NAS. Il existe de nombreux posts sur ce sujet et même un tuto, mais le minimum devrait être : Protection DOS, blocage auto et pare-feu correctement configurés et activés (un exemple est présent plus bas pour le pare-feu) Aucun compte avec un mot de passe faible sur le NAS : minimum 12 caractères avec MAJUSCULES, minuscules, chiffres et si possible des caractères spéciaux "Configuration du routeur" désactivée, il ne faut surtout pas utiliser cette fonctionnalité des Synology, c'est une faille de sécurité Configuration de la box correcte (pas de DMZ ni d'UPnP autorisé) Ensuite vous devez savoir comment transférer des ports de votre routeur vers votre NAS (on dit couramment : forwarder des ports). Enfin, il vous faut quelques notions réseau de base (adresse IP, adresse réseau, port, route, NAT et DNS), elles ne sont pas toutes nécessaires pour configurer le serveur VPN, mais indispensable pour bien comprendre ce qu'on fait et comment ça fonctionne (je suis certain que beaucoup vont sauter ce point, pensant bien connaitre ces notions, la plupart se trompent). ###################################################################################### Installation du paquet VPN Server Dans le Centre des paquets, on cherche le paquet VPN Server et on l'installe. => À la fin de l'installation, vous aurez probablement une "Notification du pare-feu". De manière générale, il vaut mieux ne pas utiliser ce système de notification et créer les règles manuellement, mais si vous préférez utiliser ce système, décochez le port 1723 (PPTP) comme ci-dessous : Que vous utilisiez ou non cet assistant, allez dans la configuration du pare-feu et affinez les règles (pour limiter l'accès à certains pays par exemple). Un point important qui risque d’empêcher le VPN de fonctionner correctement chez certains utilisateurs (@Vinky) : il faut autoriser la connexion VPN et le trafic VPN. Si vous n'autorisez que les ports du VPN mais pas le trafic réseau qui va passer dans le tunnel, ça ne fonctionnera pas. Votre client et le nas diront - "Connecté" - mais vous n'aurez accès à rien. Gardez en tête que se connecter à un VPN c'est comme brancher un câble réseau (le VPN c'est le câble), si vous n'autorisez pas le trafic dans le câble, ça ne sert pas à grand chose. Voici un exemple de configuration du pare-feu Synology, il devrait fonctionner chez presque tout le monde (au moins en France) : tous les réseaux privés (donc qui ne peuvent pas venir d'Internet) sont autorisés : même si vous changez d'opérateur, les règles resteront valables ça permet aussi d'autoriser le trafic du tunnel VPN (par défaut il s'agit de réseaux en 10.x.0.x) les ports des protocoles VPN dont on a besoin sont autorisés : si vous n'utiliser pas OpenVPN, inutile d'ouvrir le port udp 1194 (idem pour L2TP/IPsec) on limite l'accès aux pays dont on a besoin (pas la peine de laisser toute la planète tenter de se connecter à votre nas) Notez bien qu'ici il s'agit des règles de la section "Toutes les interfaces", si vous utilisez des règles par interface il faudra adapter. nb : je vous recommande fortement de créer les 3 premières règles et la dernière à l'identique, ça ne posera aucun problème de sécurité chez 99% d'entre vous (pour le 1% restant on peut en discuter) ###################################################################################### Configuration globale Au lancement de VPN Server, cet écran apparait : Comme pour la plupart des applications Synology, l'écran est divisé en 2 avec la liste des rubriques à gauche. On commence par aller dans "Paramètres généraux" : Interface réseau : si votre NAS a plusieurs connexions réseau, il faut choisir celle qui convient, la plupart des utilisateurs pourront laisser le choix par défaut Type de compte : Utilisateurs locaux - sauf si vous avez intégré votre NAS à un annuaire (AD/LDAP) Accorder le privilège VPN aux utilisateurs locaux nouvellement ajoutés : il ne faut pas cocher cette case Blocage auto : il doit être activé, sinon il faut le faire avant de continuer => Puis dans "Privilèges" vous pouvez choisir les utilisateurs qui pourront utiliser tel ou tel type de tunnel VPN. Par défaut tout est autorisé pour tout le monde, ce qui n'est probablement pas une bonne idée. Dans l'exemple ci-dessous, certains utilisateurs peuvent utiliser plusieurs types de tunnel en fonction des besoins et des contraintes (un pare-feu d'entreprise qui ne laisse pas passer l'un ou l'autre des VPN par exemple). D'autres comptes n'ont tout simplement pas le droit pas se connecter en VPN. Ensuite on peut configurer les différents types de tunnel VPN en fonction des besoins. ###################################################################################### Serveur PPTP Ça va aller vite => il ne faut pas s'en servir Il est encore plus fiable et plus sûr de se connecter directement à son NAS en HTTP (même sans le s). ###################################################################################### Serveur OpenVPN Avant de rentrer dans la configuration, un petit mot sur OpenVPN. Il s'agit d'un projet libre et OpenSource de serveur VPN SSL/TLS, il utilise donc un certificat (et quelques autres mécanismes) pour chiffrer la communication, d'une manière très similaire à ce qui est fait par un site en HTTPS. Ce mode de fonctionnement lui permet une grande souplesse de configuration. À titre d'exemple, on peut le configurer pour écouter sur le le port TCP 443, comme le ferait un serveur HTTPS. Cette possibilité peut être utile si les ports standards sont fermés par un pare-feu. On peut aussi l'utiliser à travers un serveur proxy. Néanmoins, et cela est valable pour tous les protocoles : un bon équipement réseau sera toujours capable de faire la différence entre une connexion normale et une connexion VPN il est nettement plus efficace (en terme de débit et de stabilité) d'utiliser le protocole UDP Commencez par activer le serveur OpenVPN, vous pouvez laisser tous les réglages par défaut sauf éventuellement le cadre rouge : Par défaut le serveur ne vous laisse accéder qu'au NAS. Si vous cochez cette case, vos clients VPN pourront aussi accéder aux autre ressources de votre réseau (une imprimante réseau par exemple, un autre nas, ...) mais leur accès à Internet passera aussi par le nas. C'est à activer en connaissance de cause. Vous pouvez aussi ajuster les options de chiffrement et d'authentification, les options de la capture ci-dessus sont un compromis entre sécurité/performances et compatibilité (testé avec le client officiel sous Windows et Android). Votre NAS sera directement accessible à l'adresse 10.8.0.1. Cliquez sur "Appliquer" pour obtenir une petite notification : Comme indiqué ici, il faudra autoriser et transférer le port UDP 1194 sur votre routeur ou votre MachinBOX. Une fois la configuration terminée et enregistrée, vous devez cliquer sur "Exporter la configuration" pour obtenir les certificats et le fichier de configuration des clients. Sauvegardez le zip et ouvrez le, il contient 4 fichiers : README.txt : ce fichier contient les instructions de configuration pour Windows et MAC openvpn.ovpn : c'est le fichier de configuration qu'il faudra importer dans votre client OpenVPN ca.crt : c'est l'autorité de certification racine utilisée par OpenVPN (c'est la même que pour votre nas) ca_bundle.crt : en général c'est la même chose, mais si vous utilisez une sous autorité, il contient la chaine complète de certification nb : dans les versions récentes du paquet, le certificat est directement inclus dans le fichier .ovpn. Comme indiqué dans le README.txt, il faut éditer le fichier de configuration avant de l'importer, les lignes importantes sont : remote YOUR_SERVER_IP 1194 il faut remplacer YOUR_SERVER_IP par l'adresse IP publique utilisée pour joindre votre nas (c'est probablement votre IP publique) même si c'est déconseillé, vous pouvez spécifier un nom de domaine à la place de l'adresse IP #redirect-gateway def1 selon que vous avez ou non coché la case entourée de rouge (cf plus haut), il faut enlever ou laisser le caractère de commentaire (le #) en début de ligne #dhcp-option DNS DNS_IP_ADDRESS si vous n'avez pas dé-commenté l'option précédente, dans certaines conditions particulière, il faut préciser l'adresse d'un serveur DNS accessible depuis le client (@titis14) Notez la ligne "ca ca_bundle.crt", elle indique où trouver le certificat par rapport au fichier de configuration (par défaut il s'attend à tout avoir au même endroit, laissez comme ça c'est plus simple). nb : dans les versions récentes du paquet, le certificat est directement inclus dans le fichier .ovpn. Enregistrez le fichier et copiez le avec le fichier ca_bundle.crt sur tous vos clients (c'est le même fichier et le même certificat pour tous vos clients). C'est terminé pour la configuration du serveur OpenVPN, normalement les étapes se résument à : activer le serveur OpenVPN exporter un zip modifier la configuration pour ajouter votre adresse IP autoriser le port UDP 1194 sur le NAS ouvrir et transférer le port UDP 1194 sur le routeur ###################################################################################### Serveur L2TP/IPSec En préambule vous avez pu lire que L2TP/IPSec était un standard mais était aussi complexe. Rassurez vous, la configuration est en réalité très simple. Il faut simplement ne pas suivre une des indications de Synology ! Une petite précision avant d'aller plus loin. L2TP/IPSec englobe 2 protocoles de tunnel. On peut le lire autrement, L2TP sur IPSec ou plus clairement L2TP dans IPSec. En pratique, votre client va créer un tunnel sécurisé par IPSec et créer un tunnel L2TP à l'intérieur. IPSec : c'est ce protocole qui assure le chiffrement de votre communication L2TP : il se contente de gérer l'authentification et de transporter les données, mais sans rien chiffrer (c'est important pour la suite) Commencez par activer le serveur L2TP/IPSec, vous pouvez laisser tous réglages par défaut sauf le cadre rouge : Il faut créer et confirmer la clef pré-partagée. Cette clef va servir de mot de passe secret entre votre client et votre serveur pour authentifier les 2 extrémités. Utilisez une clef assez robuste (pas moins de 16 caractères) et ne la perdez pas (KeePass est parfait pour ça et plein d'autres choses). nb : le secret partagé ne doit contenir que des caractères ASCII, mais avec le jeu des langues et des claviers, mieux vaut se limiter aux caractères alpha numériques (a-z A-Z 0-9) nb : par défaut c'est le serveur DNS configuré dans votre NAS qui est utilisé, mais vous pouvez le changer si besoin (attention, certains clients n'en tiennent pas compte) En passant, notez l'adresse IP en haut : 10.2.0.0 Ici ça sera l'adresse du serveur VPN (ils auraient pu faire pareil qu'avec OpenVPN, mais non), votre NAS sera donc directement accessible à cette adresse. Dans le cas présent, votre NAS sera aussi accessible avec son adresse habituelle car, par défaut, tout le trafic de votre client pourra passer dans le tunnel L2TP/IPSec (il n'y a d’ailleurs pas d'option pour ça), ça dépend du client (c'est généralement le cas par défaut sous Android, iOS et Windows mais pas avec MacOS). Cliquez sur Appliquer pour obtenir une petite notification, mais attention, il y a une erreur : Il faut bien ouvrir le port UDP 1701 sur votre NAS s'il est derrière un routeur, mais il ne faut pas l'ouvrir ni le transférer sur votre routeur. Si vous ouvrez ce port sur votre routeur, vous autorisez les connexions L2TP direct. Le soucis est que certains clients testent plusieurs protocoles (iOS et Windows 10 par exemple), selon la priorité de leurs tests, s'ils voient le L2TP d'ouvert, il vont tenter de s'y connecter sans monter le tunnel IPSec. Du point de vue du client ça fonctionne et c'est rapide, mais en pratique, il n'y a aucun chiffrement de la connexion. Si vous êtes connecté en filaire sur un réseau de confiance, ce n'est pas forcement trop grave, mais si vous voulez accéder à votre NAS depuis un HotSpot, sachez que TOUT ce que vous ferez sera en clair et lisible par n'importe qui. Un pirate pourra facilement (vraiment très facilement, environ 10sec de travail) espionner votre trafic (donc vos mots de passe), se connecter à votre PC, à votre nas et à tout ce qu'il y a derrière. Il est donc important de ne pas ouvrir ni transférer le L2TP (UDP 1701) sur votre routeur. Par contre il doit être autorisé sur le NAS. Pour ceux qui n'ont pas suivi : on interdit le port sur le routeur mais on l'autorise sur le nas =>comment le client peut il atteindre le nas par ce port ? Rappelez vous, L2TP est dans le tunnel IPSec, donc votre routeur ne verra pas le L2TP passer, mais votre NAS oui. C'est terminé pour la configuration du serveur L2TP/IPSec, normalement les étapes se résument à : activer le serveur L2TP/IPSec créer un secret pré-partagé autoriser les ports UDP 500, 1701 et 4500 sur le NAS ouvrir et transférer les ports UDP 500 et 4500 sur le routeur ou la MachinBOX nb : en L2TP/IPSec, il n'est pas possible d'avoir plusieurs clients connectés en même temps s'ils sont derrière le même routeur NAT ###################################################################################### Compatibilité des clients OpenVPN : Android : aucun soucis iOS : non testé Linux : aucun soucis MacOS : aucun soucis avec El Capitan (pas testé avec Sierra) Synology : aucun soucis (merci @StéphanH) Windows : aucun soucis L2TP/IPSec : Android : ça peut ne pas fonctionner certaines versions récentes d'Android, mais c'est simple à corriger iOS : iOS 9 et 10 aucun soucis Linux : aucun soucis MacOS : aucun soucis Synology : aucun soucis Windows : ça peut ne pas fonctionner selon le type de réseau (si le NAS n'a pas d'adresse public), mais c'est simple à corriger ###################################################################################### Notes communes sur les clients Si votre client vous demande de renseigner une adresse de serveur, c'est l'adresse Internet de votre box qu'il faut saisir. Dans certains cas on peut utiliser un nom DNS, mais ce n'est pas recommandé. Si vous avez configuré votre client pour ne pas envoyer tout le trafic vers le VPN, votre NAS ne sera pas accessible depuis son adresse habituelle (192.168.x.x en général). Il faudra donc utiliser l'adresse de terminaison (celle en 10.x.x.x). Si vous avez configuré votre client pour envoyer tout le trafic vers le VPN, votre NAS sera accessible depuis son adresse habituelle (192.168.x.x en général) et votre client sera vu avec l'adresse de votre NAS depuis le reste de votre réseau (le NAS fait routeur+NAT). ###################################################################################### Configuration des clients OpenVPN Android : OpenVPN Connect Configuration : après l'import du certificat, vous aurez peut être une notification de sécurité iOS : OpenVPN Connect Configuration : rien de particulier Linux : utilisez apt/dnf/emerge/yum/zipper ou les sources (si vous utilisez network manager, network-manager-openvpn-gnome est sympa) Configuration : rien de particulier MacOS : OpenVPN Connect Configuration : parfois il faut jouer avec les routes pour que ça fonctionne Synology : Configuration : ne cochez pas la 2ème case (Use default gateway on remote network) sauf si vous savez ce que vous faites Windows : OpenVPN Configuration : rien de particulier L2TP/IPSec Android : Configuration : (cliquez pour zoomer) par défaut tout le trafic passera par le VPN mais vous pouvez ajouter des routes pour changer ce comportement dans les options avancées avec certaines versions d'Android, il faut modifier le fichier /var/packages/VPNCenter/etc/l2tp/ipsec.conf sur le NAS et remplacer sha2_truncbug=no par sha2_truncbug=yes, puis on relance le paquet (merci @CoolRaoul) iOS : Configuration : (cliquez pour zoomer) (merci @StéphanH) par défaut tout le trafic passera par le VPN, la case "Tout envoyer" permet de changer ce comportement Linux : il existe plein de clients mais j'ai une préférence pour strongswan Configuration : rien de particulier MacOS : Configuration : Il faut créer un nouvel adaptateur dans Préférences Système -> Réseau : Dans Avancé, la case entourée en rouge permet de choisir ce qu'on envoi dans le VPN (dernière capture) Synology : Configuration : Il faut créer un nouveau profil réseau dans les paramètres : Sur le 3ème écran, ne cochez pas la première case sauf si vous savez ce que vous faites Vos 2 nas pourront alors discuter entre eux directement en utilisant les adresses de terminaison en 10.2.0.x (pour faire une sauvegarde distante par exemple) Windows : Configuration : Commencez par créer la connexion VPN avec le Wizard Sous Windows 10 il ressemble à ça : ou à ça (selon par où vous passez) Que vous soyez sous Windows 7, 8 ou 10, ça va vous créer un nouvel adaptateur réseau sur lequel vous pourrez modifier les paramètres comme suit si besoin : Si votre NAS est derrière un routeur-NAT (une box par exemple), il faut créer la valeur de registre suivante : https://support.microsoft.com/en-us/kb/926179 Clef : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent Valeur DWORD32 : AssumeUDPEncapsulationContextOnSendRule Donnée de la valeur : 2 et on reboot le PC ###################################################################################### Configuration des routeurs La première chose à faire consiste à s'assurer que l'adresse IP de votre NAS ne change pas, vous avez 2 manières de procéder : la bonne : vous configurez votre DHCP (celui de la box par exemple) pour qu'il attribut toujours la même adresse au NAS (association MAC ADDRESS <-> adresse IP) la mauvaise : vous entrez une IP fixe dans la configuration réseau de votre nas Voici à quoi devrait ressembler les redirections de ports dans votre routeur dans le cas d'un VPN L2TP/IPSec, à chaque fois il faut bien renseigner l'adresse IP locale de votre nas : Freebox V5 : accessible depuis l'interface Free (merci @Mic13710) Ma Freebox->Configurer mon routeur Freebox->Redirections Livebox 4 : accessible depuis l'interface de la box (merci @StéphanH) configuration avancée->NAT/PAT EdgeRouter : vous avez plusieurs manières de faire, ici c'est la méthode pour les débutants (non recommandé) : sélectionnez bien votre interface WAN (celle connectée à Internet) : autres modèles : consultez la documentation de votre routeur, ça devrait être similaire aux exemples ci-dessus ###################################################################################### Que faire si ça ne marche pas ? La première chose à faire est de relire attentivement le tutoriel, en entier, tous les problèmes rencontrés jusqu'à présent pas les autres utilisateurs ont été traités à un endroit ou à un autre (j'actualise le post de temps en temps). Les erreurs classiques sont : mauvaises règles de pare-feu erreur de login/password erreur de secret partagé N'hésitez pas à repartir de zéro (supprimez la configuration et recommencez). Vérifiez aussi l'adresse IP public de votre connexion, avec certains FAI elle change régulièrement, même chose si vous avez utilisé un nom DNS, il faut vérifier qu'il est valide. Si vraiment vous êtes certains que tout est bon de votre coté, regardez les journaux sur le Synology, ils sont dans /var/log/auth.log Pour L2TP/IPSec vous pouvez aussi activer le debug dans le fichier /var/packages/VPNCenter/etc/l2tp/ipsec.conf : il faut dé-commenter les instructions : plutodebug=all plutostderrlog=/var/log/pluto.log puis on relance le paquet (synoservice --restart pkgctl-VPNCenter) les détails de la connexion seront visibles dans /var/log/pluto.log pensez à désactiver le debug après avoir trouvé le problème Si la connexion n’aboutit toujours pas, il faut vérifier que le VPN est bien autorisé entre le client et le serveur. Il est possible qu'un pare-feu ou que votre FAI (voir votre box) bloque ce trafic. Le plus simple pour le vérifier est de faire une capture de trames sur le Synology (à faire en root) : tcpdump -n -q "udp dst port 500 or udp dst port 4500 or udp dst port 1194" si vous ne voyez pas de trafic sur les port 500 et 4500 ou 1194 (pour OpenVPN), il y a un filtrage entre le client et votre nas Vous pouvez aussi tester avec un autre client, une autre connexion Internet, un autre nas (demandez à des amis par exemple, ça sera l'occasion de leur montrer comment ça fonctionne). ###################################################################################### Utilisation avancée En plus des paramètres présentés ci-dessus, vous pouvez faire plusieurs ajustements coté client et serveur afin de mieux correspondre à vos besoins. Pour la suite, il faut avoir un minimum de notions en réseau (minimum ne veut pas forcement dire la même chose pour tout le monde, cf Prérequis). Les points présentés ici ne sont pas limités au VPN et peuvent être utilisés dans un cadre plus général. Les tables de routage En réseau, une route c'est simplement l'itinéraire que doivent emprunter les paquets pour aller du point A au point B. Comme une route pour les voitures. Pour voir les différentes routes configurées sur votre système, "la table de routage", une commande à retenir : netstat -nr Vous connaissez tous la "route par défaut/Passerelle par défaut". Elle est matérialisée dans la table de routage de votre équipement par quelque chose ressemblant à ça : Windows : 0.0.0.0 0.0.0.0 <adresse de votre routeur> <adresse de l'interface> <métrique> le reste du monde : 0.0.0.0 <adresse de votre routeur> 0.0.0.0 UG 0 0 0 <nom de l'interface> Les 2 séries de 0.0.0.0 au début servent à définir l'adresse du réseau de destination (respectivement l'adresse de destination et le masque de sous réseau). Ce qui donne donc 0.0.0.0/0.0.0.0 ou encore 0.0.0.0/0. Pour information, l'adresse d'un réseau s'obtient en multipliant (en binaire) une adresse par son masque (ici c'est facile, ça donne 0 partout). Maintenant à quoi ça sert de savoir ça ? On a vu plus haut qu'on avait 2 types de configuration pour le trafic : tout doit passer par le VPN ou seulement le trafic entre le client et le serveur VPN (ici le nas). Si vous souhaitez, par exemple, que tout le trafic à destination d'Internet passe en direct (pas par le VPN) mais que tout le trafic à destination des adresses de votre réseau local passe par le VPN, vous devez le dire à votre client. Donc il faut créer des routes. Pour la suite, on va considérer que votre réseau est configuré comme suit : adresse de votre réseau : 192.168.0.0/24 (/24 ça veut dire 255.255.255.0) adresse de votre NAS : 192.168.0.2/24 adresse de terminaison VPN de votre NAS : 10.2.0.0 (il n'y a pas de masque ici, c'est normal) adresse d'un site Internet accessible uniquement depuis chez vous : 1.1.1.1/32 Si vous souhaitez pouvoir accéder à votre NAS, une imprimante IP, une caméra de surveillance, ... via le VPN, vous avez 2 possibilités : vous définissez la connexion VPN comme itinéraire par défaut : c'est simple mais tout le trafic passera par là, avec une connexion fibre à la maison ce n'est pas trop grave, mais en ADSL c'est lent vous spécifiez que tout le trafic à destination de votre réseau local, mais pas le reste, doit passer par le VPN => il faut ajouter une route dans la configuration de votre client Android : c'est à faire dans la configuration de la connexion VPN (tout en bas dans les paramètres de la connexion) iOS : ce n'est pas possible sauf en jailbreak Linux/MacOS : ip route add 192.168.0.0/24 via 10.2.0.0 Windows : route add 192.168.0.0 mask 255.255.255.0 10.2.0.0 Et pour le fameux site privé sur Internet ? C'est la même chose. Android : c'est à faire dans la configuration de la connexion VPN (tout en bas dans les paramètres de la connexion) iOS : ce n'est pas possible sauf en jailbreak Linux/MacOS : ip route add 1.1.1.1/32 via 10.2.0.0 Windows : route add 1.1.1.1 mask 255.255.255.255 10.2.0.0 Ici on a ajouté des routes en indiquant au système d'envoyer les paquet à 10.2.0.0, à lui de trouver la meilleur interface réseau à utiliser. On peut le faire différemment, au lieu de spécifier une adresse de routeur (10.2.0.0), on peut indiquer au système de passer par une interface bien précise (ici ça serait l'interface de VPN). Petite précision, avec des routes on défini un itinéraire, il est tout à fait possible de définir plusieurs étapes sur cet itinéraire, on peut par exemple indiquer : pour aller sur 192.168.1.0/24 il faut passer par 192.168.0.1 pour aller sur 192.168.0.1/32 il faut passer par 10.2.0.0 =>votre paquet empruntera donc le chemin suivant : [client]-------[10.2.0.0-192.168.0.2]-------[192.168.0.1-XXXXX]---????---[192.168.1.0/24] Ça c'est la théorie, pour la mise en pratique il existe plusieurs manière de gérer tout ça et de l'automatiser. À titre personnel j'utilise des scripts pour me connecter/déconnecter du VPN, j'ai donc ajouté les commandes de gestion des routes dans ces scripts (et plein d'autre choses mais ce n'est pas le sujet). Par exemple : Linux : #!/bin/sh nmcli con up id <id de connexion dans network-manager> #avec OpenVPN c'est : openvpn /fichier/de/conf.ovpn #on ajoute les routes ip route add 192.168.0.0/24 dev <nom de l'interface vpn> exit 0 Windows : rem "il faut remplacer VPN1 par le nom de l'interface VPN" rasdial "VPN1" rem "il faut remplacer XX par le numéro de l'interface VPN" route add 192.168.0.0 mask 255.255.255.0 10.2.0.0 IF XX @PiwiLAbruti a une autre approche (techniquement plus propre que la mienne), vous la trouverez ici : vpn-route.ps1 En version courte, il demande au système (via les taches planifiées) d'exécuter ses commandes de gestion de routes lorsqu'il détecte que l'interface VPN se connecte/déconnecte. Les enregistrements DNS Pour vous connecter à votre nas, la plupart d'entre vous font ceci (pour simplifier on va oublier l'https, le netbios, le changement de ports ... car ça n'a aucune importance pour la suite) : à la maison : http://192.168.0.2:5000 depuis Internet : http://<nom de domaine>:5000 via le VPN : http://10.2.0.0:5000 (ou http://192.168.0.2:5000 en fonction de vos routes) Personnellement je fais ceci : à la maison : http://<nom de domaine>:5000 depuis Internet : http://<nom de domaine>:5000 via le VPN : http://<nom de domaine>:5000 (peu importe mes routes) Je trouve ça légèrement plus simple Vous avez plusieurs méthodes pour arriver à ce résultat mais je ne vais en présenter qu'une, par contre comme c'est très long à expliquer en détails (mais simple à faire), je vais fortement abréger.. Le plus propre et de loin le plus efficace c'est de configurer votre serveur DNS pour gérer les "vues" (view) : vous demandez simplement à BIND de donner la bonne réponse en fonction de l'adresse IP du client : si le client a une IP qui vient d'Internet on renvoi l'adresse de la box si le client a une IP qui vient du LAN on renvoi l'adresse du NAS si le client a une IP qui vient du VPN on renvoi l'adresse de terminaison du NAS Tout ce qu'il reste à faire c'est d'indiquer au client d'utiliser votre serveur DNS : à la maison : via votre DHCP depuis Internet : rien à faire normalement via le vpn : en le configurant comme indiqué plus haut Vous trouverez plus de détails dans le [TUTO] DNS Server. En creusant un peu, vous trouverez d'autres techniques (loopback, cascade DNS, LLA, prerouting iptables, ...), mais aucune n'est aussi efficace du point de vue des performances et de la souplesse. La MTU et le MSS Clamping Si vous ne savez pas de quoi je parle, passez votre chemin, vous allez faire de la casse. D'ailleurs je ne vais pas en parler pour éviter les accidents, c'est juste un mémo pour rappeler aux utilisateurs les plus avancés que ces paramètres peuvent être configurés et ne doivent pas être négligés du point de vue des performances, surtout en IPv6 (même si la théorie voudrait que ça soit mieux géré en IPv6).
  12. 2 points
    Superthx

    [TUTO] Automatiser Blacklist depuis internet

    Salut! J'en avais assez que Synology ne propose pas un soft dans DSM ou SRM pour automatiser le blocages d'adresse IP depuis une liste. Car en effet si on veut blacklister une ip pour éviter de se faire "pirater" ou se faire sniffer son ip il vaut mieux en avoir une. Mais malheureusement Synology ne propose que de uploader son fichier txt et il faut le faire selon son envie de mettre a jour ses ip. Donc avec ce script on va juste mettre à jour les ip depuis une liste sur internet. Pour l'instant mon choix se porte sur blocklist.de. Si vous en avez d'autres merci de les poster. Pour DSM : Allez dans "Panneau de configuration" Puis "Planificateur de tâches" Cliquez sur "Créer" Sélectionnez "Tâche planifiée" et l'option "Script défini par l'utilisateur" Vous aurez la fenêtre "Créer une tâche", dans "Général" mettez ceci. Tâche - BLACKLIST Utilisateur - Sélectionnez "root" Cochez "Activer" Dans "Paramètres de tâche" dans la case sous "Script défini par l'utilisateur" Mettez ceci : #!/bin/bash # Liste de www.blocklist.de # Liste Choix: {all} {ssh} {mail} {apache} {imap} {ftp} {sip} {bots} {strongips} {ircbot} {bruteforcelogin} LISTE_BLOCKLIST="all" # Effacer IP apres x jours ou bien utiliser 0 pour blocage permanent DELETE_IP_AFTER="30" # Montre le temps a la fin du script; 0=non 1=oui SHOW_TIME="1" UNIXTIME=`date +%s` UNIXTIME_DELETE_IP=`date -d "+$DELETE_IP_AFTER days" +%s` wget -q "https://lists.blocklist.de/lists/$LISTE_BLOCKLIST.txt" -O /tmp/blocklist.txt cat "/tmp/blocklist.txt" | while read BLOCKED_IP do # Verifier si IP valide VALID_IPv4=`echo "$BLOCKED_IP" | grep -Eo "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" | wc -l` if [[ $VALID_IPv4 -eq 1 ]]; then # Convertir IPv4 en IPv6 IPv4=`echo $BLOCKED_IP | sed 's/\./ /g'` IPv6=`printf "0000:0000:0000:0000:0000:FFFF:%02X%02X:%02X%02X" $IPv4` CHECK_IF_EXISTS=`sqlite3 /etc/synoautoblock.db "SELECT DENY FROM AutoBlockIP WHERE IP = '$BLOCKED_IP'" | wc -l` if [[ $CHECK_IF_EXISTS -lt 1 ]]; then INSERT=`sqlite3 /etc/synoautoblock.db "INSERT INTO AutoBlockIP VALUES ('$BLOCKED_IP','$UNIXTIME','$UNIXTIME_DELETE_IP',' 1','$IPv6','0','')"` echo "IP ajouter! --> $BLOCKED_IP" else echo "IP existante! --> $BLOCKED_IP" fi fi done if [[ $SHOW_TIME -eq 1 ]]; then END=`date +%s` RUNTIME=$((END-UNIXTIME)) echo "Fini apres $RUNTIME Secondes" fi exit 0 Au debut je vous conseil de lancer le script sans programmer le temps. Car cela met un certains temps au premier lancement (comptez plus d'une heure). La première exécution fini, vous pouvez programmer la fréquence du lancement du script. Pour cela allez dans Programmer laisser "Exécuter les jours suivants" sur "Quotidienne" par exemple. En général la mise à jour le la DataBase dure beaucoup moins heureusement. Pour SMR : Il va falloir entrer en SSH comme root, ajouter le script dans un endroit de votre choix et ajouter une ligne a crontab. Le script est légèrement different car la version de date est différente que celle sous DSM. Moi j'ai choisi de mettre tous mes scripts dans la carte sd de mon RT2600ac. Si vous voulez faire comme moi, entrer en SSH avec putty en tant que root et faite ceci : mkdir /volumeUSB1/usbshare1-1/scripts chmod 755 /volumeUSB1/usbshare1-1/scripts mkdir /volumeUSB1/usbshare1-1/scripts/tmp chmod 755 /volumeUSB1/usbshare1-1/scripts vous aurez un dossier scripts et un sous dossier tmp. ensuite créons le fichier ip_block.sh vi /volumeUSB1/usbshare1-1/scripts/ip_block.sh tapez sur "i" pour insérer le script suivant #!/bin/sh # Liste de www.blocklist.de # Liste Choix: {all} {ssh} {mail} {apache} {imap} {ftp} {sip} {bots} {strongips} {ircbot} {bruteforcelogin} LISTE_BLOCKLIST="all" # Montre le temps a la fin du script; 0=non 1=oui SHOW_TIME="1" UNIXTIME=`date +%s` UNIXTIME_DELETE_IP="$((`busybox date +%s`+2592000))" wget -q "https://lists.blocklist.de/lists/$LISTE_BLOCKLIST.txt" -O /volumeUSB1/usbshare1-1/scripts/tmp/blocklist.txt cat "/volumeUSB1/usbshare1-1/scripts/tmp/blocklist.txt" | while read BLOCKED_IP do # Verifier si IP valide VALID_IPv4=`echo "$BLOCKED_IP" | grep -Eo "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" | wc -l` if [[ $VALID_IPv4 -eq 1 ]]; then # Convertir IPv4 en IPv6 IPv4=`echo $BLOCKED_IP | sed 's/\./ /g'` IPv6=`printf "0000:0000:0000:0000:0000:FFFF:%02X%02X:%02X%02X" $IPv4` CHECK_IF_EXISTS=`sqlite3 /etc/synoautoblock.db "SELECT DENY FROM AutoBlockIP WHERE IP = '$BLOCKED_IP'" | wc -l` if [[ $CHECK_IF_EXISTS -lt 1 ]]; then INSERT=`sqlite3 /etc/synoautoblock.db "INSERT INTO AutoBlockIP VALUES ('$BLOCKED_IP','$UNIXTIME','$UNIXTIME_DELETE_IP',' 1','$IPv6')"` echo "IP ajouter! --> $BLOCKED_IP" else echo "IP existante! --> $BLOCKED_IP" fi fi done if [[ $SHOW_TIME -eq 1 ]]; then END=`date +%s` RUNTIME=$((END-UNIXTIME)) echo "Fini apres $RUNTIME Secondes" fi exit 0 Attention cette fois : par exemple pour 30 jours c'est 2592000 secondes Maintenant on va créer une ligne dans crontab pour automatiser le tout. Ici toutes les heures. vi /etc/crontab tapez sur "i" pour insérer du text et allez sur la dernière, ajoutez..... 0 * * * * root /bin/sh /volumeUSB1/usbshare1-1/scripts/ip_block.sh C'est bon. Toutes les heures le script fera une mise a jour de la DB sur 30 jours Explication du Script: LISTE_BLOCKLIST permet de choisir la liste que l'on veut mettre. Ici c'est "all". Vous pouvez choisir la liste depuis https://lists.blocklist.de/lists/. Il suffit juste de choisir. Mettez "all" pour pas vous prendre la tête. MAJ du : 04/11/2019 @PPJP nous propose une nouvelle version amélioré du script. Celle-ci est fonctionnel aussi bien pour DSM que SRM. Je l'ai tester sur mon DS1511+ ainsi que sur mon RT2600ac. Il est beaucoup plus rapide et on pourra ajouter d'autres listes perso dans le futur. Vous pouvez remercier @PPJP pour son implication sur le script et son énorme boulot. Si d'autres veulent modifier ou bien proposer un script plus performant. J'ouvre un github que vous pouvez retrouvez ici. PS: N'oubliez pas d'ajouter un lancement au démarrage + un autre pour lancer le scripts X temps. ### MERCI DE VOS RETOURS OU AMELIORATIONS ### blacklist.update
  13. 2 points
    bruno78

    [TUTO] Monitorer sa Freebox Revolution

    Bonjour, j'ai donc continué à chercher ... . Premier constat : l'exit code n'est pas fiable. Certains containers le positionnent, d'autre non; difficile de se baser dessus. Par ailleurs, il faut laisser remonter tous les états de containers via telegraf. Donc : modification du fichier de configuration de telegraf : telegraf.conf. la section "input plugin" / # # Read metrics about docker containers / [[inputs.docker]], décommenter la ligne contenant les états à charger : container_state_include = ["created", "restarting", "running", "removing", "paused", "exited", "dead"] sur grafana, on crée une requête chargeant le PID, le uptime et l'exitcode. On obtient quelque chose comme ceci (après mise en forme des colonnes) avec le PID entre autre. Ensuite je stoppe manuellement 2 containers (pour montrer la différence de comportement de l'exit code) On voit que l'exit code reste à 0 pour l'un, alors qu'il est positionné à 137 pour l'autre. Par contre les 2 remontent "0" comme PID On peut agrémenter d'un petit recap, par exemple : Je relance les 2 containers : et je retrouve bien mon affichage complet, sans doublon, avec les nouveaux PID pour les containers relancés. Bruno78
  14. 2 points
    Kramlech

    [Résolu] Proxy inversé tout retourné ?

    Je crois bien (à faire valider par de plus compétents que moi sur ce sujet) que le HSTS est un peu une vacherie. S'il a été activé une fois, certains navigateurs le mémorisent, et n’acceptent de connexions non sécurisées pour ce site... Tu as essayé avec un autre navigateur ? PS : je viens de trouver ceci : Effacer le cache HSTS de votre navigateur Dans Chrome, taper chrome://net-internals/#hsts Entrer le nom de domaine dans le champ texte de la section "Delete domain security policies" Cliquer sur le bouton Delete Entrer le nom de domaine dans le champ texte de la section "Query HSTS" Cliquer sur le bouton Query La réponse doit être "Not found" (non trouvé) Avec Safari, commencer par fermer le navigateur Effacer le fichier ~/Library/Cookies/HSTS.plist Rouvrir Safari Avec Firefox, fermez tous les onglets Ouvrir le menu de Firefox et cliquer sur Historique / Afficher l’historique. Rechercher la page dont vous voulez supprimer les préférences HSTS Effectuer un clic droit sur une des entrées lui correspondant Choisir Oublier ce site
  15. 2 points
    unPixel

    [TUTO] Sécuriser et paramétrer son routeur Synology.

    Bonjour, Nous allons voir dans ce petit tuto les quelques règles importantes pour configurer correctement son routeur Synology afin d'éviter qu'il ne soit ouvert aux quatre vents et par la même occasion protéger aussi notre réseau local du monde extérieur. Quelques règles importantes : S'assurer que le compte "admin" et le compte "guest" sont désactivés. Voir en image S'assurer que notre compte administrateur a un mot de passe fort. Voir recommandations de l'ANSSI S'assurer que notre routeur à l'heure à jour et qu'il est bien configuré. Voir en image S'assurer que la double authentification est activée. Voir en image S'assurer que l'accès à distance au routeur est désactivé. Voir en image S'assurer que DoH est activé (DNS via HTTPS). Voir en image (On en parle ci-dessous 🙂) Dans le cas ou vous voudriez tout de même accéder à votre routeur de l'extérieur ce qui n'est pas recommandé pour des questions de sécurité, je vous recommande vivement de : Passer par votre serveur VPN (voir tuto de Fenrir)voir tuto de Fenrir Éventuellement passer par un domaine personnalisé via votre proxy inversé sur le port 443. Pas de nom générique du type "routeur" dans votre domaine... Lexique abrégé : Transfert de port unique (Single Port Forwarding) : lorsqu'un accès entrant doit atteindre une application particulière (programme serveur). Il faut indiquer dans le routeur un numéro du port et l'adresse IP du PC serveur. Transfert d'un ensemble de ports (Port Range Forwarding): lorsque plusieurs ports sont nécessaires pour une même application. Déclenchement de ports (Port Triggering) : pour les applications qui nécessitent que les ports soient ouverts à la demande sans pour autant préciser un appareil contrairement au port forwarding. DMZ (DeMilitarized Zone) : on autorise tous les ports à être ouvert en permanence. A ne jamais employer pour un non connaisseur en réseau. On peut éventuellement activer ce paramètre quand nous avons derrière un autre routeur qui fera le travail. UPnP (Universal Plug and Play) : on permet à n'importe quoi/qui d'ouvrir automatiquement des ports sans l'approbation du routeur/administrateur. A ne pas activer pour un non connaisseur en réseau. Vous pourrez lire sur ce forum des membres qui recommandent d'activer l'option DMZ sur un modem routeur d'un opérateur internet comme Orange ou SFR par exemple. Cela peut être utile mais c'est souvent suivi de ces deux conditions obligatoirement : Le modem routeur en question ne peut être mit en mode "bridge". Vous avez déjà un routeur derrière ce modem routeur qui fera le boulot à sa place. Partie local : Principe : encapsuler une requête DNS dans une requête HTTP/2 et l’envoyer à un serveur HTTPS qui va faire la résolution et renvoyer la réponse en HTTPS Pour ceux qui voudraient en savoir plus sur DNS DoH, je vous recommande cette vidéo très instructive : https://tube.benzo.online/videos/watch/756a8447-5a27-408d-a513-611f0288e1dd On va configurer le serveur DNS DoH ici : Centre réseau > Réseau local > Options avancées Je vous recommande de passer par le serveur DNS (DoH) de quad9 qui est un peu plus soucieux de votre vie privée que ne l'est Google ou Cloudflare par exemple... Serveur DNS DoH de Quad9 : https://dns.quad9.net/dns-query Liste des serveurs publiques DNS DoH : https://github.com/curl/curl/wiki/DNS-over-HTTPS#publicly-available-servers Partie internet : Il n'y a pas grand chose à configurer sur cette partie à part les serveurs DNS. Sécurité : Protection DoS On active la protection DoS si elle ne l'ai pas déjà. Pour les petits curieux, je vous laisse découvrir ce que c'est sur la page Wikipedia. Centre réseau > Sécurité > Général Nous ne recommandons pas la modification des Paramètres avancés si vous n'êtes pas connaisseur car ça pourrait causer des soucis sur le routeur et les appareils du réseau. DMZ On vérifie que DMZ est bien désactivé. Centre réseau > Transmission de port > DMZ Bannir un appareil Certains appareils connectés sont un peu trop bavards avec des serveurs du fabricant ou des serveurs tiers et/ou sont vendus avec des failles de sécurité comme des caméras IP, des imprimantes etc... Il peut donc être utile de leur interdire de discuter avec internet. Si on veut bannir un appareil pour qu'il ne communique pas avec internet comme une imprimante en réseau, il faut aller sur : Centre réseau > Contrôle du trafic > Généralités Là, on coche le petit globe barré afin qu'il ne soit plus grisé. Ainsi l'appareil ne peut plus communiquer avec l'extérieur ou recevoir des informations. ATTENTION : ça bloquera toutes communication entre l'appareil et internet donc ça bloquera aussi les mises à jour automatique de l'appareil. A prendre en compte ! Partie ethernet : Ne mettez sur votre réseau local câblé QUE des appareils/personnes de confiance. Une personne mal intentionnée n'aura aucun mal à récupérer vos informations en étant sur le même réseau que vous. Exactement comme un réseau wifi public (aéroports par exemple). Adresses IP privées des principaux FAI FR : B-Box > 192.168.1.254 Free-Box > 192.168.0.254 Live-Box > 192.168.1.1 SFR-Box > 192.168.1.1 En sachant celà, on va éviter de donner à notre routeur la même adresse IP privée que le modem-routeur de notre opérateur. Il est plus facile de procéder ainsi que de vouloir changer l'adresse IP privée du modem-routeur du FAI. Voici ma configuration : Pour en savoir plus sur l'IGMP, je vous laisse consulter ce lien qui sera bien plus parlant que moi. https://fr.wikipedia.org/wiki/IGMP_snooping Fixer une adresse IP privée à un appareil : Je recommande vivement d'attribuer une IP privée à votre NAS afin que ce dernier garde toujours la même adresse IP. Quoi de mieux que de laisser faire le routeur et qu'ensuite, le NAS soit configuré sur automatique ?! Pour se faire, nous nous rendons sur : Centre réseau > Réseau local > Clients DHCP Nous pouvons y voir nos appareils connectés. Il nous suffit de sélectionner le NAS puis de cliquer sur "Ajouter à la réservation d'adresse". Résultat visible ici : Centre réseau > Réseau local > Réservation DHCP On peut bien entendu ajouter manuellement un appareil si on le souhaite. Ca sera toujours sur : Centre réseau > Réseau local > Réservation DHCP On clique sur le bouton "Ajouter" puis on rempli manuellement les informations. Il faudra redémarrer l'appareil ajouté pour qu'il prenne en compte les éventuels changements. Attention : SRM est un peu capricieux avec le nom d'hôte. Il n'accepte pas certains caractères comme les espaces. Partie WIFI : Pareil que pour la partie ethernet à la différence qu'on peut activer le wifi invité pour ..... les invités 🤣 Ma configuration WIFI : NOTE : pour le canal 2.4GHz, on vous recommande de mettre 20MHz. Le 40MHz est instable ! Options avancées (reprit du site Synology) : Rotation des clés : Saisissez le nombre de secondes entre chaque rotation des clés. Largeur de canal : Sélectionnez une largeur de canal. Remarque : Cette option devient individuelle pour les différentes bandes sans fil lorsque la fonctionnalité Connexion intelligente est utilisée. Prise en charge de PMF : Choisissez parmi Désactivé, Désactivé - optionnel et Activé - requis pour permettre à votre périphérique de modifier les paramètres internes afin de répondre aux conditions de configuration. Puissance de transmission : Entrez une longueur de signal pour le réseau sans fil. Remarque : Cette option est toujours configurée sur Élevée lorsque le produit Synology rejoint un réseau mesh. DTIM : Spécifiez l'intervalle de synchronisation entre Synology Router et les clients Wi-Fi. Extended NSS : Permet d'améliorer le traitement des paquets (à activer uniquement sur RT2600AC du faite de son processeur quad core). AMPDU : Activez cette option pour que plusieurs données envoyées vers la même destination soient empaquetées ensemble. Cela contribue à améliorer les performances lorsqu'il existe de nombreux petits paquets. 802.11r : Activez cette option pour une itinérance rapide entre différents points Wi-Fi (Failles connues sur les serveurs et les clients. Résolu côté Synology mais ne le sera certainement jamais sur les clients.) Autoriser la commutation automatique sur les canaux DFS (disponible uniquement pour les bandes 5 GHz) : Activer Dynamic Frequency Selection (DFS) pour réduire le risque d'interférence des signaux. Isolement du PA : sélectionnez cette option pour activer ou désactiver cette fonctionnalité afin d'empêcher les clients connectés au réseau Wi-FI d'interagir avec d'autres périphériques connectés. MU-MIMO (disponible uniquement pour les bandes à 5 GHz) : Autoriser les périphériques clients à se connecter au réseau sans fil avec la prise en charge de MU-MIMO. Translation de multidiffusion : Activez cette option pour traduire plusieurs paquets de multidiffusion en paquets de monodiffusion pour de meilleures performances en ce qui concerne les services de diffusion. Remarque : Cette option est toujours configurée sur Activée lorsque le produit Synology rejoint un réseau mesh. Partie WIFI invité : Je vous recommande aussi de vérifier que le réseau local n'est pas accessible pour les appareils se connectant sur le réseau invité. Transmission de port et Sécurité (Pare-feu) : SRM a un ordre de priorité sur les paquets entrants qui sont : Règles de déclenchement des ports Règles de transmission des ports Règles UPnP Règles DMZ C'est ici que l'on va autoriser le transfert d'une demande d'accès sur un autre appareil du réseau local. Je m'explique... Centre réseau > Transmission de port > Transmission de port Imaginons que l'on veuille de l'extérieur de chez nous atteindre notre NAS sur le port 443, alors c'est ici qu'on donnera au routeur la règle l'autorisant. Exemple :  Un autre exemple : Il est fréquent de voir un éditeur de jeux vidéo demander que certains ports soient ouverts pour une meilleure communication entre leurs serveurs et l'appareil utilisé. Pour cette raison, je vais donc ouvrir les ports demandés pour éviter un NAT (strict) qui pourrait me porter préjudice dans mes parties de jeu comme dans la recherche de serveurs disponibles par exemple. Je pense que là, tout le monde a compris l'intérêt et surtout comment on autorise le routeur à accepter les entrées sur tel port pour tel appareil. Mais ce n'est pas tout. Sur nos routeurs Synology, on peut aussi restreindre un peu plus l'ouverture de ces ports en y ajoutant des conditions. Et là, ça se passera dans l'onglet Sécurité > Pare-feu 🙂 Pare-Feu : NOTE : en dehors de l'ouverture de ports pour le routeur uniquement, il faudra toujours ajouter les ports à la transmission de port ! On retrouve les règles de transmission de port que l'on a vu ci-dessus et on peut y trouver d'autres règles. On peut comme je l'ai dit juste avant restreindre un peu plus l'autorisation d'une règle de transmission. Exemple : Reprenons notre règle sur les ports 80 et 443 qui autorise l'accès à distance à un serveur nommé Zeus sur ces deux ports. Je voudrais par contre limiter cet accès uniquement à la FRANCE et que l'accès ne soit pas autorisé pour les autres pays. Et bien on va créer une règle pour faire ça :   Ordre de priorité : Le routeur Synology et son Pare-feu prennent en compte la priorité donnée par un administrateur. Si SRM reçoit un ordre et trouve une règle correspondante alors il arrête sa recherche et exécute l'ordre. On peut donc organiser les priorités que l'on veut voir appliquer par le système en faisant un glisser-déposer d'une règle à une autre : Protection générale du réseau : Dans les Paramètres, voici ce qu'on doit avoir : On va en profiter pour tout cocher dans le Pare-feu dans les conditions ou aucune règle n'existerait. N'oubliez pas de sauvegarder vos changements ! Surveillance du trafic en temps réel : Si on veut savoir les communications dont celles que l'on ne voit pas directement sur un appareil, il suffit d'aller sur : Centre réseau > Contrôle du trafic > Surveiller Il faut activer sur "Paramètres" les options comme ci-dessous. Pour la durée de conservation, je vous laisse juger en fonction de vos besoins et votre mémoire. Là, on peut sélectionner en haut à droite "Domaine" puis un appareil : En cliquant sur le petit +, on peut ajouter ce domaine dans les blocages de Safe Access 🙂 ATTENTION : faites bien attention à ce que vous bloquez. Autant on peut bloquer des services de publicité comme de télémétrie, autant on peut aussi bloquer un site complet ou un service de mise à jour. Divers : Blocage auto On peut comme sur nos NAS bloquer automatiquement une IP qui serait un peu trop curieuse. Perso, je fonctionne avec 2 tentatives sous 1 minute ce qui peut faire peu si vous n'êtes pas doués pour taper vos mots de passe. Vous pouvez toujours changer cette valeur mais ne la mettez pas trop haute. Centre réseau > Sécurité > Blocage auto Nous pouvons aussi enregistrer des adresses IP privées ou publiques (local ou internet) afin d'éviter qu'une personne se bannisse d'elle même. Ex : on peut mettre son smartphone ou son ordinateur. Pour des raisons de maintenance en cas de problème, nous pouvons activer le protocole de communication SSH. Pour des raisons de sécurité, je ne vous recommande pas d'ouvrir le port dans votre Pare-feu ! Panneau de configuration > Services > System Services Petite astuce en cas de faille ou si on est un peu trop parano, on peut rediriger le port SSH sur une adresse IP privée non attribuée. Ajout d'un compte administrateur : Prérequis : avoir déjà créé un compte utilisateur à qui l'on souhaite octroyer les droits "admin". Par défaut, Synology n'autorise que deux administrateurs sur le routeur à savoir le compte par défaut "admin" qui est désactivé et le compte créé lors de l'installation du routeur. Grâce à l'astuce proposée par @maxou56, nous allons pouvoir ajouter autant de compte administrateur que l'on souhaite. Perso, j'aime avoir en permanence un compte administrateur système de secours. Pour se faire, on doit se connecter en SSH : ssh root@192.168.x.x Le mot de passe demandé sera celui du compte utilisateur "admin". Si vous avez changé le port par défaut qui est 22 alors tapez la commande ci-dessous en modifiant le port par le votre (port 1234 dans cet exemple) : ssh root@192.168.x.x -p 1234 On passe ensuite en compte "root" avec la commande : su root su root AVERTISSEMENT : à partir de maintenant, vous avez tous les droits en SSH. Une commande mal tapée pourrait vous coûter cher ! Pour obtenir la liste des administrateurs, on tape la commande : synogroup --get administrators Résultat : ~ # synogroup --get administrators Group Name: [administrators] Group Type: [AUTH_LOCAL] Group ID: [101] Group Members: 0:[admin] 1:[xxxxxxxxxxx] Pour ajouter un utilisateur au groupe "administrateur", il vous faut l'ajouter via une commande sans omettre les comptes administrateurs déjà en place. synogroup --member administrators admin xxxxxxxxxxx nouvel_utilisateur (en rouge, ce sont les comptes admin qui étaient déjà en place). synogroup --member administrators admin xxxxxxxxxxx nouvel_utilisateur Pour retirer un utilisateur du groupe "administrateur", il faut taper la même commande mais sans l'utilisateur qu'on désire retiré. N'étant pas dans la commande tapée, il sera enlevé du groupe. synogroup --member administrators admin xxxxxxxxxxx (en rouge, ce sont toujours les comptes administrateurs qui étaient déjà en place et que je veux garder). synogroup --member administrators admin xxxxxxxxxxx Je ne suis pas un expert en réseau mais juste un passionné d'informatique. C'est pourquoi si vous constatez des erreurs ou que vous voudriez apporter votre pierre à ce petit édifice, vous serez les bienvenus 🙂 Merci à Einsteinium pour l'aide apportée dans l'édition de ce tuto 😉
  16. 2 points
    jacaj

    Synology 1515+ ne s'allume plus...

    Bonne nouvelle, En attendant l'alim neuve, une manip pas indispensable, mais qui permettrait de juger du fonctionnement des disques. Si l'ancienne alim fournit encore du +12v et du +5v (alors qu'il manque d'autres tensions) il est possible d'alimenter seulement les disques avec elle, et la carte mère avec l'alim de PC. Pour cela, sur l'ancienne, il faut relier le fil vert à un fil noir voisin, pour se retrouver dans la configuration à deux alims de la vidéo. (c'est ce que fait le petit boitier de tests à leds) Le bon ordre des disques comme à l'origine, me semble être indispensable pour retrouver tes volumes. Sans marquage des disques, je ne sais pas si il y a une méthode pour retrouver cet ordre. Il faudra peut être essayer toutes les combinaisons. @+.
  17. 2 points
    maxou56

    DS218J Planté.

    C’est normal, DSM est installé sur les disques, si tu as fait un double reset tu as supprimer DSM (pas les données), et sur les autres disques il n’y a pas DSM d’installé. Il faut donc remettre les anciens disques, puis utiliser Synology Assistant, ou find.synology.com, ou utiliser l’ip de celui si tu l’as fixé dans la Box/Routeur. Puis réinstaller DSM...
  18. 2 points
    jacaj

    Synology 1515+ ne s'allume plus...

    Bonsoir Juste pour être sûr, l'alimentation a bien été testée complétement débranchée, y compris les disques, avec un voltmètre ? C'est à dire en enlevant le connecteur 24 broches, éventuellement le 12 broches et le 8 broches, ou au moins le 24 broches et disques débranchés, puis démarrée en reliant le fil vert à la masse ? Et dans ce cas toutes les tensions 3,3v, 5v et +/-12v étaient présentes ? Il y a aussi la possibilité de démarrer au moins la carte mère avec une alim de PC standard comme dans cette vidéo qui devrait s"appliquer aussi au DS1515+. https://www.youtube.com/watch?v=NWH0ZOCyW8s Ça permet d'être sur que la CM est bien rincée avant un nouvel achat... Si ça réagit comme dans la vidéo, il faudra changer l'alim. Ne pas oublier que dans le lien de réparation sur forum-hardware.fr donné plus haut, il y a une deuxième soudure possible, indiquée dans le rectangle marqué "spoiler".
  19. 2 points
    alan.dub

    ds418 ou 918+

    Encore une fois (j'vais finir par passer pour un gros lourd à force 😅), ce n'est pas au NAS de transcoder ! Lui ne doit que transférer, c'est tout. C'est au lecteur réseau de décoder les flux (vidéo et/ou audio). 1 : Les NAS n'ont pas le hardware suffisant pour cela. 2 : Que faire lorsqu'un nouveau codec sort (vidéo / audio) ? On change de NAS si ce dernier n'a pas de mise à jour ? 3 : Quid pour les codecs non open source comme le ATMOS, le DTS et la prise en charge du HDR / Dolby Vision ? Du H265 ? Non... c'est au lecteur réseau de faire ça, pas au NAS.
  20. 2 points
    Kramlech

    Script SHELL

    Aide toi, le ciel t'aidera !!!!!
  21. 2 points
    perduici

    [Résolu]Recherche une clé de tiroir

    Bonjour. Envoie ton adresse en mp, je t'envoie une impression par courier
  22. 2 points
    unPixel

    Visio conf via le nas ?

    Bonjour, Tu peux très bien le faire via l'application "Chat" en tapant /jitsi à ton contact. Le service est en lien avec Jitsi mais tu n'as pas besoin d'installer quoi que ce soit hormis "Chat" 😉 Edit : prit de cours par Piwi qui a été plus rapide 🧐
  23. 2 points
    PiwiLAbruti

    Visio conf via le nas ?

    Il y a Jitsi que je n’ai pas encore testé : https://jitsi.org/
  24. 2 points
    Jeff777

    Centre des Journaux - Où sont les journaux ?

    Pas de quoi. Pas de quoi 😊😊
  25. 2 points
    maxou56

    [Réglé] Vitesse de transfert lente

    Si tu as des prises, il y a sans doute un fil mal sertis. (si il manque un paire, alors la connexion passe en 100Mbit en utilisant seulement 2 paires sur les 4)
  26. 2 points
    Brunchto

    Heure de Mise sous tension

    les traductions de l'interface sont parfois trés moyenne, voire incompréhensibles. J'ai parfois fait des retours via le support, mais les corrections n'ont jamais été apportées 😞
  27. 2 points
    ömür

    Cloud Sync - Onedrive

    Bonjour, je réponds toujours à à moi-même : Bonjour à tous, Faute de mieux, j’ai trouvé cette solution quasi "mystique" pour moi ! Quand on convertit les noms des fichiers "encodés en NFD" en des noms de fichiers "encodés en NFC" et ce, en utilisant le site https://dencode.com/en/string/unicode-normalization, les fichiers qui ne sont pas synchronisés (dont les noms étaient "encodés en NFD") commencent à se synchroniser immédiatement. Je qualifie cette procédure "mystique" car après transformation d’encodage, "la vue / la forme / l’orthographe" des noms de fichiers sont IDENTIQUES, à l’œil nu. Autrement dit, les deux formes (NFD et NFC) s’affichent de la même façon à nos yeux. Mais, après convertissage en NFC, Cloud Sync commence tout de suite à repérer les fichiers et à les prendre en compte. Je vous donne ces infos sous toutes réserves car les notions "NFC", "NFD", "encodage" etc. c’est du japonais médiéval pour moi ! Mais dans mon cas ça a marché ! Pour ne pas abrutir la liste j’ai résumé la situation, mais s’il y a des gens dans mon cas n’hésitez pas par mp. J’espère maintenant que ce problème que j’ose qualifier de BUG soit corrigée par Synology ! Cordialement. ömür
  28. 2 points
    warkx

    [Résolu]Fichier Host Uptobox / Host File Uptobox

    J'ai développé ce fichier host qui permettra à Download Station de télécharger sur uptobox avec un compte gratuit et premium Cliquez sur suivre ce sujet en haut à droite pour recevoir les notifications de mises à jours. Telechargement module gratuit + premium 1.0. 0 http://uptobox.com/dj8ax5u03s6y 1.0.1 http://uptobox.com/2fc41tqhfrz9 1.0.2 http://uptobox.com/xrvgfuvdpvjl 1.0.3 http://uptobox.com/s1grchgp1rl4 1.1 http://uptobox.com/9c79m39h9j3w 1.2 http://uptobox.com/3h4354l4wme2 1.3 http://uptobox.com/8lgsvbhx9sm9 1.4 http://uptobox.com/0ephe1kjt4kj 1.5 http://uptobox.com/ie5ohsim8q37 1.5.1 http://uptobox.com/imm8s8h5h2pm 1.5.2 http://uptobox.com/6jvrwscs57vg 1.6 http://uptobox.com/wyvqgnrtx3s7 1.6.1 http://uptobox.com/8wfc8qsghv0d 1.6.2 http://uptobox.com/fwphcvmjfcvr 1.6.3 http://uptobox.com/kn2qhnnnj6jz 1.6.4 http://uptobox.com/pcv0vmy2rtov 2.0 http://uptobox.com/dhafyx2l2jf0 Fonctionne uniquement avec un token. Voir section informations et changelog. Offrez moi un café ou une bière 😉 Faire un don. Lien direct Changelog 1.0.1 Fonctionnel avec les changements fait sur Uptobox 1.0.2 Ne télécharge plus de fichier 404.html s'il le lien entré n'est pas valide / Lit totalement la page en anglais au lieu de mixer français et anglais 1.0.3 Fonctionne avec les petits changements de code source 1.1 Mise à jour pour les comptes gratuits suite à de petits changement sur uptobox.com. Mise à jour de la fonction d'attente car elle devenait obsolète et refaisait un scan toutes les minutes. 1.2 Mise à jour pour fonctionner avec le nouveau mode de telechargement pour les comptes premiums 1.3 Pour les comptes gratuit, le temps d'attente est detecté avec le nouveau message d'attente. Si le module ne detecte pas le temps d'attente, il re-essayera 30 min plus tard 1.4 L'URL d'authentification à changé 1.5 La vraie URL des fichiers (généré aléatoirement par le serveur) a changé. 1.5.1 Quelques ajustements sur la détection du nom pour les compte gratuit. Détection plus fiable du l'URL du lien. 1.5.2 Suppressions de parties de code inutiles. Charge 1 fois la page au lieu de 2 fois à chaque fichier. 1.6 Nouveau code source pour les comptes gratuits. Ajout d'un mode debug. 1.6.1 Corrige un bug qui generait un caractere invisible a la fin 1.6.2 Mise à jour de l'URL de connexion. 1.6.3 Corrige un bug de la 1.6.2 1.6.4 Prend en charge le SSL 2.0 Code entièrement refait pour utiliser les API uptobox. Un compte gratuit ou premium est désormais obligatoire pour fonctionner avec cette version. Informations Pour entrer votre compte sur la version 2.0 dans le module sur le NAS Allez dans la partie Mon compte sur Uptobox et cliquez sur le logo à droite de Token pour le copier. Allez ensuite sur le module dans Download Station, sur le champ Utilisateur écrivez token et dans les 2 champs mots de passe collez le token copié précédemment. Version antérieure à la 2.0 Comptes premium : Allez dans la partie Mon compte sur Uptobox et cochez Téléchargement direct Vous pouvez activer le mode debug en ajoutant /debug à la fin de l'URL. Le log sera stocké dans /tmp/uptobox.log. Un reboot du nas supprime le log Avec DSM 5.1 le module n'attends pas entre les téléchargements. https://github.com/warkx/Synology-DownloadStation-Hosts Si le module ne marche pas : Vérifiez que le token est le bon (le token peut changer si vous changez de mot de passe ou si vous changez un réglage sur uptobox) Téléchargez la dernière version du host Supprimez les téléchargement en attente dans Download Station Supprimez le fichier host du NAS Déconnectez vous du site uptobox sur votre PC et reconnectez vous pour être sur que votre compte n'est pas bloqué Attendez 1 heure Redémarrez le NAS Stoppez et re-lancer downloadstation Ajoutez le fichier host (téléchargé précédemment) et validez votre compte (si vous en avez un) Si ça marche toujours pas, il faudra surement redemarrer une 2e fois puis stopper et re-lancer downloadstation Vous pouvez également développer votre fichier host, ou mettre à jour le mien, voici la documentation fourni par synology.
  29. 2 points
    seagate_surfer

    Gagnez un IronWolf pour votre NAS

    Bonjour, Malheureusement, l'administrateur du forum n'a pas répondu aux messages, alors c'est pourquoi nous avons lancé le concours par nous mêmes. Nous espérons d'avoir plus de support pour la prochaine fois, si elle arrive. Bien cordialement, Bonjour, Maintenant nous pouvons annoncer publiquement les gagnants. Félicitations à @BruceFeuillette et @serpinh 🎉 Nous espérons pouvoir lancer un autre concours à l'avenir. N'oubliez pas de suivre nos publications, nous serons en train de vous partager d'autres concours sur les autres réseaux sociaux. Bien cordialement,
  30. 2 points
    EVOTk

    Gagnez un IronWolf pour votre NAS

    Hello, des news ? 😄
  31. 2 points
    lolomeis

    [Vendu] Routeur MR2200AC

    Bonjour a tous tous mes meilleurs voeux pour cette nouvelle année. Je me sépare d'un MR2200AC, achat en double c'est une erreur de commande. autant dire qu'il a à peine servi, je l'ai juste branché une fois pour développer mon réseau MESH, mais avec deux routeurs ca me suffit amplement - Modèle : MR2200AC - Facture : Oui - Date d'acquisition : 15/11/2019 - Pourquoi vous vous en séparez : commandé en trop - Avec ou sans disque :NA - Si oui, quel disque dur ? NA - Prix souhaités :90 Euro - Frais de livraison :10 Euro - Pays de livraison :France - Garantie : Oui
  32. 2 points
    Antimousse

    Sensibilité et notifications détection cameras

    bonjour, j'ai aussi des Reolink, des 410 et 420 et j'ai été confronté à ce même problème. je n'utilise pas SS mais le soft inclus dans chaque caméra qui envoie des emails et charge le FTP lorsque des mouvements sont détectés. le régiment de chats du voisinage qui me déclenche les cam à longueur de nuit. les araignées qui décident de faire leur toile devant l'objectif à 23h30 quand je viens de me coucher et qui dansent devant lui toute la nuit. les phares des voitures qui illuminent les murs et les arbres des voisins produisent des alarmes. le gyrophare du camion poubelle fait tout déclencher deux fois dans la semaine à 6h, la voisine qui part bosser de bonne heure (et jamais à une heure fixe) et qui ne stationne jamais sa voiture dans le même endroit éclaire mes haies et mon terrain. En journée, les ombres faites par le soleil qui tourne produisent aussi des alarmes. les nuées d'oiseaux qui viennent manger les olives tombées à terre déclenchent aussi les alertes... ça me gave ! j'ai passé beaucoup de temps à vouloir tout régler aux petits oignons pour les 6 caméras que j'ai en extérieur mais que dalle. ça n'a jamais marché comme je l'aurais voulu. j'ai trouvé un compromis qui charge moins mon tel en textos d'alerte et mon FTP sur le syno : j'ai supprimé l'infrarouge des caméras durant la nuit. J'avais installé il y a bien longtemps, des blocs led autonomes d'éclairage qui éclairent les allées lorsque mes visiteurs (ou moi) viennent et repartent le soir et ces détecteurs ne sont pas sensibles aux changements des "ombres ou lumières" mais seulement aux personnes "vivantes": hommes, femmes et chats et activent l'allumage de l'éclairage et par conséquent, une variation très importante du niveau de détection des caméras et donc seulement à ce moment, les cam mettent à enregistrer et à charger ma boite email et mon FTP. ca me donne aussi l'information de qui est le chat qui va pisser dans mes semis et fait crever mes plan de tomates. anti🍺
  33. 2 points
    Jeff777

    [Résolu] DS218+ : HDD "bruyant"

    C'est pour cela que Seagate Surfer les donne dans son concours....zut je suis grillé aussi 🤢
  34. 2 points
    Antimousse

    Gagnez un IronWolf pour votre NAS

    Jeune retraité et bientôt pauvre retraité et peut-être un jour retraité SDF, j'ai acquis un DS1918+ afin de venir en complément d'un DS215j à bout de souffle pour migrer et supprimer un Power Edge T640 double coeur Xeon® Silver 4116, 12C/24T, 128 GB RDIMM et pour m'assurer un service minimum ainsi qu'aux membres de l'association dont je fais partie. Le DS215J est chargé de 2 X 3To WD green Raid 1. Le DS1918+ est monté avec 5 X 3To blue en raid 6 (3 slots vides qui espèrent recevoir les vieux disques green venant du DS215J) la sauvegarde de tout cela se fait sur un disk externe USB Seagate Barracuda de 6To (ST6000DM003) qui est bien bien rempli. Noel étant une période de rêves et d'espoirs, je souhaiterais utiliser le Seagate 6To et lui ajouter 2 autres compagnons de même calibre pour monter un raid 5 dans les 3 emplacements vides du DS1918+ et j'imagine bien un magnifique IronWolf 14 To en sauvegarde et un joli IronWolf SSD 240 Go en complément ! <mode HONTE on> Petit papa Noël, j'ai été bien sage cette année, j'ai laissé mon poste à un jeune et même que ma rentrée d'argent mensuelle a diminué de presque moitié ! et pourtant j'ai tellement bossé que je n'ai jamais eu le temps de m'inscrire sur un quelconque réseau social. <mode MEME PAS HONTE off> 😇😇 alors je dépose ici les #RunWithIronWolf et #IronWolfSSD de circonstance. 😊 Anti🍺
  35. 2 points
    Partie 4: Bonjour, voici la suite de l''aventure après avoir reçu le ventilateur du processeur. Comme je m'y attendais le DS1010+ ne réagit pas non plus avec ce ventilateur Titan qui n'est normalement pas compatible (le troisième fil fonctionne en mode tachymètre au lieu de détecteur de rotation). Donc pas d'alarme, même avec le ventilateur bloqué, même avec une température du processeur atteignant 80°... J'ai donc décidé de remédier à cela en faisant mon propre circuit basique de détection de rotation des 3 ventilateurs. Pour rappel, mon Syno avec les anciens ventilateurs ou avec les nouveaux Noctua avec ou sans modification, détecte de façon très aléatoire leur arrêt. (alarme une seule fois en plusieurs jours d'essais). C'est identique avec le ventilateur du processeur, qu'il soit ancien ou nouveau ou avec la modification de la partie 3, il ne détecte pas les blocages. D'autre part, ce dernier ventilateur ne change pas de vitesse, qu'on soit en mode plein régime, en mode frais ou en mode calme, même si le processeur est en surchauffe. (toujours 5,5V à ses bornes) Le circuit proposé inspiré du schéma de la partie 3 (qui reste valable pour ceux donc la détection de non-rotation s'active avec des ventilateurs de PC) devra avoir les caractéristiques suivantes: Remplacer les circuits défectueux et l'alarme manquante de mon Syno, et indiquer quel ventilateur individuel est bloqué, de façon bien visible depuis l'avant du Syno. Ne pas utiliser de circuits compliqués et si possible utiliser des composants de récupération. Permettre de moduler la vitesse du ventilateur du processeur en fonction du réglage de la vitesse dans DSM, tout en augmentant sa vitesse en mode plein régime. Utiliser les connecteurs existants, ne pas modifier ni percer la façade, et être facilement démontable, en laissant le moins possible de traces des modifications. Voici le schéma de principe: A gauche, coté Syno seules les 2 prises de ventilateurs de disques sont utilisées. Sur les prises des 3 ventilateurs, le fil tachymètre est mis à la masse pour simuler un ventilateur en fonction, par précaution, mais de toute façon, mon DS1010 ne le voit pas. Les 10v des deux ventilateurs des disques sont reliés par des diodes et envoyés sur le ventilateur du processeur, avec un petit filtrage pour l'alimenter en 10v au lieu de 5,5V. Deux autres diodes produisent un autre 10V filtré, pour alimenter le tachymètre en collecteur ouvert des 3 ventilateurs, par des résistances de 3,3 kΩ. Le signal alternatif produit par leur rotation traverse un condensateur et alimente 3 Leds qui s'éclairent quand les ventilateurs tournent. En réalité il reste un faible clignotement à l'arrêt des pales à cause du hachage de la tension d'alimentation des ventilateurs. Le prototype "définitif" en situation. Les condensateurs sont en dessous. Deux trous ont été percés pour la fixation du circuit. Les connecteurs, du haut vers le bas de la photo: ->Les deux ventilateurs Noctua, ->les 3 leds, ->le ventilateur du processeur, <-2 prises ventilateurs de la carte mère. Les leds coincées entre le châssis et le cadre à droite: Le résultat:
  36. 2 points
    .Shad.

    J'aime pas les présentations

    Salut ! En parlant de la mule, j'avais 12 ans et j'avais téléchargé un film pour regarder avec mes parents. J'avais vite lancé la vidéo pour vérifier, la qualité semblait bien. Sauf qu'à la moitié du film, ça basculait tout d'un coup sur un film porno, en pleine action. Moment de flottement puis gêne ultime 😄 j'en ris maintenant, mais sur le coup...
  37. 2 points
    Jeff777

    Attention avec les IP fixes de Free !

    Dans freebox OS /état de la box /état internet
  38. 2 points
    niklos0

    Streaming vidéo. Comment faire ?

    Hello. Nickel, ça marche ! Je ne sais pas ce que j'avais raté la première fois ! Plus qu'à attendre la TV pour tester !
  39. 2 points
    maxou56

    Comment vider le cache mémoire

    Bonjour, @Faridator C'est un comportement normal, cela permet de fluidifié le système. Le cache ne gène pas, si le système ou une app ont besoin de mémoire, alors celle-ci remplace le cache.
  40. 2 points
    Le temps que tu trouves comment faire via SSH, tu auras depuis longtemps rétabli la situation avec un simple reset.
  41. 2 points
    Varx

    Aucun résultat Download station

    Cool, ce n'était pas grand chose au final. De rien ;)
  42. 2 points
    Varx

    Quel NAS pour de la 4k

    Hello @kvn29 Tu peux obtenir ta réponse parmi plusieurs autres POST qui traitent de ce sujet. Si ta TV lis les fichiers en 4K (c'est elle qui s'occupe de faire le transcodage). Alors un "simple" NAS type DS218 contenant tes fichiers fera le job. Ce NAS est composé de 2 baies pour 2 disques. Si tu as une quantité importante de fichiers de +60Go prévoit les disques en conséquence. Exp : Avec 2 disques de 4To en SHR. Tu auras 4To utilisable. Avec 4To tu stocks env 60 fichiers de 60Go
  43. 2 points
    unPixel

    Playstore

    Bonjour, Tu utilises certainement Safe Access. Tu confirmes ? Si c'est le cas et pour débloquer la situation, tu dois autoriser ces domaines dans la "liste des permissions" de ton "Filtre Web" : android.clients.google.com connectivitycheck.android.com accounts.google.com googleapis.com clients.l.google.com
  44. 2 points
    Bonjour, C'est peut-être un peu tard. Utilisateur depuis longtemps d'un RT1900ac, je suis passé a récemment à un RT2600ac. je voulais désactiver admin, mais impossible vu que c'était le seul administrateur. La solution pour ajouter d'autres membres au groupe administrateurs, en ssh (ssh root@192.168.xx.xx -pxxxx avec le mots de passe admin), passer en root avec la commande "su root", taper la commande synogroup --get administrators pour avoir la liste des administrateurs ~ # synogroup --get administrators Group Name: [administrators] Group Type: [AUTH_LOCAL] Group ID: [101] Group Members: 0:[admin] 1:[SynologyCMS] puis taper la commande "synogroup --member administrators admin SynologyCMS utilisateur1 utilisateur2" (en rouge il faut bien recopier les utilisateurs présent dans le groupe administrateur. Ex sur un RT2600ac lié à un MR2200ac j'ai "admin" et "SynologyCMS", sur un RT1900ac j'ai uniquement "admin") edit: pour retirer un utilisateur du groupe administrateur ex: "synogroup --member administrators admin SynologyCMS utilisateur1" edit2: il faut que l'utilisateur soit déjà créé pour pouvoir l'ajouter au groupe administrateur.
  45. 2 points
    Fenrir

    [TUTO] Remplacer un disque en SHR

    Un petit tuto rapide pour vous indiquer les étapes à effectuer lors du remplacement d'un disque dur sur un NAS avec 2 disques en SHR, la procédure est la même pour le raid1, le raid5, le raid6 et le SHR2. ######################## Mon DS712+ était monté en SHR avec un disque de 3To et un disque de 4To => 3To de disponibles. Comme il commençait à être très rempli (moins de 1% d'espace disponible) et que j'avais un disque de 4To en spare, j'ai décidé de lui donner un peu d'air. C'était l'occasion de vous faire les captures d'écran des différentes étapes à réaliser. nb : vous l'aurez compris, ici je n'ai pas eu de panne disque, je souhaitais juste augmenter l'espace disponible, mais les premières étapes sont les mêmes. ######################## Tester le disque en spare Il est recommandé de tester les disques avant de les utiliser, il existe plusieurs manières de faire. Certains recommandent d'utiliser les outils du constructeurs, d'autre de faire un formatage de bas niveau et les derniers d'utiliser le programme badblock présent sur les Synology. Je n'ai pas de méthode préférée, chacun fait comme il veut, l'important est de s'assurer de ne pas installer un disque défaillant. ######################## Identifier le disque à remplacer Afin d'être certain de retirer le bon disque (enfin celui qui est mauvais ), surtout si les disques sont du même modèle, le plus fiable est de relever le numéro de série dans le Gestionnaire de stockage : Ici les 2 disques sont sains, pour la suite on va dire que le disque 2 était en panne, donc je relève son numéro de série. On peut aussi se fier à la numérotation des disques (vous trouverez des exemples dans les commentaires), mais l'utilisation du numéro de série ne devrait pas laisser de place au doute. ######################## Vérifier que les sauvegardes sont à jour Comme toujours, il faut s'assurer d'avoir des sauvegardes des données du NAS, on n'est jamais à l'abri d'un problème, surtout en cas de reconstruction d'un raid comme ici. La réparation d'un volume est une opération assez intense pour les disques. ######################## Couper proprement le NAS Certains NAS permettent le remplacement d'un disque à chaud (c'est le cas des miens), mais si c'est possible, il vaut mieux éteindre proprement le NAS et débrancher son cordon secteur pour faire la manipulation. ######################## Remplacer le disque à changer On retire le disque à changer et on contrôle que c'est bien lui grâce au numéro de série. Il serait dommage de retirer le disque qui fonctionne. C'est un des avantages de faire la manipulation NAS coupé : si on retire le mauvais disque (enfin celui qui va bien ), il suffit de le remettre à sa place. On insère le nouveau disque dans son emplacement et on rallume le NAS. nb : si votre disque était stocké dans un endroit froid (en hiver dans le garage par exemple), attendez qu'il soit revenu à température ambiante avant d'allumer le NAS, dans le cas contraire, la dilatation des composants (plateaux et têtes de lecture) risque de l'endommager définitivement. ######################## Volume dégradé Au démarrage (qui sera peut être un peu plus long que la normal), votre NAS va se mettre à biper. En vous connectant à l'interface, le Gestionnaire de stockage et le Panneau de configuration vont s'ouvrir. Le panneau de configuration vous servira juste à couper le bip s'il est gênant. Dans le gestionnaire de stockage vous aurez quelque chose comme ceci : Comme indiqué dans le message, le nouveau disque doit avoir une taille minimale (ici il doit faire au moins 2794 Go). Notez en passant le taux de remplissage. Ne laissez pas votre NAS se remplir autant, c'est mal, ça ralenti tout le système et ça peut même créer des pannes (ça faisait très longtemps que je devais m'occuper de ça, j'ai trop trainé). Ici vous devez cliquer sur le bouton Gérer (suivez la flèche). ######################## Réparation du volume Un nouvel écran apparait, il vous propose de Réparer le volume : Lisez le message (contrairement à ce que j'avais fait, je viens de m'en rendre compte en me relisant), validez le choix et faites Suivant. Le NAS vous indique le disque qu'il va utiliser pour faire cette réparation (c'est le nouveau disque). Choisissez le disque à utiliser (ici je n'ai pas le choix) puis faites Suivant. Le NAS vous rappel une dernière fois que le disque sélectionné sera effacé : Si vous êtes certain d'avoir choisi le bon disque, validez avec OK Vérifiez que tout est conforme puis appliquez la configuration avec le bouton Appliquer. ######################## Contrôle de l'avancement Dans le gestionnaire de volume, vous pourrez contrôler l'avancement de la réparation : Si vous avez configuré les notifications, vous recevrez ceci : Puis ceci : À partir de ce moment, même si ce n'est pas recommandé, vous pourrez utiliser votre NAS normalement, même l'éteindre si besoin (la réparation recommencera au démarrage suivant). Par contre toutes les opérations seront fortement ralentis. Je vous recommande de laisser le NAS faire sa réparation tranquillement (ce n'est pas le moment d'aller y recopier des Giga de données). ######################## Contrôle de l'avancement en SSH Si vous souhaitez avoir plus de détails sur l'avancement de la réparation, connectez vous en ssh et entrez la commande : cat /proc/mdstat fenrir@nas:~$ cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid1 sdb5[2] sda5[3] 2925531648 blocks super 1.2 [2/1] [U_] [>....................] recovery = 2.7% (79955328/2925531648) finish=614.9min speed=77126K/sec md1 : active raid1 sdb2[1] sda2[0] 2097088 blocks [2/2] [UU] md0 : active raid1 sdb1[1] sda1[0] 2490176 blocks [2/2] [UU] unused devices: <none> Ici la vitesse est cohérente par rapport au taux de remplissage de mon NAS, à sa charge et à la vitesse des disques. ######################## Accélérer la vitesse de réparation La reconstruction d'un raid c'est toujours long, surtout avec des disques de plusieurs To et avec les raid de parité (raid5 ou 6) c'est encore plus long, donc il faut prendre son mal en patience. Avec mes 2 disques de 4To, mon NAS m'annonce environ 10h, il va bosser toute la nuit. La meilleur des actions à effectuer consiste à ne rien faire sur le NAS : laissez le tranquille. Néanmoins, dans certains cas, il arrive que la vitesse soit anormalement basse, il peut y avoir 3 causes : l'un des disque est fatigué ou défaillant : comme indiqué précédemment, la reconstruction d'un raid est une opération lourde pour les disques, d'où l'importance des sauvegardes votre NAS est trop sollicité : coupez les applications non essentiels, mettez vos téléchargement en pause, reportez votre soirée ciné ... la réparation est bridée Pour le dernier cas, il faut vérifier les 3 valeurs suivantes : La vitesse en dessous de laquelle la réparation ne doit pas aller (par défaut c'est 10000) : cat /proc/sys/dev/raid/speed_limit_min La vitesse au dessus de laquelle la réparation ne doit pas aller (par défaut c'est 200000) : cat /proc/sys/dev/raid/speed_limit_max La vitesse maximal autorisée dans la limite de la valeur précédente (par défaut c'est "max") cat /sys/block/md?/md/sync_max Si vous constatez des valeurs différentes chez vous, postez le résultat sur le forum, on vous indiquera si oui ou non c'est normal et si vous devez ou non modifier ces valeurs. ######################## Résultat final Une dernière notification pour indiquer que l'opération est terminée : Au final l'opération aura pris 12h chez moi, par contre je ne m'attendais pas à ça (mais j’aurais du puisque c'était indiqué dans le message dès le début) : Mon Syno a décidé tout seul d'agrandir le volume agrandi le volume comme annoncé, sans aucune intervention de ma part (je pense qu'il a fait ça en 2h, après les 10h estimées pour la réparation du raid). On appréciera ou non, perso, même si c'est ce que je comptais faire, j'aurai préféré qu'il laisse le choix (pour créer un nouveau volume par exemple). En pratique il a créé un nouveau volume physique LVM (pv) qu'il a associé au groupe (vg) afin d'agrandir le volume logique (lv) : fenrir@nas:~$ cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md3 : active raid1 sdb6[1] sda6[0] 976646528 blocks super 1.2 [2/2] [UU] md2 : active raid1 sdb5[2] sda5[3] 2925531648 blocks super 1.2 [2/2] [UU] md1 : active raid1 sdb2[1] sda2[0] 2097088 blocks [2/2] [UU] md0 : active raid1 sdb1[1] sda1[0] 2490176 blocks [2/2] [UU] unused devices: <none> On voit bien l'apparition de md3 (environ 1To).
  46. 2 points
    Jeff777

    6.2.2-24922 UPDATE 1

    Bonjour à tous, Pour ceux qui comme moi sont bloqués sur DSM 6.2.2 -24922, je viens par hasard de découvrir cet update (dispo depuis le 11 juin. A télécharger sur le site de Synology). Il corrige entre autre : l'absence d'information concernant la disponibilité d'une révision du DSM .......et oui !!! et d'autre petites choses bien utiles : A télécharger là :
  47. 2 points
    dd5992

    [Tuto] Reverse Proxy

    Dans ma config avec Numéricable, j'avais le DDNS synology associait xxx.synology.me à mon adresse IP externe (variable). Le CNAME associait mon yyy.ndd.fr à xxx.synology.me (je n'utilisait pas de wildcard dans le CNAME). les deux adresses yyy.ndd.fr et xxx.synology.me me renvoyaient à mon adresse IP externe (variable), même en cas de changement d'adresse IP externe par mon ISP. j'accédais à mon nas en https sur le port 443. Une redirection de port dans ma box renvoyait sur le port d'entrée du reverse-proxy du nas (en donnant l'adresse IP de mon nas sur ton réseau local), par exemple redirection du port 443 en entrée de la box vers l'IP 192.168.0.3 (celui de mon nas) port 443 la commande du reverse proxy du nas envoyait yyy.ndd.fr vers le port de l'appli du nas (localhost:7000 pour filestation) comme tu l'avais fait dans ta version N-1. Les deux premières étapes peuvent être intégrées en utilisant un prestataire de type OVH comme le suggère @Zeus. Toutes les étapes sont donc définies pour acheminer le flux d'internet vers le port 7000 par ex de ton nas. Note : C'est le nom qui est utilisé lors de la requête initiale qu'il faut utiliser dans le champ source de la règle du reverse-proxy (ici yyy.ndd.fr). Le CNAME ne transcrit pas le nom en cachant le nom d'origine, ce nom est conservé jusqu'à l'entrée dans le reverse-proxy. Bien sûr il est aussi possible de mettre une règle pour accéder à un service à partir de xxx.synology.me, mais le paramêtre source de la règle devra alors être xxx.synology.me. les deux peuvent co-exister.
  48. 1 point
    GrOoT64

    [Tuto] Reverse Proxy

    De rien @i-Moi ! Petit correction d'ailleurs : Si tu préfères taper "vidEo.toto.com" alors rentres celle-la dans ton reverse proxy. Le NAS redigera cette adresse (et uniquement celle-la) vers VideoStation. (pas d’accents dans une adresse web!)
  49. 1 point
    .Shad.

    Présentation

    Bienvenue ! Pour Calibre-web je te conseille de faire un tour par le tutoriel Docker (utilisable sur ton DS218+) si tu ne connais pas encore.
  50. 1 point
    La page de présentation permet de connaitre ta configuration, et surtout de pouvoir jauger tes compétences pour pouvoir adapter les réponses à ces compétences. J'en prends pour exemple la manière dont tu remballes vertement Bouks. Tu sembles bien maitriser certains concepts ... Le savoir aurait peut être évité certaines réponses à coté de la plaque !!! En parcourant le forum, tu t’apercevras du nombre de personnes qui ne savent même pas ce qu'est le répertoire home .... Très souvent, on se rend compte que quand certaines personnes se plaignent qu'un outils n'arrive pas à répondre à leur besoin, c'est que l'outil n'est pas adapté, et que la réponse au besoin passe par l'utilisation d'autres outils. J'aime beaucoup l'image du clou et du tourne-vis. Quand une personne se plaint de ne pas pouvoir enfoncer facilement un clou en tapant dessus avec le manche d'un tourne-vis, il y a ceux qui lui conseille de prendre un tourne-vis avec un plus gros manche, et ceux qui lui conseille de prendre un marteau !!!!
Ce classement est défini par rapport à Bruxelles/GMT+02:00
  • Lettre d’informations

    Voulez-vous être tenu au courant de nos dernières nouvelles et informations ?
    S’inscrire