Rechercher dans la communauté
Affichage des résultats pour « Web Assistant ».
282 résultats trouvés
-
[TUTO] Installer WordPress sans les paquets SYNOLOGY
Bonjour, les paquets WordPress disponibles avec nos NAS Synoogy (DSM 6) permettent de simplifier la mise en place d'un site web sur la base de ce CMS. Les procédures associées automatisent les différents liens techniques entre les briques logicielles requises. Cependant, les dépendances associés (version PHP, serveur apache) peuvent en dérouter certains, soucieux de : disposer d'une version PHP à jour éviter une couche logicielle supplémentaire pour le serveur web sachant que nos NAS fonctionnent nativement sur serveur web NGINX. Ce TUTO est fait pour : permettre une installation manuelle de WordPress sur la base du serveur natif installé sur nos NAS (NGINX) sans recourir (autant que possible) à d'autres paquets tels que PhPMyAdmin pour les éléments requis en lien avec la base de données MariaDB 10 PRÉ-REQUIS Quelques connaissances techniques générales sur le CMS wordpress (composants techniques, installation et fonctionnement général) quelques notions Linux (en shell) pour passer des commandes en accès SSH quelques notions SQL pour créer les éléments requis (user privilèges et base de données) pour l'utilisation du CMS WordPress disposer d'un utilisateur associé au groupe administrator pour passer les commandes citées et bien sur.. d'un NAS Synology sous DSM 6 et > (version utilisée pour la création du tuto - DSM 6.2.2-24922 Update 4) de notions avancées dans le paramètrage et l'administration de son NAS (sécurité et certificat) Par ailleurs, il est entendu que : un NDD (en propriété directe - chez un registar comme OVH ou autre - ou via un fournisseur gratuit comme Synology -NDD.synology.me par exemple) est créé les ports idoines pour un accès web de l'extérieur sont routés vers le NAS (à minima 443 et 80)* service WebStation installé, dossier web présent, site web accessible - ie ce qui est disponible sous ce dossier est visible en tant que pages html de l'extérieur ou à minima via un simple navigateur internet - (*) Si l'on souhaite accéder au site WordPress depuis l'extérieur. Cf d'autres tutos sur l'accès externe et la sécurité. Structure , modalités et "AVERTISSEMENTS" Afin d'éviter un long et très (trop) détaillé sujet, j'ai volontairement limité les actions, inclus des étapes de contrôle - ie si l'étape -1 n'est pas OK.. inutile de poursuivre... - et des images écrans, afin de rendre je l'espère, plus accessible l'ensemble pour le plus grand nombre, mais: l'ensemble des actions demeurent sous la responsabilité de celui qui les réalise. une telle installation même si elle n'enfreint pas les licences logicielles de nos NAS Synology ni des composants tiers utilisés, sort du cadre d'assistance potentielle dispensée par Synology. en clair en cas de problème y compris sur un autre sujet avec votre NAS, ils peuvent vous demander de revenir en arrière sur cette installation - jamais eu le cas de figure mais ils ont le droit - une mise à jour DSM peut changer certains éléments techniques paramétrés ainsi et "casser" l'installation - là encore, situation pas rencontrée suite à différentes MAJ réalisées.. Mais ça peut arriver 0- PAQUETS A INSTALLER WebStation est installé (sans paramètrage particulier) et à la saisie du NDD de votre NAS (pas de proxy ou dans ce cas il faut un NDD ou sous domaine pour votre site web) vous devez arriver à cette page (ou à minima http://ip_du_NAS) Récupérer la dernière version de WordPress depuis le site https://fr.wordpress.org/download/ déposer ce paquet dans le dossier web du NAS via FileStation. Décompresser l'archive - on doit avoir un dossier wordpress à la racine du dossier web. (A noter si plusieurs sites indépendants souhaités, on indice le dossier ou on le renomme) MariaDB 10 paramètré comme suit Avec un mot de passe définit pour root (l'admin de la base de données globale) PHP dernière version si pas déjà présent Optionnel mais pratique : l'éditeur de texte. Par défaut on suppose que les paquets sont installés sur le Volume1 du NAS. (à adapter par la suite si différent) Sur sa machine (PC sous Windows ou macOS ou Linux) Terminal pour accéder en mode SSH au NAS ou via un logiciel comme Putty pour Windows. Pour un accès SSH : Admin du NAS Panneau de configuration Terminal SNMP on coche l'accès qui va bien et les paramètres par défaut comme suit (sinon on adapte..) optionnel : un requeteur SQL si vous souhaitez effectuer des requêtes distantes (en réseau local) sur votre Base De données, par exemple HeidiSQL pour Windows ou Sequel Pro pour macOS 1 - CREER BASE DE DONNEES ET USER Dans cette étape, via l'accès SSH linux au NAS on entre dans l’interpréteur SQL de MariaDB pour créer la base de données pour WordPress et l'utilisateur administrateur pour cette base. Les étapes sont des commandes à saisir (les exemples ci-dessous peuvent être copiés mais doivent selon les cas adaptées) Attention la saisie du mot de passe n'est pas affichée : surveillez votre saisie. Accès SSH au NAS (via Terminal ou Putty selon la plateforme utilisée) passage en mode root sudo -i Appel de l'interpréteur Mysql de MariaDB /usr/local/mariadb10/bin/mysql -uroot -p Le mot de passe demandé ici est celui de root de MariaDB définit sur l'admin du NAS en amont. Création de la base de données pour WordPress : CREATE DATABASE BDmonsite; Création de l'utilisateur Admin de cette base : CREATE USER 'BDmonsite_admin'@'localhost' IDENTIFIED BY 'MAJmin&123'; BDmonsite_admin est le nom de cet utilisateur autorisé en local (localhost) ie depuis le NAS lui même avec MAJmin&123 comme mot de passe - Il faut respecter les exigences de mot de passe MariaDB 8 caractères Maj Min chiffres et symbole. On donne les droits d'administration à cet utilisateur sur la base concernée : GRANT ALL PRIVILEGES ON BDmonsite.* TO 'BDmonsite_admin'@'localhost'; Maintenant, pour que les nouveaux droits attribués soient pris en compte, il est nécessaire de lancer la requête FLUSH. FLUSH PRIVILEGES; [ Optionnel ] Vérifier la prise en compte des paramètres passés : SHOW DATABASES; SELECT User, Host FROM mysql.user; [optionnel +] créer un super utilisateur pour une utilisation sur réseau local via un requeteur SQL CREATE USER 'supermoi'@'192.168.1.%' IDENTIFIED BY 'MajMin#&987aliasroot'; Utilisateur 'supermoi' avec mot de passe 'MAjMin#&987aliasroot' autorisé depuis le réseau local. (A adapter selon le masque réseau chez vous - peut être limité à une IP ou ouvert au grand vent par % seul) Lui donner les droits complets GRANT ALL PRIVILEGES ON *.* TO 'supermoi'@'192.168.1.%'; On confirme FLUSH PRIVILEGES; On quitte MySql de MariaDB exit 2 - Créer l'hôte virtuel dans WebStation Admin du NAS, WebStation Vérification paramètrages : PHP dernière version et serveur web NGINX Adaptation du paramètrage PHP, on modifie le profile par défaut On s'assure que le cache PHP est activé ainsi que les plugins requis. (merci @Mic13710) ) Puis, on adapte le profil PHP pour certains items Sauf cas particulier pour un thème avancé ou si plusieurs sites WordPress, on peut dans ce cas, pour chaque hôte, spécifier le profile PHP utilisé. Il faut préciser le port et le chemin de la pile TCP utilisée par PHP pour MariaDB. Paramètres PHP Modifier le profil par défaut Onglet coeur filtrer sur mysqli saisir les valeurs (selon paramètrage MariaDB sur NAS) mysqli.default_port –> 3307 mysqli.default_socket –> /run/mysqld/mysqld10.sock Création de l'hôte virtuel pour le site utilisant WordPress monsite.fr représente le NDD ou sous domaine pour accéder au site wordpress. Pour le serveur c'est NGINX et pour PHP le profile par défaut paramètré. Pour l'accès en SSL : - HSTS pour la couche SSL (suppose un certificat associé) Optionnel : - HTTP/2 pour limiter l'usage de la bande passante (- vaste débat, longtemps décrié et sujet à des failles de sécurité aujourd'hui corrigées -) A Vérifier : En théorie DSM vous informe que pour gérer cet hôte virtuel le groupe http doit passer en écriture sur le dossier web. Si ce n'est le cas vérifier ce point dans l'administration du NAS. Requis si vous souhaitez pourvoir faire une MAJ de votre CMS et de ses plugins automatiquement (en cas contraire il faut mettre en place un lien ftp) 3 - Mise en conformité du certificat SSL avec le NDD utilisé pour le service web. Lors de la création de l’hôte virtuel, le certificat par défaut du NAS est associé. Si le NDD du site est différent du NDD du NAS il faut associer le certificat SSL en conséquence. (suppose qu'il est créé...) Admin du NAS panneau configuration sécurité onglet certificat Configurer associer site avec son certificat i.e : mon nas est mondomaine.com, mon site web siteweb.mondomaine.com. Mon certificat mondomaine.com est associé à siteweb.mondomaine.com. Dans la sécurité j'associe le bon certificat avec le bon domaine. Le siteweb n'apparait ici que si l'hôte virtuel est créé en amont. 4 - Adaptation spécifique pour WorpRess et serveur NGINX Afin d'éviter la mauvaise getion des erreurs 404 sur WordPress et autoriser le changement des permaliens, il faut ajouter manuellement un fichier de configuration NGINX dans un dossier créé par WebStation. a) Création du fichier a-1)) Copier le texte suivant : (ou récupérer le ici) location /{ try_files $uri $uri/ /index.php?$args; } a-2) Connexion au NAS, Editeur de texte, Fichier Nouveau fichier enregistrer format text codage UTF8 sous le nomdans le dossier web du NAS user.conf.wordpress-permalink b) Identification du dossier réceptacle de ce fichier selon les paramètres de WebStation accès SSH au NAS passage en mode root (sudo -i) on localise les dernieres lignes du fichier de configuration concerné : ATTENTION : depuis la version DSM7 le chemin pour localiser le fichier server.webstation-vhost.conf est : /etc/nginx/sites-enabled/. ATTENTION : depuis la version DSM7.2 dans ce dossier on trouve de configuration de webstation comme par exemple : webservice_portal_2000bf3a-bb82-4d3e-9b59-ab7f2258747d webservice_portal_3c616e71-dc68-457e-8d42-ed8428a5c2ba chacun représentant les services ajoutés. Il convient de lire le contenu de ces fichiers pour localiser le dossier vers lequel on trouvera le fichier de configuration indiquant le dossier où le fichier permalink est requis. More webservice_portal_3c616e71-dc68-457e-8d42-ed8428a5c2ba aficche toutes les informaitons le début permet de vérifier qu'on est sur le bon nom de domaine : ligne server_name : machintruc.com la dernières lignes le dossier dans lequel il faut ensuite se rendre include conf.d/.service.6bdb4391-b794-4c12-a94a-e9dd73c13169.383d4d42-325d-4b78-92e3-6ec9a3120b2f.conf*; ici le fichier est caché (débutant par un point) - .service.6bdb4391-b794-4c12-a94a-e9dd73c13169.383d4d42-325d-4b78-92e3-6ec9a3120b2f.conf*; AVANT DSM 7 tail /etc/nginx/app.d/server.webstation-vhost.conf Dans cet exemple le chemin est : /usr/local/etc/nginx/conf.d/3c616e71-dc68-457e-8d42-ed8428a5c2ba. en lien avec le NDD.COM correspondant au site web créé dans WebStation. A noter : si plusieurs sites Virtuels faire la commande MORE ou CAT et localiser selon le NDD concerné par cet hôte virtuel. c) copie du fichier issu du dossier web vers ce dossier (pour éviter des erreurs on le fait en 2 temps pour s'assurer d'être à destination en 1er lieu) Pour DSM avant 7.2 se déplacer dans ce dossier cd /usr/local/etc/nginx/conf.d/3c616e71-dc68-457e-8d42-ed8428a5c2ba copier le fichier issu du dossier web dans ce dossier cp /volume1/web/user.conf.wordpress-permalink user.conf.wordpress-permalink Bien respecter la syntaxe, partant du postulat que le dossier web est sur le volume1 [optionnel] Vérifier la présence du fichier ls On redémarre le serveur NGINX pour la prise en compte de cet ajout nginx -s reload DEPUIS DSM 7.2 se rendre dans le dossier /etc/nginx/conf.d faire un ls -a (pour affichier les dossier/fichiers cachés) MORE .service.6bdb4391-b794-4c12-a94a-e9dd73c13169.383d4d42-325d-4b78-92e3-6ec9a3120b2f.conf affiche le contenu du fichier de configuration (localisé précédement) et en dernière ligne le dossier où l'on va copier notre fichier pour les permaliens exemple : include /usr/local/etc/nginx/conf.d/383d4d42-325d-4b78-92e3-6ec9a3120b2f/user.conf*; ouf il est enfin localisé ! on peut le créer mkdir /usr/local/etc/nginx/conf.d/383d4d42-325d-4b78-92e3-6ec9a3120b2f se rendre dans ce dossier pour y copie rle fichier permalink cd /usr/local/etc/nginx/conf.d/383d4d42-325d-4b78-92e3-6ec9a3120b2f cp /volume1/web/user.conf.wordpress-permalink user.conf.wordpress-permalink On redémarre le serveur NGINX pour la prise en compte de cet ajout nginx -s reload Vous pouvez supprimer le fichier user.conf.wordpress-permalink situé en dossier web. Vous n'êtes ammenés à refaire cette manipulation que dans le cas où vous crééer un nouvel hôte virtuel dans WebStation - pour le CMS WordPress- (sinon mettez le de côté mais hors le dossier Web) 5 - Appropriation du dossier wordpress de Web par le groupe http Le groupe http est le groupe d'autorité du NAS pour le serveur web NGINX (avec droits d'écriture sur le dossier web dans l'admin du NAS). Afin que les mises à jours WordPress puissent se faire, on confirme l'appropriation du dossier concerné par ce groupe (possible via FileStation dans les propriétés du dossier) Toujours en accès SSH root, saisir les commandes suivantes : Déplacement dans le dossier web cd /volume1/web Appropriation des droits sur le dossier et ses sous-dossiers et contenu par groupe et user http. chown -R http:http wordpress Fin de l'accès SSH On peut quitter le mode SSH (exit 2 fois, - 1x pour la sortie du mode root, 1 x pour la sortie de l'utilisateur connecté) Dans l'admin du NAS on désactive l'accès SSH (Admin du NAS, Panneau de configuration, Telnet SMNP on décoche l'accès SSH) 6 - Installation de WordPress Via un navigateur web, saisir l'adresse du NDD utilisé pour ce site web, on bascule en installation de WordPress. Il faut définir le nom de la base, l'utilisateur administrateur de cette base le mot de passe associé Autant d'informations connues en amont. [ ici BDmonsite, BDmonsite_admin et son mot de passe MAJmin&123 ] 7- Vérifications Au delà du fonctionnement nominal d'accès au site wordpress ainsi créé, il faut s'assurer que : Mise à jour possible Dans WordPress, administration on fait une réinstallation de WordPress PAR Wordpress Modification des permaliens opérationnel Après avoir ajouté un article on vérifie qu'on y accède Puis dans l'admin de WordPress on change le règlage des permaliens et on vérifie qu'on accède toujours à l'article selon la nouvelle dénomination.
-
[TUTO] Installer WordPress sans les paquets SYNOLOGY
Merci mille fois pour cette procédure, que j'ai découverte après avoir galéré plusieurs jours en tentant d'installer un site web sur mon NAS en utilisant le paquet standard de Synology. Ma config : DS418 / DSM 7.1 / pas d'IP publique fixe mais DDNS monsite.synology.me. Après plusieurs jours de recherches et d'essais, j'ai découvert que le paquet Synology installe obligatoirement wordpress sur web_packages, répertoire qui ne peut être adressé par web station. J'en ai déduit que la seule solution dans mon cas était une installation manuelle de wordpress... et j'ai découvert votre procédure grâce à perplexity. Je ne suis pas un spécialiste Linux, donc j'ai suivi à la lettre les indications... et obtenu le résultat espéré. Encore merci
-
Changement NAS et HDD (peut-être...)
Bonjour à toutes et tous 😀 Reprise de contact avec le forum, mais cette fois-ci pas de problème à l’horizon… … mais voilà : Le DS418 : 8 ans Les 4 HDD : 70 000 heures RAS coté SMART. Peut-être serait-il temps de remplacer tout ça ? Trop tôt ? Aujourd’hui : DS418 4 x HDD WD RED 4 To SHR1 (12 To de stockage sur 16) : formatage EXT4 2 saves sur 2 x HDD USB via Hyper Backup en EXT4 (tous les mois) Demain : DS225+ 2 x HDD WD RED PLUS 8 To SHR1 (8 To de stockage sur 16) : formatage BTRFS 2 saves sur 2 x HDD USB via Hyper Backup en BTRFS (tous les mois) Comme je tourne entre 6 et 7 To de données sur le DS418 (70% : vidéos UHD pour Infuse) et très rarement plus, autant partir sur 8 To maximum et faire le ménage… plus régulièrement. 12 To de stockage c’est trop. Et puis partir sur un 2 baies et non 4 : statistiquement moins de risque de claquer un disque. Pour rappel, voilà ce que je fais (et ferais) avec le NAS : Tout est y est important INFO DNS Server VPN Server WEBDAV Server PROXY Server (anti PUB) WEB Station (site WEB) Synology Mail (6 comptes) Synology Contacts (3 comptes) Synology Calendar (5 comptes) Synology Photos (3 comptes) Autres petites choses : INFO Analyseur de stockage Centre de journaux Hyper Backup Advanced Media Extensions Services d’applications Synology Editeur de texte Particularités : INFO Reverse PROXY avec HTACCESS Time Machine du MacBook Planification de quelques tâches Lien d’agrégation dynamique (IEEE 802.3ad) UPS USB / Pare feu / Blocage IP / certificat HTTPS via LE Partage SMB : WebDAV La grande question : Est-il temps de penser, ou plus, effectuer le remplacement de ce matériel ? Comme dit précédemment tout y est important, mais pas non plus vital. Pour les mails (qui est le service le plus pénalisant), je peux très bien mettre en place la réception des BAL chez mon registaire OVH le temps d’une panne / mise en place d'un nouveau NAS / HDD. Je le fait une fois par an (max) lorsqu’il y a une panne fibre Free chez moi, et c’est bien suffisant même si l’expédition des mails reste limité voir impossible (mais à vérifier, je crois qu’OVH a fait des progrès dans les domaines DMARC / DKIM / SPF). Ça reste du familial donc bon, rien de super critique non plus. Enfin bref, vous, que feriez-vous ? Autant pousser mon DS418 plus loin ? Bon week-end à vous 🖖
-
[TUTO]Création d'un Certificat "wilcard" Let'sEncrypt avec la méthode "acme.sh"
Bonjour, EDIT 20/06/2021 §4 : Complément à la commande de création du certificat suite aux récentes évolutions du Shell script ACME. §6 : Ajout lié au renouvellement. Pour faciliter la compréhension, le texte lié à cette édition est repéré en bleu. EDIT 10/01/2021 § 5.1 : Ajout d’une astuce évitant un problème de renouvellement lié au cookie DID de la double authentification. EDIT 21/08/2020 § 6 : Évolution du script Python pour être aussi compatible de la dernière et actuelle version du langage Python : version 3.x.x § 10 : Mise à jour du texte d’aide associé à l’option « -h ». Suppression des fichiers de trace « cleanlog » et « cleanlogerr » qui n’apportaient rien de plus à la trace existante. Remaniement du fichier de trace pour que soit généré un nouveau fichier à chaque exécution du script. On dispose ainsi d’un historique « tournant » basé sur 9 fichiers : « acme_renew_python.log.1 » à « acme_renew_python.log.9 ». Le fichier à l’indice « 1 » étant toujours le dernier donc le plus récent. Nouvelle version v1.44 du script Python (à remplacer simplement dans le répertoire « /volume1/Scripts »). Pour faciliter la compréhension, le texte lié à cette édition est repéré en bleu. EDIT 11/08/2020 § 10 : Ajout d’une trace complète et systématique du processus de renouvellement. § 10 : Ajout de l’option « -f » au script Python de renouvellement. La partie configuration du renouvellement automatique du certificat au §6 a été revue grâce à l’aide de @bruno78 que je remercie vivement ici, pour prendre en compte une anomalie liée au Shell script « acme.sh » et à l’environnement particulier du NAS Synology. Cette anomalie ainsi que sa résolution, est décrite au § 10 ci-dessous. EDIT 01/06/2020 § 2 : Utilisation du "vrai" root pour la connexion SSH au lieu du "sudo -i" § 3.1 : Utilisation de l'Id principal de connexion OVH § 5.2.1 : Réaffectations de services à faire suite à la création du certificat en mode Ajout. Objectif de ce tutoriel : Créer un certificat « Wilcard » Let’s Encrypt (LE) afin : d’une part, de prendre en compte tous les domaines de second niveau de votre domaine personnel, et d’autre part, de s’affranchir de la limite fatidique de 256 caractères imposée par Synology pour les SAN (Subject Alternative Name – Autre nom de l’objet) lors de la création des certificats dans DSM. Pour mémoire, la méthode de création du certificat « wilcard » LE décrite dans le Tutoriel « Certificat TLS/SSL - Let's Encrypt "Wildcard" » de @unPixel utilisait le service ‘SSL For Free’. Malheureusement, ce service n’étant plus gratuit depuis le 18 mai 2020, il convenait alors pour moi de m’orienter sur un autre moyen pour obtenir un certificat « wilcard » LE et gratuit de surcroît. Nota : ‘SSL For Free’ fournit toujours gratuitement son service mais uniquement pour un seul nom de domaine du type « ndd.tld » (NomDeDomaine.Top-LevelDomain). En fouillant un peu la toile, j’ai fini par trouver cet autre moyen. Il est basé sur l’utilisation du client ACME via le Shell script « acme.sh » disponible sur GitHub. Je vous livre donc ci-après la méthode que j'ai suivie. J’ai essayé de la rendre aussi détaillée que possible. En fait elle est conçue pour « les nuls » 😊, mais pas que ... Sachez que c'est un mixte de différents tutoriels trouvés sur la toile, car aucun pris individuellement ne donnait complètement satisfaction vis-à-vis du but à atteindre et il fallait souvent s’adapter et/ou corriger en fonction de leurs contextes parfois légèrement différents. Je ne m’en cache pas, je n’ai pas réinventé la roue, vous retrouverez ici certaines explications directement extraites et traduites de ces tutoriels. Selon le cas, le lien vers l’original sera donné. Mais avant toutes choses, il convient pour mémoire, de faire un petit rappel contextuel. Depuis que Synology a introduit LE dans la gestion des certificats associés à ses NAS et Routeurs, beaucoup d'entre nous bénéficient du SSL gratuit et c’est très bien. D'un autre côté, beaucoup d'entre nous ne veulent pas exposer les ports 80 et 443 à Internet, y compris l'ouverture de ces ports sur le routeur. Malheureusement, l'actuelle implémentation Synology de LE ne prend en charge que la méthode de validation dite WEB, basée sur le protocole « HTTP-01 » qui nécessite d'exposer notamment le port 80 à Internet. Une alternative à cette non exposition est de passer par l’utilisation de la méthode de validation dite par DNS basée sur le protocole « DNS-01 ». Ce protocole présente l’avantage de ne pas avoir besoin d’ouvrir de ports lors de la création du certificat LE mais surtout lors de son renouvellement et là c’est le « plus » indéniable du point de vue sécurité qu’apporte cette méthode. Mais pour utiliser cette méthode de validation par DNS, il est obligatoire d’avoir la main sur la zone DNS du domaine concerné. En effet, LE vérifie la présence d’un enregistrement de type « TXT » sous la forme de « _acme‑challenge.votre-domaine.tld » contenant la valeur d’autorisation. Cet enregistrement permet de prouver que la personne qui demande le certificat, contrôle également la zone DNS du domaine en question. Il convient aussi de noter que le protocole « DNS-01 » est utilisé pleinement par les fonctions d’API (Application Programming Interface) développées par nos fournisseurs de domaines tels que OVH et que l’on va utiliser ici. Pour l’exemple, la méthode présentée ici, utilise les API de mon fournisseur OVH. Mais vous pouvez très bien utiliser les API d’un autre fournisseur car ACME prend en charge de nombreux autres services DNS. Il faudra alors adapter la méthode en fonction de ces autres fournisseurs. Rien de bien compliqué en soit, les paramètres diffèrent quelque peu mais le principe de mise en œuvre reste le même. Par ailleurs, l’utilisation du Shell script ‘acme.sh’ est rendu possible par le fait que nous pouvons accéder au NAS via une connexion SSH pour le configurer pour renouveler les certificats au lieu d'utiliser le tableau de bord WEB. Maintenant, cerise sur le gâteau si je puis dire, depuis peu Synology a introduit dans DSM le code nécessaire pour qu’il ne soit plus nécessaire d'exécuter le Shell script ‘acme.sh’ sur votre NAS pour renouveler le certificat. Le Shell script ‘acme.sh’ devra simplement être exécuté sur quelque chose (votre PC/Mac ou autre) qui a accès à l'interface d'administration de DSM. Du coup, les méthodes de déploiement du certificat généré sont considérablement simplifiées et c’est qui va être exploité dans la présente méthode. Voilà pour le discours préliminaire, on passe aux choses sérieuses … 1 Pré-requis · Disposer d’un nom de domaine personnel chez OVH. · Attribuer l’@IP externe de votre Box/Routeur à votre nom de domaine personnel. Pour cela, se rendre sur l'espace client d'OVH. Une fois connecté : Si vous avez une @IP fixe : aller dans l'onglet : « Web / Domaines / votre-domaine.tld / Zone DNS » vous devez avoir un enregistrement de type « A » dans le quel votre « votre-domaine.tld » pointe vers cette @IP fixe. Si vous avez une @IP dynamique : aller dans l'onglet : « Web / Domaines / votre-domaine.tld / DynHost » vous devez avoir une ligne avec « votre-domaine.tld » qui a pour cible votre @IP du moment (i.e. l’@IP externe de votre Box/Routeur). Ce même DynHost doit être également défini sur le NAS (« Panneau de configuration / Accès externe / DDNS » où le nom d’hôte est : « votre-domaine.tld ». 2 Installation du Shell script ‘acme.sh’ L’installation du Shell script ‘acme.sh’ doit s’effectuer dans un répertoire qui n’est pas modifié/réinitialisé lors des mises à jour de DSM. Pour ce faire, on va donc créer un répertoire spécifique d’installation « Certs/Acme_install » sous « /volume1 » et surtout pas sous le répertoire « /root » qui lui est régulièrement « nettoyé » par le système. Ce répertoire « /root » est également utilisé par défaut par ACME. Ceci expliquant cela. · Sous Windows ouvrir une session SSH sur le NAS (en tant qu’utilisateur « root ») avec « PuTTY » ou « WinSCP » · Sous Mac ouvrir une session SSH en lançant le « Terminal » puis tapez : ssh utilisateur-admin@ipdunas (si le port n'est pas 22 alors il faut rajouter « -pXXXXX » où XXXXX = No du port personnalié sudo -i (pour passer en « root » - c'est la procédure normale). · EDIT : Il s'avère que passer sous « root » via un « sudo -i» sur PC comme sur Mac, génère une erreur dans l'exécution de la commande « ./acme.sh». Aussi, je vous invite à suivre le Tuto sur les "Accès SSH et ROOT via DSM6" de @unPixel et ainsi de configurer un accès par le "vrai" « root ». Cela marche tout de suite bien mieux ... Nota 1 : Pour ma part sous Windows, je préfère l’utilisation de « WinSCP » à « PuTTY », tout simplement à cause de son interface graphique qui est très agréable de mon point de vue et aussi parce que l’on peut accessoirement directement sélectionner le texte affiché dans la Console pour le Copier/Coller ailleurs dans une autre application. C’est tout bête mais bien pratique au demeurant. Certes « PuTTY » le permet aussi mais je le trouve beaucoup moins souple de ce point de vue, et ce n’est que mon avis ... Nota 2 : Pour mémoire et ceci est valable pour toute la suite : le symbole « $ » présent en début des lignes de commandes Shell présentées ici, est ce qu’on appelle l’invite de commande du Shell. Dans le cas présent, il est propre à l’outil « WinSCP » que j’ai utilisé pour exécuter les différentes commandes Shell de cette procédure. Bien évidemment, il ne faut pas le sélectionner si vous faites des Copier/Coller du texte de ces commandes. Je préfère prévenir même si c’est évident pour certains initiés … · Tapez successivement les commandes suivantes : On crée le répertoire d’installation d’ACME : « /volume1/Certs/Acme_install » et on s’y place : $ cd /volume1 $ mkdir -p Certs/Acme_install $ cd Certs/Acme_install On télécharge ACME chez GitHub $ wget https://github.com/acmesh-official/acme.sh/archive/master.tar.gz On décompresse le fichier téléchargé et on se place dans le répertoire qui a été automatiquement créé lors de la décompression : $ tar xvf master.tar.gz $ cd acme.sh-master On lance l’installation d’ACME (pensez avant à remplacer dans la commande : « email@gmail.com » par votre @Mail personnelle) $ ACME_HOME="/usr/local/share/acme.sh" $ CERT_HOME="/volume1/Certs" « CERT_HOME » est le répertoire où seront générés les fichiers du certificat. Vous pouvez l’adapter à besoins. $ ./acme.sh --install --nocron --home "$ACME_HOME" --cert-home "$CERT_HOME" --accountemail "email@gmail.com" --nocron : spécifie de ne pas installer par défaut le « cron job ». Vous comprendrez de vous-même pourquoi plus loin. --home : désigne le répertoire « customisé » d’installation du Shell script ‘acme.sh’. C’est un répertoire dit « invariant ». C’est-à-dire qu’il n’est pas modifié par les mises à jour de DSM. Sinon par défaut, le script aurait été installé dans « ~/.acme.sh » où « ~ » correspond au répertoire ‘home’ de l’utilisateur « root » en l’occurrence : « /root ». Pour mémoire le répertoire « /root » est lui, dit « variant », donc sujet à modifications par les mises à jour de DSM. --cert-home : désigne le répertoire où seront générés les fichiers du certificat « wilcard » LE. Cette disposition permet de les sécuriser d’une part et d’autre part permet de les rendre accessibles facilement sans avoir à replonger dans les acarnes de DSM pour les retrouver en cas de besoin autre. Nota :Pour votre information, ce répertoire n’est pas un répertoire partagé au sens Synology. De fait, il ne sera donc pas visible sous « File Station » par exemple ce qui quelque part le protège de vos utilisateurs. Il ne sera donc visible qu’au travers d’une connexion directe au NAS dans une session SSH sous l’utilisateur « root ». Durant la courte installation, vous aurez certainement un message du style : It is recommended to install socat first. We use socat for standalone server if you use standalone mode. If you don't use standalone mode, just ignore this warning. Il faut savoir que ‘Acme.sh’ recommande l'installation du paquet « socat » pour gérer les certificats en mode standalone, mais comme nous n'allons pas utiliser ce mode, vous pouvez largement ignorer ce message. Vous trouverez donc, le dossier d'installation d’ACME dans le répertoire : « /usr/local/share/acme.sh ». Maintenant, il faut régénérer le fichier « .profile » de l'utilisateur courant (« root ») pour pouvoir utiliser immédiatement les commandes Shell. Pour cela, tapez simplement : $ source ~/.profile · Vérifier si besoin les droits d'exécution du fichier « acme.sh » : $ cd $ACME_HOME $ ls -al Normalement c’est bon mais si besoin, tapez : $ chmod a+x acme.sh · On active la mise à jour automatique du client (c’est préférable mais ce n’est pas une obligation) : $ ./acme.sh --upgrade --auto-upgrade Nota 1 : si vous souhaitez désactiver la mise à jour automatique d’ACME, tapez : $ ./acme.sh --upgrade --auto-upgrade 0 Comme vous pouvez aussi commenter manuellement la ligne : AUTO_UPGRADE="1" dans le fichier « /usr/local/share/acme.sh/account.conf » par l’ajout du caractère « # » en tout début de ligne. Nota 2 : Si vous êtes curieux et que vous souhaitez voir toutes les commandes disponibles pour ACME, tapez : $ ./acme.sh --help NE PAS quitter la session SSH 3 Configuration DNS 3.1 Création des clés Pour générer un certificat « wilcard » et pouvoir le renouveler automatiquement, on va donc utiliser l’API d’OVH. Pour ce faire, on va créer une application dans l’API qui va nous permettre de générer trois clés nommées respectivement : « application key », « application secret » et « consumer key ». Il est aussi une bonne pratique de sécurité que de limiter ce qu'une clé API donnée peut faire, dans le cas où elle serait perdue, volée ou que quelque chose de mal se produirait et ce, pour en limiter les dommages potentiels. Cela tombe bien, les clés API OVH peuvent être limitées à une zone de domaine spécifique à l'aide d'un mécanisme de modèle simple. On va donc en profiter pour restreindre une clé API OVH à la gestion de « votre-domaine.tld », en utilisant les paramètres suivants : GET=/domain/zone/votre-domaine.tld/* &POST=/domain/zone/votre-domaine.tld/* &PUT=/domain/zone/votre-domaine.tld/* &GET=/domain/zone/votre-domaine.tld &DELETE=/domain/zone/votre-domaine.tld/record/* Il est clair que cela peut facilement être personnalisé pour prendre en charge un ou plusieurs domaines si le besoin en est. Je vous renvoie à la documentation en ligne d’OVH pour plus de détails. · On se rend donc sur l’API d’OVH en saisissant l’URL suivante dans un navigateur WEB : https://api.ovh.com/createToken/?GET=/domain/zone/votre-domaine.tld/*&POST=/domain/zone/votre-domaine.tld/*&PUT=/domain/zone/votre-domaine.tld/*&GET=/domain/zone/votre-domaine.tld&DELETE=/domain/zone/votre-domaine.tld/record/* Nota : Dans le cas où vous ne souhaiteriez pas restreindre la gestion de la clé API OVH à votre domaine, il suffit simplement d’utiliser les paramètres suivants : ?GET=/domain/zone/* &POST=/domain/zone/* &PUT=/domain/zone/* &DELETE=/domain/zone/*/record/* o L’URL à utiliser pour aller sur l’API d’OVH, est alors : https://api.ovh.com/createToken/?GET=/domain/zone/*&POST=/domain/zone/*&PUT=/domain/zone/*&DELETE=/domain/zone/*/record/* · Donc avec le premier cas, on arrive sur l’écran suivant : Nota : Dans le second cas l’écran est très similaire, je vous laisse vous adapter. · On saisit les informations : o Account ID : votre identifiant principal de connexion chez OVH Nota : Si vous utilisez votre @Mail vous aurez un message d’erreur lors de la création des clés. o Password : votre mot de passe de connexion chez OVH. o Script name : Ce que vous voulez (par ex : « Synology_acme_sh ») mais avec que des caractères, pas d’espaces ni de points et pas de caractères spéciaux sinon cela bloque. o Script description : Ce que vous voulez (par ex : « Certificat wilcard LE – ACME ». o Validity : Dans le popup sélectionnez l’item « Unlimited ». · On clique en fin sur le bouton « Create keys ». · On obtient l’écran suivant, où il convient immédiatement de copier les clés et de les sauvegarder dans un fichier « .txt » : 3.2 Retour dans la session SSH · Taper successivement les commandes suivantes : $ export OVH_END_POINT=ovh-eu $ export OVH_AK="votre application key" $ export OVH_AS="votre application secret" $ export OVH_CK="votre consumer key" 4 Création du certificat Avant de créer effectivement le certificat il convient de préciser un point sur la méthode de chiffrement associée à la génération du certificat LE. Sans aucun paramètre spécifique, ACME utilise une clé de chiffrement de type RSA fixée à 2048 bits par défaut. Dans notre cas, on va directement forcer cette clé RSA à 4096 bits pour renforcer le niveau de sécurité, ce qui se fait par l’emploi du paramètre « -- keylength 4096 » dans la commande de création du certificat. Maintenant pour ceux qui le souhaitent, on peut aussi passer en mode « paranoïaque » et poussez plus loin les choses en adoptant un chiffrement basé sur une clé ECDSA qui elle s’appuie sur des courbes elliptiques. Malgré une faible longueur, ces clés sont très robustes et peut-être bien plus sécures que les clés RSA et sachant aussi que ces dernières sont déjà bien suffisantes pour nos besoins courants. Pour comparaison, une clé ECDSA 256 bits est équivalente à une clé RSA 3072 bits, et une clé ECDSA 384 bits est équivalente à une clé RSA 7680 bits ! À noter que LE reconnait les courbes elliptiques P-256 et P-384 mais le P-521 n'est pas encore reconnu. Donc dans ce dernier cas de figure, le paramètre à employer serait par exemple : « -- keylength ec-394 ». A vous de voir … Bon, il est maintenant vraiment temps de créer le certificat « wilcard » LE pour « votre-domaine.tld » : · Tapez successivement les commandes suivantes : $ cd $ACME_HOME $ export CERT_DOMAIN="votre-domaine.tld" $ export CERT_WDOMAIN="*.votre-domaine.tld" $ export CERT_DNS="dns_ovh" $ ./acme.sh --issue --keylength 4096 -d "$CERT_DOMAIN" -d "$CERT_WDOMAIN" --dns "$CERT_DNS" --set-default-ca --server letsencrypt Edit du 20/06/2021 : Suite aux récentes évolutions du Shell script ACME la commande de création du certificat doit être complétée par deux options. En effet, dorénavant lors de la création d'un nouveau certificat, par défaut c'est un certificat ZeroSSL qui est créé par ACME. Donc dans notre cas, comme l'on veux générer un certificat LesEncrypt, on doit ajouter les options suivantes à la commande de création pour forcer la génération du certificat LE : --set-default-ca --server letsencryp ainsi le shell script ACME prendra en compte ce choix qu'il retiendra d'ailleurs par la suite lors du renouvellement du certificat. Le processus de création du certificat se déroule et affiche un message du type : /usr/local/share/acme.sh$ ./acme.sh --issue --keylength 4096 -d "$CERT_DOMAIN" -d "$CERT_WDOMAIN" --dns "$CERT_DNS" [Sun May 24 22:42:07 CEST 2020] Create account key ok. [Sun May 24 22:42:07 CEST 2020] Registering account [Sun May 24 22:42:08 CEST 2020] Registered [Sun May 24 22:42:08 CEST 2020] ACCOUNT_THUMBPRINT='l7IOxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxfro' [Sun May 24 22:42:08 CEST 2020] Creating domain key [Sun May 24 22:42:13 CEST 2020] The domain key is here: /volume1/Certs/votre-domaine.tld/ votre-domaine.tld.key [Sun May 24 22:42:13 CEST 2020] Multi domain='DNS:votre-domaine.tld,DNS:*.votre-domaine.tld' [Sun May 24 22:42:13 CEST 2020] Getting domain auth token for each domain [Sun May 24 22:42:15 CEST 2020] Getting webroot for domain='votre-domaine.tld' [Sun May 24 22:42:15 CEST 2020] Getting webroot for domain='*.votre-domaine.tld' [Sun May 24 22:42:15 CEST 2020] Adding txt value: TLMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxQWk for domain: _acme-challenge.votre-domaine.tld [Sun May 24 22:42:15 CEST 2020] Using OVH endpoint: ovh-eu [Sun May 24 22:42:15 CEST 2020] Checking authentication [Sun May 24 22:42:16 CEST 2020] Consumer key is ok. [Sun May 24 22:42:16 CEST 2020] Adding record [Sun May 24 22:42:17 CEST 2020] Added, sleep 10 seconds. [Sun May 24 22:42:27 CEST 2020] The txt record is added: Success. [Sun May 24 22:42:27 CEST 2020] Adding txt value: QXMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkJQ for domain: _acme-challenge.votre-domaine.tld [Sun May 24 22:42:27 CEST 2020] Using OVH endpoint: ovh-eu [Sun May 24 22:42:27 CEST 2020] Checking authentication [Sun May 24 22:42:27 CEST 2020] Consumer key is ok. [Sun May 24 22:42:27 CEST 2020] Adding record [Sun May 24 22:42:28 CEST 2020] Added, sleep 10 seconds. [Sun May 24 22:42:38 CEST 2020] The txt record is added: Success. [Sun May 24 22:42:38 CEST 2020] Let's check each dns records now. Sleep 20 seconds first. [Sun May 24 22:42:58 CEST 2020] Checking votre-domaine.tld for _acme-challenge.votre-domaine.tld [Sun May 24 22:42:58 CEST 2020] Domain votre-domaine.tld '_acme-challenge.votre-domaine.tld' success. [Sun May 24 22:42:58 CEST 2020] Checking votre-domaine.tld for _acme-challenge.votre-domaine.tld [Sun May 24 22:42:59 CEST 2020] Domain votre-domaine.tld '_acme-challenge.votre-domaine.tld' success. [Sun May 24 22:42:59 CEST 2020] All success, let's return [Sun May 24 22:42:59 CEST 2020] Verifying: votre-domaine.tld [Sun May 24 22:43:02 CEST 2020] Success [Sun May 24 22:43:02 CEST 2020] Verifying: *.votre-domaine.tld [Sun May 24 22:43:06 CEST 2020] Success [Sun May 24 22:43:06 CEST 2020] Removing DNS records. [Sun May 24 22:43:06 CEST 2020] Removing txt: TLMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxQWk for domain: _acme-challenge.votre-domaine.tld [Sun May 24 22:43:06 CEST 2020] Using OVH endpoint: ovh-eu [Sun May 24 22:43:06 CEST 2020] Checking authentication [Sun May 24 22:43:06 CEST 2020] Consumer key is ok. [Sun May 24 22:43:09 CEST 2020] Removed: Success [Sun May 24 22:43:09 CEST 2020] Removing txt: QXMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkJQ for domain: _acme-challenge.votre-domaine.tld [Sun May 24 22:43:09 CEST 2020] Using OVH endpoint: ovh-eu [Sun May 24 22:43:09 CEST 2020] Checking authentication [Sun May 24 22:43:09 CEST 2020] Consumer key is ok. [Sun May 24 22:43:13 CEST 2020] Removed: Success [Sun May 24 22:43:13 CEST 2020] Verify finished, start to sign. [Sun May 24 22:43:13 CEST 2020] Lets finalize the order, Le_OrderFinalize: https://acme-v02.api.letsencrypt.org/acme/finalize/xxxxxxxxx/xxxxxxxxxxxxxx [Sun May 24 22:43:14 CEST 2020] Download cert, Le_LinkCert: https://acme-v02.api.letsencrypt.org/acme/cert/0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx5c1f [Sun May 24 22:43:15 CEST 2020] Cert success. -----BEGIN CERTIFICATE----- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -----END CERTIFICATE----- [Sun May 24 22:43:15 CEST 2020] Your cert is in /volume1/Certs/votre-domaine.tld/votre-domaine.tld.cer [Sun May 24 22:43:15 CEST 2020] Your cert key is in /volume1/Certs/ votre-domaine.tld/votre-domaine.tld.key [Sun May 24 22:43:15 CEST 2020] The intermediate CA cert is in /volume1/Certs/votre-domaine.tld/ca.cer [Sun May 24 22:43:15 CEST 2020] And the full chain certs is there: /volume1/Certs/votre-domaine.tld/fullchain.cer Voilà déjà une bonne chose de faite … NE PAS quitter la session SSH 5 Déploiement du certificat Comme expliqué en préambule, Synology nous a facilité la vie pour le déploiement des fichiers du(des) certificat(s) généré(s). Cela se passe par l’emploi du « Synology DSM deployhook ». 5.1 Cas de la double authentification Si vous n’utilisez pas la double authentification pour vous connecter à votre NAS, passez directement au §5.2 ci-dessous. Mais avant de réaliser le déploiement effectif du certificat, il y a encore un point préciser car il y a un paramètre supplémentaire à prendre en compte dans le cas où, comme moi vous utilisez la double authentification pour vous connecter à votre NAS. En effet, si on ne renseigne pas ce paramètre, le processus de double authentification viendrait bloquer le déploiement du certificat tel qu’il sera décrit ci-après. Ce serait dommage convenez-en. Donc, habituellement lorsqu’on se connecte au NAS après avoir saisi son id/pseudo et son mot de passe, la double authentification réclame la saisie d’un code à six chiffres que l’on obtient à partir d’une application tierce installée idéalement sur un smartphone/iPhone. Pour n’en citer que quelques-unes, il y a : « FreeOTP Authenticator », « Google Authenticator », « Microsoft Authenticator », etc … (le choix est grand ! - pour la mise en place de la double authentification sur le NAS, reportez-vous à l’excellent Tutoriel de @Fenrir sur la sécurisation des accès au NAS). Bref, on récupère et on saisit donc ce code à six chiffres et on coche la case « Faire confiance à ce périphérique ». Cette dernière action a pour effet caché de créer un « cookie » dans votre navigateur qui lui, évite par la suite que ce code à six chiffres, ne vous soit systématiquement demandé à chaque connexion. Ce « cookie » stocke en interne un code nommé « DID » dont il nous faut récupérer la valeur pour alimenter le paramètre suscité. Pour récupérer la valeur de ce code « DID », normalement un simple clic gauche sur le cadenas situé à gauche de la barre d’URL du navigateur, suivi de la sélection de l’item « cookies » permet d’afficher ce code « DID ». Sauf que cela ne marche pas avec le navigateur FireFox. Pour contourner le problème, j’ai installé l’excellent module complémentaire « Cookie Quick Manager » dans FireFox. Ensuite on procède ainsi : · Se placer sur la page de connexion ou si déjà connecté, sur la page du navigateur affichant le bureau DSM de votre NAS. · Dans le popup de « Cookie Quick Manager », clic gauche et sélectionner l’item « Rechercher les cookies pour : URL de la page suscitée ». Cela peut-être selon : « https://nom-du-nas.ndd.tld » ou http://@IP_du_NAS:5000 ou encore « https://@IP_du_NAS:5001 ». · Une nouvelle page s’ouvre dans le navigateur, vous montrant tous le détail du cookie associé à la page du NAS. · Dans la partie droite de cette page, on trouve la valeur du fameux code « DID ». · Sélectionnez et Copiez cette valeur et refermez la page du cookie. · Revenez sur la session SSH et tapez la commande suivante en y collant la valeur du « DID » : $ export SYNO_DID=xxxxxxxxxxxxxxxValeur_du_DIDxxxxxxxxxxxxxxxxx Edit du 10/01/2021 Suite au retour de plusieurs utilisateurs dont le renouvellement du certificat avait échoué avec un message du style : « Tue Dec 15 15:58:28 CET 2020] Unable to authenticate to localhost:5000 using http. [Tue Dec 15 15:58:28 CET 2020] Check your username and password. » voici la « parade ». En fait, ce message survient parce que le cookie DID est périmé. Il s’avère qu’il n’a en fait qu’une durée de vie d’un mois et qu’il change donc tous les mois. Aussi, toute l’astuce va être d’aller éditer le cookie et de modifier sa date de péremption pour la repousser aux « calandres grecques ». Donc pour cela, comme expliqué ci-avant, vous éditez le cookie DID et vous modifiez le champ « expire » en indiquant une date en 2050 par exemple. Cela devrait suffire 😀. Dans le cas, où le cookie DID aurait changé, il vous faut alors aller modifier, dans une session SSH sous l’utilisateur « root » avec PuTTY ou WinSCP sur Windows ou dans un Terminal sur Mac, le fichier « /volume1/Certs/votre-domaine.tld/votre-domaine.tld.conf » pour mettre en accord la valeur de votre nouveau cookie DID avec le contenu de la variable « SAVED_SYNO_DID » sauvegardée par le système dans ce fichier. Ajout du 2021-02-15 : Il faut aussi mettre en accord la variable « SAVED_DID » qui se trouve elle, dans le fichier « /usr/local/share/acme.sh/account.conf ». Toujours pareil, attention lors du copier/coller de la valeur à ne pas prendre de caractères parasites ! N’oubliez pas aussi d’enregistrer le fichier à l’issue de vos modifications. Ainsi, plus de soucis de renouvellement à ce niveau … 5.2 Réalisation du déploiement du certificat Nota préliminaire : Tout ce qui suit présume que vous n’avez pas quitté la présente session SSH. Sinon, il faut réexporter toutes les variables définies précédemment. Sans quoi rien ne fonctionnera correctement ! Ce serait dommage, non ? Maintenant, deux cas de figure se présentent selon que l’on procède à un déploiement du nouveau certificat : · avec un mode « Annule et remplace » du certificat existant marqué « par défaut », · ou que l’on se contente d’ajouter simplement le nouveau certificat à la liste existante de vos certificats. Vous avez le choix, c’est vous qui décidez … 5.2.1 Mode « annule et remplace » du certificat par défaut Rappel : Ici on va ECRASER le certificat marqué par défaut dans le tableau de bord de DSM. Il n’existera plus !!! Vous êtes prévenus … · Dans la session SSH tapez successivement les commandes suivantes : o Par prudence, on vérifie que l’on est bien toujours placé dans le répertoire : « /usr/local/share/acme.sh ». $ pwd o Selon votre usage, décommentez et exécutez l’une ou deux ou les trois commandes suivantes : # export SYNO_Scheme="http" Par défaut : « http » mais on peut fixer à « https » # export SYNO_Hostname="localhost" Par défaut : « localhost » mais à spécifier si vous n’utilisez pas sur la présence machine. Les « très initiés » comprendront. # export SYNO_Port="5000" Port utilisé pour DSM, par défaut : 5000 pour HTTP et mais on peut fixer à 5001 pour HTTPS. o On poursuit les définitions de variables d’environnement : Attention ici, les « simples cotes » « ' » sont utilisées pour « échapper » les éventuels caractères spéciaux présents dans vos identifiants et mots de masse. $ export SYNO_Username='DSM_Admin_Username' $ export SYNO_Password='DSM_Admin_Password!123' La commande suivante est quant à elle impérative. Elle correspond à la description du certificat visible dans le tableau de bord de DSM. Toutefois pour pouvoir remplacer le certificat par défaut, il est nécessaire de spécifier une chaîne vide pour ce paramètre. Ne me demandez pas pourquoi ! (si un « initié » sait, je corrigerai en conséquence avec l’explication du pourquoi). $ export SYNO_Certificate="" · Et on déploie enfin le certificat … $ ./acme.sh --deploy -d "$CERT_DOMAIN" --deploy-hook synology_dsm 5.2.2 Mode « ajout » du nouveau certificat Ici, on va simplement ajouter le nouveau certificat à la liste des certificats éventuellement déjà présents sur le NAS. Le processus est sensiblement le même que celui décrit au §5.2.1 ci-dessus. · Dans la session SSH tapez successivement les commandes suivantes : o Par prudence, on vérifie que l’on est bien toujours placé dans le répertoire : « /usr/local/share/acme.sh ». $ pwd o Selon votre usage, décommentez et exécutez l’une ou deux ou les trois commandes suivantes : Par défaut : « http » mais on peut fixer à « https » # export SYNO_Scheme="http" Par défaut : « localhost » mais à spécifier si vous n’utilisez pas sur la présence machine. Les « très initiés » comprendront. # export SYNO_Hostname="localhost" Port utilisé pour DSM, par défaut : 5000 pour HTTP et mais on peut fixer à 5001 pour HTTPS (dans ce dernier, il faut ajouter l'option "--insecure" à la commande de déploiement donnée plus loin). # export SYNO_Port="5000" o On poursuit les définitions de variables d’environnement : Attention ici, les « simples cotes » « ' » sont utilisées pour « échapper » les éventuels caractères spéciaux présents dans vos identifiants et mots de masse. $ export SYNO_Username='DSM_Admin_Username' $ export SYNO_Password='DSM_Admin_Password!123' La commande suivante est quant à elle impérative. Elle correspond à la description du certificat visible dans le tableau de bord de DSM. Toutefois pour pouvoir ajouter le nouveau certificat, il est nécessaire de spécifier une chaîne non vide pour ce paramètre. Là, cela paraît évident … (Quoi que …) Vous nommez votre certificat comme bon vous semble. Pour ma part je lui donne le nom qui précise mon domaine « ACME_Wilcard_LE_*.ndd.tld » pour plus de clarté. Encore une fois, c’est vous qui voyez … $ export SYNO_Certificate="Nom_du_certificat" o Une dernière variable d’environnement : Par défaut : ce paramètre est sur « off » et n’est pas enregistré mais on peut le fixer à « 1 » pour indiquer au système de créer le certificat s’il n’existe pas déjà. $ export SYNO_Create=1 · Et on déploie enfin le certificat … $ ./acme.sh --deploy -d "$CERT_DOMAIN" --deploy-hook synology_dsm Dans cette commande, pour le cas où vous le souhaiteriez, on peut préciser un domaine de second niveau. La commande est alors : $ ./acme.sh --deploy -d "secondNiv.$CERT_DOMAIN" --deploy-hook synology_dsm Nota : On peut remarquer dans le message ci-dessus la ligne : « http services were NOT restarded », ne sachant pas ce qu’il faut en faire, je l’ai provisoirement ignorée. Je n’ai d’ailleurs pas constaté par la suite de disfonctionnements qui lui soient liés. Cela dit, je compte sur les « initiés » pour me dire s’il y a une quelconque action à exécuter vis-à-vis de ce message. D’avance merci, je mettrai à jour la présente procédure en conséquence. Toujours est-il, le nouveau certificat est maintenant visible dans « Panneau de configuration / Sécurité /Certificat » de DSM : Ici par défaut on constate que : · d’une part le nouveau certificat a été automatiquement marqué pour une utilisation « par défaut », · • et d’autre part là, deux cas de figures peuvent se présenter : Soit vous êtes dans le cas d’une toute première création du certificat i.e. aucun autre certificat pour « votre-domaine.tld » n’existait auparavant, alors il est obligatoire de réaliser une affectation manuelle du certificat aux services qui vont l’utiliser pour une bonne prise en compte de celui-ci. Pour cela : Sélectionnez le certificat. Cliquez sur le bouton « Configurer » et affectez le certificat aux services de votre choix en le sélectionnant dans le popup en regard du service concerné. Soit vous êtes dans le cas d’une nouvelle création du certificat avec déjà un certificat pour « votre-domaine.tld » existant auparavant, alors avec cette création, le constat est qu’il n’a pas repris les assignations aux services qui existaient pour le certificat précédemment marqué par défaut. Il vous faut alors reprendre ces assignations manuellement. Toujours pareil, vous adaptez à votre besoin … Nota : Dans ce dernier cas, sachez que ce comportement est normal puisque l’on crée le certificat. Un dernier constat : on ne le voit pas sur la copie d’écran, mais bien évidemment, le certificat précédemment marqué pour une utilisation par défaut, n’a pas disparu. Il est bien toujours présent dans la liste des certificats. Il n’est tout simplement plus marqué pour une utilisation par défaut. Rien n’a été perdu, c’est ce qui importe ! NE PAS quitter la session SSH 6 Configurer le renouvellement du certificat Maintenant que le certificat « wilcard » LE a été créé et déployé sur le NAS, il faut assurer son renouvellement à l’échéance fatidique de 3 mois. En fait, cette échéance est variable dans le sens où selon la date de génération du certificat il peut se passer entre 89, 90, 91 et 92 jours. Mais en pratique lors de son exécution, le script « acme.sh » contrôle par défaut si la date courante est supérieure de plus de 60 jours par rapport à la date de création du certificat avant de lancer ou non le renouvellement effectif de celui-ci. Par sécurité, on ne va pas « s’embêter », on va programmer tout simplement cette opération de contrôle du besoin de renouvellement, avec une exécution hebdomadaire à un horaire de faible charge du NAS (par exemple tous les Lundi et donc a priori la nuit soit à 00h00). Libre à vous de modifier cette périodicité selon vos propres besoins. C’est vous qui voyez … Mais avant toute choses, on va installer un petit programme/script écrit en langage Python (Encore MERCI à @bruno78 qui l’a développé) destiné à compléter l’action normale du script « acme.sh » en réalisant un certain nombre d’autres opérations spécifiques et rendues nécessaires par l’environnement du NAS Synology (pour les plus curieux, ces actions sont explicitées en détail au § 10 ci-dessous). Rassurez-vous, vous n’avez pas besoin de connaître le langage Python. Celui-ci est nativement géré par le NAS Synology au travers du package « Python module ». Vérifiez juste que ce package est bien installé sur votre NAS et auquel cas installez le via le centre de paquets. EDIT 21/08/2020 Le script Python est maintenant compatible de la dernière et actuelle version 3.x.x du langage Python. Si vous envisagez d’utiliser Python3 il vous faut alors installer le package « Python3 » disponible dans la rubrique « Outils de développement » dans le centre de paquets de DSM. Donc, le package « Python module » ou le package « Python3 » étant installé : Créez un répertoire spécifique pour accueillir ce script Python : On crée le répertoire : « /volume1/Scripts » et on s’y place : Nota 1 : Ce chemin peut être tout autre selon vos besoins, mais veillez à rester cohérent dans son utilisation par la suite. Nota 2 : Ce répertoire, tout comme le répertoire « Volume1/Certs » créé précédemment, n’est pas un répertoire partagé au sens Synology. De fait, il ne sera donc pas visible sous « File Station » par exemple ce qui quelque part le protège de vos utilisateurs. Il ne sera donc visible qu’au travers d’une connexion directe au NAS dans une session SSH sous l’utilisateur « root ». $ cd /volume1 $ mkdir -p Scripts $ cd Scripts Téléchargez sur votre PC/Mac le fichier du script Python : acme_renew.py Copiez/Collez ce fichier sur le NAS dans le répertoire « /volume1/Scripts ». (via WinSCP c’est on ne peut plus simple !). Le script Python étant en place, on va programmer effectivement l’exécution périodique de ce script. Nota :En préalable et pour ceux qui seraient tentés de le faire, il faut également savoir qu’Il n'est pas conseillé de configurer directement un « cron job » personnalisé car le conseiller de sécurité DSM va rapidement vous rappeler à l’ordre et vous dira que vous avez un avertissement critique concernant un ou des cron job(s) inconnu(s). Donc pour ce faire, on va configurer une tâche dans le planificateur de tâches de DSM. · Dans « Panneau de configuration / Planificateur de tâches », cliquer sur le bouton « Créer » et sélectionner dans le popup : « Tâche planifiée / Script défini par l’utilisateur » · Dans la fenêtre « Créer une tâche » onglet « Général » nommez la tâche à exécuter périodiquement. Par exemple : « RenewCertif_W_LE ». L’utilisateur doit être « root » et la case « Activé » est cochée. · Dans l’onglet « Paramètres de la tâche » : o Pour la partie « Paramètres généraux » : si vous voulez recevoir par eMail les détails d’exécution de la tâche : cochez la case correspondante et saisissez votre @Mail. Vous pouvez aussi décider de ne recevoir ces eMails uniquement si l’exécution de la tâche se termine de façon anormale. Dans ce cas cochez la case correspondante. o Pour la partie « Exécuter la commande » : saisir la commande suivante : python /volume1/Scripts/acme_renew.py -l votre-domaine.tld Ou si vous souhaitez utiliser la version sous « Python3 » : python3 /volume1/Scripts/acme_renew.py -l votre-domaine.tld Dans cette commande : - Le chemin d’accès au script « acme_renew.py » (ici « /volume1/Scripts/ ») devra être modifié selon que vous en aurez défini un autre ci-avant. - Le paramètre « -l » est quant à lui optionnel. Libre à vous de l’indiquer ou pas. Néanmois je ne peux que vous conseiller de le mentionner pour le cas où … On n’est jamais trop prudent. Si vous l’indiquez explicitement, sachez qu’à chaque renouvellement, un fichier de « log » nommé « acmelog » sera automatiquement généré dans le répertoire « /volume1/Certs/Acme_renew/ » lui-même créé automatiquement par le script Python. Donc si un quelconque problème survenait, vous disposerez alors d’une trace complète de toutes les opérations réalisées lors du processus de renouvellement du certificat« wilcard » LE. Si tout est OK, vous aurez tout de même une trace mais forcément « light ». - Le paramètre « votre-domaine.tld » est quant à lui OBLIGATOIRE et est bien évidemment à remplacer par l’intitulé de votre propre domaine pour lequel le certificat doit être renouvelé. · Dans l’onglet « Programmer » : o Sélectionner « Exécuter les jours suivants » o Dans le popup, cochez la case « Lundi ». o Dans la zone « Temps » : laisser les valeurs par défaut. · Valider l’ensemble de votre paramétrage en cliquant sur le bouton « OK ». EDIT du 20/06/2021 : Suite aux récentes évolutions du Shel script ACME (voir plus haut pour la commande de création du certificat) il n'y a normalement rien à faire si vous disposer déjà d'un certificat LE. Le Shell script ACME de lui même s'adapte et assure le rouvellement de votre certificat comme avant. Toutefois, afin de s'assurer et forcer ce renouvellement avec LetEncrypt, il convient d'ajouter (sous SSH à la fin du fichier) la ligne suivante dans votre fichier "account.conf" (/usr/local/share/acme.sh/account.conf) : DEFAULT_ACME_SERVER='https://acme-v02.api.letsencrypt.org/directory' 7 En cas de problème suite à une mise à jour de DSM En cas de problème suite à une mise à jour de DSM, on peut réparer l’environnement ACME en exécutant les commandes suivantes dans une session SSH sous l’utilisateur « root » : $ cd /usr/local/share/acme.sh $ ./acme.sh --force --upgrade --nocron --home /usr/local/share/acme.sh Vous pouvez aussi ajouter la ligne suivante dans le fichier « /root/.profile » et régénérer le « .profile » en tapant : . "/usr/local/share/acme.sh/acme.sh.env" $ source /root/.profile 8 Arrêter le renouvellement du certificat Pour arrêter le renouvellement d’un certificat, vous pouvez exécuter dans une session SSH sous l’utilisateur « root » , les commandes suivantes pour supprimer le certificat de la liste de renouvellement : $ cd /usr/local/share/acme.sh $ ./acme.sh --remove -d votre-domaine.tld Les fichiers « .cert » et « .key » de votre certificat ne sont pas supprimés du disque. Vous pouvez supprimer le répertoire correspondant (par exemple : « /volume1/Certs/votre-domaine.tld ») par vous-même. 9 Un dernier truc utile Vous pouvez éventuellement avoir besoin de convertir votre certificat en un fichier « .p12 » ou « .pfx » exploitable sous Android. C’est utile par exemple, pour un client VPN installé sur le smartphone. Dans ce cas, vous pouvez exécuter dans une session SSH sous l’utilisateur « root » , les commandes suivantes : $ ACME_HOME="/usr/local/share/acme.sh" $ CERT_HOME="/volume1/Certs" $ cd $ACME_HOME $ ./acme.sh --toPkcs -d votre-domaine.tld Enter Export Password: Verifying - Enter Export Password: [Mon May 25 20:00:28 CEST 2020] Success, Pfx is exported to: /volume1/Certs/votre-domaine.tld/votre-domaine.tld.pfx « Password » est le mot de passe utilisé pour ouvrir la session SSH. 10 Évolution du processus de renouvellement du certificat EDIT du 11/08/2020 et du 21/08/2020 Afin d’améliorer la recherche de la (les) cause(s) d’un éventuel dysfonctionnement dans le processus de renouvellement du certificat, la trace complète de toutes les opérations effectuées lors du déroulement de ce processus a été remaniée de façon à fournir un historique « tournant ». Ces informations sont inscrites dans un fichier nommé « acme_renew_python.log.x » qui est automatiquement généré dans le répertoire « /volume1/Certs/Acme_renew ». Cette trace est systématiquement générée que vous utilisiez ou non l’option « -l » pour obtenir un « log » du processus. Au total, vous disposerez de neuf (9) fichiers de trace sachant que le fichier ayant l’indice « 1 » sera toujours celui correspondant à la dernière exécution du script, donc le plus récent. Si pour une quelconque raison vous aviez besoin de renouveler votre certificat LE avant sa date normale de renouvellement, une option dédiée à cet effet à été ajoutée au script Python (v1.40). Cette option « -f » ou « --force » doit toutefois être utilisée avec parcimonie. En effet, LetsEncript limite le nombre de modifications d’un certificat d’un même domaine à cinq (5) par semaines calendaires. Au-delà de ces cinq (5) modifications dans une même semaine, vous serez bloqués et ne pourrez pas renouveler votre certificat durant une semaine à compter de la dernière modification tentée. Vous êtes donc prévenus ... EDIT du 25/07/2020 Suite aux retours de plusieurs utilisateurs « initiés », il a été fait le constat que le processus de renouvellement du certificat tel qu’il existait, n’était pas pleinement satisfaisant. En effet, même si en apparence le certificat semblait renouvelé dans le « Panneau de configuration / Sécurité / Certificat » avec une nouvelle date d’expiration affichée en vert et qu’il était bien marqué « par défaut », en fait il ne l’était pas complétement. À l’usage il générait encore des messages liés à une connexion non sécurisée avec une erreur du type « SLL_ERROR_BAD_CERT_DOMAIN ». La raison en était que les fichiers « .pem » du nouveau certificat n’avaient en fait, pas été recopiés partout où ils auraient dû l’être et du coup les navigateurs Web utilisaient toujours les anciens fichiers. Pour les plus sceptiques vis-à-vis de cette apparence trompeuse et pour bien se rendre compte que c’était toujours l’ancien certificat qui était pris en compte par les navigateurs Web, il suffit effectuer les manipulations suivantes : Effacer le cache du navigateur Web. Recharger le site web consulté où l’erreur SSL était apparue. Examiner le certificat utilisé par le navigateur dans ce cas. On constate que c’est toujours l’ancien certificat à la vue de sa date d’expiration. On obtient aussi la preuve que le processus de renouvellement pour le cas particulier de l’environnement du NAS Synology n’était pas complet, en examinant via une connexion SSH sous « root », les fichiers « .pem » contenus dans le répertoire « /usr/local/etc/certificate/WebStation/vhost_xxxxxx ». Ces fichiers correspondaient exactement à l’ancien certificat. Par ailleurs, après sa création et/ou son renouvellement, il avait été constaté que le nouveau certificat n’était pas non plus, appliqué et/ou réappliqué aux services à l'image de ce qui existait pour le certificat précédemment actif et marqué par défaut. Il fallait alors reprendre manuellement via le menu « Configurer », toutes les affectations de ce nouveau certificat aux différents services qui l’utilisaient. Opération laborieuse s’il en était … Nota : Je vous rappelle si besoin en est, qu’après toute création du certificat (qu’il en existe déjà un ou non pour « votre-domaine.tld »), cette opération d’affectation du certificat aux services est obligatoire pour la bonne prise en compte de celui-ci. Vous en conviendrez donc, du point de vue automatisation ce n’était pas top ! 🤔 Ces différents problèmes nous ont donc conduits @bruno78 et moi-même à plancher sur une automatisation COMPLETE de la procédure de renouvellement du certificat et il faut bien le dire ici, sans les talents de développeur de @bruno78, nous n’aurions pas aujourd’hui une procédure pleinement fonctionnelle et efficiente. Donc, @bruno78 a développé un script en langage Python nommé « acme_renew.py » qui réalise maintenant correctement tout le « boulot » si je puis dire. À noter que ce script dispose également de certaines fonctionnalités disponibles uniquement dans le cadre une utilisation manuelle en mode SSH sous « root » que je vais vous détailler plus loin. Pour d’ores et déjà satisfaire la curiosité des utilisateurs « initiés », de façon succincte, ce script Python réalise les opérations suivantes : Lecture des fichiers « INFO » et « DEFAULT » (« /usr/syno/etc/certificate/_archive ») Vérification de l’atteinte ou non de la date de renouvellement (minimum T0+60 jours, valeur par défaut inscrite dans le code du Shell script « acme.sh »). Sauvegarde du répertoire « /usr/syno/etc/certificate/_archive » y compris des fichiers « INFO » et « DEFAULT » Récupération des services du certificat originel par défaut selon qu’il a été généré avec une clé de chiffrement de type RSA ou ECDSA. Renouvellement du certificat : On reprend ici la commande originelle de renouvellement du script « acme.sh » à laquelle on a ajouté des paramètres spécifiques (« /usr/local/share/acme.sh/acme.sh --cron –force –debug --log --home /usr/local/share/acme.sh/ ») : « --force » pour le forcer à renouveler le certificat (la simple option « –renew » n’est pas suffisante car elle génère un message d’erreur qui stipule de surcroît d’utiliser l’option « --force », donc on applique cette option directement). « --debug » pour avoir un maximum de messages de traçage des opérations réalisées. « --log » pour récupérer les messages générés dans un fichier « Log » de trace. Lecture des nouveaux fichiers « INFO » et « DEFAULT » générés suite au renouvellement. Mise à jour du fichier « INFO » en inscrivant les services sur le nouveau certificat « par défaut » Renommage de la description de l'ancien certificat en "xxx_old". Distribution les nouveaux fichiers du certificat dans les répertoires système du NAS « /usr/syno/etc/certificate » et « /usr/local/etc/certificate ». Recherche et constitution de la liste des packages et services qui utilisent le certificat. Redémarrage global de ces packages et services en incluant leurs dépendances. Donc comme évoqué précédemment, le script Python « acme_renew.py » peut être utilisé selon deux modes de fonctionnement : En mode dit « Standard ou automatique » : c’est celui qui est typiquement utilisé pour la commande de renouvellement intégrée à la tâche périodique que vous avez définie dans DSM au § 6 ci-dessus et dans lequel la description des paramètres que le script accepte, est précisée. Veuillez-vous y reporter. En mode dit « Manuel » : ce mode correspond à une utilisation directe en lignes de commandes dans une connexion au NAS via une session SSH sous l’utilisateur « root ». Donc, ouvrez une connexion SSH sous « root » et tapez les commandes suivantes : $ cd /volume1/Scripts $ python acme_renew.py -h Avec ce paramètre « -h » vous obtenez une aide sur tous les paramètres utilisables avec le script Python « acme_renew.py » : Les informations fournies par cette option « -h » se suffisent à elles-mêmes. Elles ne seront donc pas décrites/détaillées plus avant. Nota : Dans cette aide le paramètre « ndd.tld » correspond bien évidemment à « l’intitulé » de votre domaine soit « votre-domaine.tld ». Toutefois, dans le cas particulier d’une utilisation avec le paramètre « -c » il convient de préciser ceci : En aucun cas vous ne devez utiliser la commande « python acme_renew.py -c votre-domaine.tld » ou « python3 acme_renew.py -c votre-domaine.tld » dans une fenêtre de console sous WinSCP ! La raison en est, que la console de WinSCP ne supporte pas l’exécution de commandes dites « interactives ». Si d’aventure vous faisiez cette erreur, sachez que vous allez entrer dans une boucle sans fin et que le seul moyen d’en sortir sera de « tuer » le process WinSCP dans le gestionnaire de tâches de Windows. Maintenant vous êtes prévenus ! Par contre, il n’y a aucun souci pour exécuter cette commande interactive dans une fenêtre « Terminal » de PuTTY sur PC (même si celle-ci est lancée à partir de WinSCP) ou d’une fenêtre « Terminal » sur Mac. Voilà c’est fini, profitez bien de votre certificat « wilcard » Let’sEncrypt !!! GRATUIT !!! et ne nécessitant plus d’ouvrir les ports 80 et/ou 443 sur votre NAS pour son renouvellement. À l’usage, on en oublierait presque la chose … Le fichier ".pdf" de cette procédure : Création_Certif_Wilcard_LE_avec_ACME_20210215.pdf Bien évidemment, je prendrais en compte toutes remarques et suggestions visant à corriger si besoin mais surtout à améliorer ce tutoriel. MERCI de vos retours ... Merci à @maxou56 pour ses compléments d’informations liées au monde Mac. Cordialement Oracle7😉
-
Cherche DSM_DS212_25426.pat
Toutes les versions de DSM : https://web.archive.org/web/20230510164622/https://archive.synology.com/download/Os/DSM DSM 6.2.3-25426 : https://web.archive.org/web/20230510164608/https://archive.synology.com/download/Os/DSM/6.2.3-25426 DSM_DS212+_25426.pat : https://web.archive.org/web/20230510164608/https://global.synologydownload.com/download/DSM/release/6.2.3/25426/DSM_DS212_25426.pat Le serveur archive.org peut retourner des erreurs HTTP par moment, mais en insistant ça passe.
-
Cherche DSM_DS212_25426.pat
Mille mercis @Lelolo et @PiwiLAbruti pour vos retours. Le lien fonctionne mais ce n'est pas la bonne archive. Je me suis aperçu que c'est un 212J et que le message m'indique qu'il faut que j'aille chercher la version 6.2.4.25556.update 2 qui doit coorespondre à ce lien : https://web.archive.org/web/20251204225608/https://global.synologydownload.com/download/DSM/criticalupdate/update_pack/25556-2/synology_88f6281_212j.pat mais qui ne répond pas pour l'instant.
-
Cherche DSM_DS212_25426.pat
Bonjour @CPS31 Une petite recherche sur le forum t'aurait sûrement donné la réponse. Le fichier devrait être disponible ici : https://web.archive.org/web/20230510164608/https://global.synologydownload.com/download/DSM/release/6.2.3/25426/DSM_DS212_25426.pat Mais pour le moment les serveurs ne sont pas opérationnels, il faudra essayer à nouveau.
-
Problème sauvegarde par Samba sur GNU Debian 13
Bonjour ! Hop, j'ai une question à vous poser, je suis possesseur d'un NAS Synology ds218j. Tout va bien pour l'instant, mais si je sauvegarde mes données par partage samba de mon Linux, certains fichiers sont mauvais alors que je le fais par l'interface web, il n'y a aucun problème ? Bref peut être y a-t-il un problème de disque dur ? Merci d'avance ! YoG
-
[TUTO] [Pas-à-pas] Sécurisation du NAS - pour DSM 7
Pour qui ? Depuis plusieurs années, ce tutoriel rédigé par @Fenrir est LA référence en matière de sécurisation des accès à un NAS. C'est de loin le tutoriel le plus lu du forum, et c'est une bonne chose, car cela signifie que les utilisateurs de NAS Synology se préoccupent de sécuriser leurs données. Néanmoins, bien que le tutoriel soit toujours d'actualité, certaines sections de DSM sont organisées différemment depuis l'arrivée de DSM 7. En outre, certaines informations importantes se trouvent dans les innombrables pages de commentaires, ce qui ne facilite pas la tâche aux nouveaux venus. A l'usage, on remarque également qu'il peut : parfois aller trop vite sur certains points pour des néophytes être a contrario trop succinct pour des utilisateurs souhaitant aller plus loin dans la sécurisation des accès. Il a donc été convenu de rédiger deux versions du tutoriel : cette version, une version plus pas-à-pas, reprenant l'essentiel du tutoriel original, destinée à permettre une rapide mise en service d'un NAS de manière sécurisée. C'est l'objet du tutoriel que vous allez maintenant suivre. une version plus avancée, pour utilisateurs avertis Le tutoriel s'inspire grandement du tutoriel original, merci encore à @Fenrir son rédacteur. Préambule et recommandations Définition Mais commençons par un peu de vocabulaire, un produit labélisé NAS chez Synology est en réalité un serveur, disposant d'un OS, d'un processeur et de mémoire, permettant : La mise à disposition en réseau de données par de nombreux protocoles : HTTP, HTTPS, CIFS, NFS, SSH, etc... L'hébergement de services divers et variés : nativement (Centre de paquets) par conteneurisation (Container Manager) (plus d'info ici) par virtualisation (Virtual Machine Manager) Dans la suite du tutoriel, nous emploierons improprement le terme NAS par commodité. Cahier des charges Ce que ce tutoriel couvre : La configuration des protocoles utilisés pour les accès au NAS La configuration du pare-feu La mise en place d'un certificat TLS La configuration d'un service de notification La protection des accès utilisateurs La configuration des cartes réseau Ce que ce tutoriel ne couvre pas : La configuration de votre box pour un accès distant La mise en place d'un proxy inversé La mise en place d'un serveur VPN Le chiffrement de volume ou de dossier partagé La sauvegarde et la restauration de données (outre la configuration du système) // IMPORTANT \\ En appliquant ce tutoriel, vous coupez votre NAS de tout accès extérieur. Pour accéder à votre NAS à distance, il existe plusieurs méthodes : Utilisation du relais QuickConnect de Synology, point abordé dans la partie Accès externe. Accès par nom de domaine (point abordé dans la partie Accès externe également) + redirection de ports (avec ou sans proxy inversé) Utilisation d'un serveur VPN sur le NAS pour le transfert de fichiers uniquement : FTP, SFTP, WebDAV, etc... Veuillez vous référez aux liens fournis pour la mise en place d'un accès externe sécurisé. Prérequis et méthode Le vocabulaire dédié au monde du réseau est spécifique, il est conseillé de lire le sujet rédigé par @Kramlech, ces notions seront utiles pour la compréhension de la suite du tutoriel. De plus, ce tutoriel renverra vers d'autres tutoriels pour ceux qui souhaitent aller plus loin. Si une catégorie ou un onglet ne sont pas mentionnés, c'est qu'ils ne présentent pas d'intérêt dans le cadre de ce tutoriel. Lorsque des explications supplémentaires mais non nécessaires sont proposées, elles sont cachées dans des balises spoiler : Lisez ce tutoriel en diagonale une première fois pour avoir une vision globale des modifications que vous vous apprêtez à effectuer La plupart des fenêtres que vous ouvrirez dans DSM possède une aide intégrée, celle-ci est généralement bien documentée et traduite, cela vous permettra de connaître plus en détail les fonctionnalités offertes par les divers champs activables : Précautions Sauvegarde de la configuration Que vous veniez d'installer DSM sur votre NAS, ou que vous ayez déjà une instance de DSM en production, il est impératif de réaliser une sauvegarde de la configuration avant de commencer, pour cela, on va dans Démarrer -> Panneau de configuration -> Mise à jour et restauration -> Sauvegarde de configuration -> Exportation manuelle : Cliquez sur Exporter et sauvegarder le fichier sur votre ordinateur. En cas de problème, il sera possible de restaurer la configuration précédemment exportée en cliquant sur Restauration. J'ai tout cassé Si vous n'arrivez plus à avoir accès à votre NAS suite à un réglage effectué au cours du tutoriel, vous pouvez toujours effectuer un reset mode 1 du NAS. Celui-ci est suffisant dans l'extrême majorité des cas, et il a l'avantage de réinitialiser un nombre limité de réglages qui sont susceptibles de provoquer une perte d'accès à DSM. _________________________________________________________________________________________________________________________________________________________________________________________ Sécurité Cette section sera abordée plus en détail par après, mais dans un premier temps il est impératif de sécuriser les accès à votre NAS. Pare-feu - Accès locaux Par défaut, le pare-feu n'est pas activé, et donc tous les accès sont permis. L'idée générale est d'autoriser les accès depuis le réseau local, et de le fermer aux accès distants. Au fil des années, nous avons pu constater que la pratique habituelle de créer des règles pour toutes les interfaces pouvaient avoir des effets de bord indésirables, notamment dans le cadre de l'utilisation d'un serveur VPN, il est donc plus sécurisé de créer le minimum de règles pour chaque interface séparément. Et c'est la méthode que nous allons détailler. Pour configurer le pare-feu, il faut cocher Activer le pare-feu. Il est conseillé de laisser les notifications du pare-feu tout en les refusant quand elles apparaitront à l'installation de paquets, afin d'être informé des ports utilisés par les dits paquets. On va ensuite cliquer dans la liste déroulante contenant les profils de pare-feu, et cliquer sur Gérer le profil du pare-feu. On va cliquer sur Créer pour créer un nouveau profil, et on le nomme par-interface : On sélectionne l'interface qu'on souhaite configurer, ici pour l'exemple LAN 1. On va tout d'abord ajouter quatre règles garantissant un accès local complet à votre NAS : Pour ce faire, on procède ainsi : On clique sur Créer On coche IP spécifique puis on clique sur Sélectionnez On choisit Sous-réseau et on entre 192.168.0.0 dans Adresse IP, et 255.255.0.0 dans Masque de sous-réseau ATTENTION : si vous le souhaitez, vous pouvez restreindre à votre réseau local. Ici on couvre toute la plage locale possible en 192.168. Par exemple, si le réseau de votre box est 192.168.1.x, alors vous pouvez entrer 192.168.1.0/255.255.255.0 On valide : On répète la même opération pour les deux autres règles, 172.16.0.0/255.240.0.0 et 10.0.0.0/255.0.0.0 On ajoute une règle pour les accès locaux en IPv6 : A elles quatre, ces règles permettent à tous les clients utilisant des IP privées d'accéder à tous les services du NAS (attention, ils sont toujours toutefois soumis aux processus d'authentification, ces règles leur permettent uniquement de ne pas faire se refouler à l'entrée). Dernier point, mais le plus important, on choisit Refuser l'accès comme comportement du pare-feu en cas de requête non déclenchée par les règles précédemment ajoutées : _________________________________________________________________________________________________________________________________________________________________________________________ Notifications Celles-ci sont requise pour certaines fonctionnalités comme l'authentification à deux facteurs ou plus simplement pour que vous soyez prévenu dès qu'un problème survient dans le système. On va dans Panneau de configuration -> Notification : Dans Compte Synology, cochez Recevez des notifications directement dans votre compte Synology lorsque l'état du système change ou lorsque des erreurs se produisent En activant l'option, vous serez invité à vous connecter à votre compte Synology. Cela nécessite la création ou l'association à un compte Synology Dans Email, on clique sur Configurer, et on choisit un fournisseur SMTP ou on configure le sien si on en a un Dans Profils de destinataires, on peut choisir des adresses mail différentes suivant la criticité des événements. On clique sur Ajouter. On utilise la règle Warning et on entre l'email de destination, il peut être le même que l'expéditeur Dans Paramètres d'email, on peut personnaliser le préfixe de l'objet du mail On clique sur Envoyer un e-mail de test dans Profils de destinataires pour vérifier que tout fonctionne. Vérifier votre boîte de spam si rien n'arrive _________________________________________________________________________________________________________________________________________________________________________________________ Services de fichiers On va dans Panneau de configuration -> Services de fichiers SMB Général SMB (ou Samba dans sa déclinaison Linux) est le protocole utilisé par Windows lorsqu'on monte un lecteur réseau dans l'explorateur de fichiers. Mais même sous Linux, il est le protocole à privilégier lorsqu'on se connecte à un NAS. Dans Paramètres SMB, cochez Activez le journal des transferts On coche Masquer les dossiers partagés pour les utilisateurs ne disposant pas d'autorisation Dans WS-Discovery, on coche Activer la découverte de réseau Windows pour autoriser l'accès aux fichiers via SMB : On clique sur Paramères avancés et on définit le protocole SMB minimum sur SMB2 et Large MTU, SMB1 a de nombreuses failles de sécurité et n'est plus nativement par défaut activé dans DSM : Autres On coche les 3 options suivantes : Si on souhaite activer SMB3 multicanal, on doit cocher Activer SMB3 multicanal et Activer la lecture asynchrone, le service est ensuite redémarré. AFP, NFS, FTP, rsync et Avancés N'activez que les protocoles et options dont vous avez besoin, autrement laissez les réglages par défaut. _________________________________________________________________________________________________________________________________________________________________________________________ Utilisateur et groupe Utilisateur / Groupe Ce tutoriel n'aborde pas dans le détail la gestion des groupes et utilisateurs, gardez toutefois à l'esprit que : Rationalisez les permissions. Dans le cas d'utilisateurs similaires, créer un groupe reprenant les permissions partagées est plus élégant que de configurer manuellement les droits de chaque utilisateur Limitez les permissions d'un utilisateur ou un groupe au strict nécessaire Compte administrateur alternatif Lors du passage à DSM 7, ou lors d'une nouvelle installation, vous êtes invités à créer un nouveau compte administrateur si votre seul compte administrateur est le compte "admin". Cela permet d'avoir un compte administrateur avec des accès plus robustes (voir Politique de mot de passe), et de désactiver le compte "admin" par défaut, sur lequel vous ne pourrez plus vous connecter. /!\ CETTE ÉTAPE EST OBLIGATOIRE /!\ Configuration du mot de passe On se dirige vers l'onglet Avancé -> Configuration du mot de passe : Espace personnel de l'utilisateur Au bas du menu Avancé on coche Activer le service d'accueil de l'utilisateur, afin que chaque utilisateur dispose de son propre dossier personnel dans homes (homes n'est visible que des membres du groupe administrateurs). ATTENTION : Il est primordial de ne pas toucher aux permissions du dossier homes (visible uniquement par les administrateurs) et aux dossiers home (pour les utilisateurs non administrateurs). _________________________________________________________________________________________________________________________________________________________________________________________ Accès externe QuickConnect Si vous ne souhaitez pas accéder à votre NAS en dehors de votre domicile, désactivez Quickconnect. DDNS Si vous ne souhaitez pas accéder à votre NAS en dehors de votre domicile, vous pouvez ignorer ce passage. Configuration du routeur 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. Deux 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 d'être vérolé 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 Avancé Un onglet 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 : REMARQUE : si vous utilisez le proxy inversé ou le portail des applications de DSM, il n'est pas utilie de configurer ce menu. _________________________________________________________________________________________________________________________________________________________________________________________ Réseau L'onglet Réseau dans le panneau de configuration permet de régler la connectivité de votre appareil et ses interfaces. Interface réseau IPv4 Dans l'onglet Interface réseau, on sélectionne l'interface qu'on souhaite configurer et on clique sur Modifier : Pour obtenir une IP, deux méthodes existent : Le NAS acquiert son IP grâce au serveur DHCP, généralement votre box ou votre routeur. Pour s'assurer que cette IP ne change pas d'une fois à l'autre, il faut faire ce qu'on appelle une réservation statique d'IP dans votre serveur DHCP. Concrètement, cela signifie que pour une adresse MAC donnée (le numéro d'identité de votre carte réseau en quelque sorte), le serveur DHCP attribuera toujours la même adresse IP. On fixe l'IP du NAS directement sur celui-ci, pour cela on choisit Utiliser la configuration manuelle et on choisit une IP. ATTENTION : il faut que l'IP choisie : soit dans la plage IP de votre réseau local soit hors de la plage DHCP d'attribution de votre box/modem. La première méthode a l'avantage qu'en cas de : changement de box de modification de sous-réseau (passer de 192.168.1.0 à 192.168.10.0 par exemple) de déménagement Le NAS restera accessible car il obtiendra une IP dans tous les cas avec un nouveau modem, il ne vous restera plus qu'à le trouver via Synology Assistant. IPv6 A l'heure actuelle, l'IPv6 est bien plus prise en charge par les FAI qu'au temps de la rédaction du tutoriel original, certains mêmes ne proposent plus que de l'IPv6 nativement. Si vous souhaitez l'activer, choisissez Auto : Général Dans l'onglet Général de la catégorie Réseau : Dans Paramètres avancés : Cochez Répondre à la demande ARP si l'adresse IP cible est identique à une adresse locale configurée sur l'interface entrante, cela permet de faire en sorte que les données sortent par leurs interfaces respectives. Cochez Activer la détection des conflits IP, vous aurez des notifications dans DSM si votre NAS rencontre des problèmes de conflit d'IP. Connectivité Cochez Activer HTTP/2 _________________________________________________________________________________________________________________________________________________________________________________________ Sécurité A n'en pas douter la catégorie la plus importante de ce tutoriel ! Le pare-feu a été configuré pour un accès local en tout début de tutoriel. Général Vous pouvez laisser les réglages par défaut Compte Authentification à deux facteurs (2FA) L'authentification à deux facteurs apporte une couche de sécurité supplémentaire, mais elle n'est en aucun cas un remède palliatif à des accès utilisateurs trop faibles. L'authentification à deux facteurs est également plus contraignante en cas de perte du périphérique sur lequel elle est configurée, s'il s'avérait être le seul. Un code de récupération est fourni par DSM pour y retrouver accès, il est impératif de le noter. Si vous souhaitez activer l'authentification à deux facteurs, suivez les étapes suivantes : Adaptive MFA Cochez Activer l'authentification multifacteur adaptative pour les utilisateurs appartenant au groupe administrateurs (pour version de DSM > 7.2) Protection du compte Cochez Activez la protection du compte : Ajuster les valeurs proposées par défaut à votre convenance. Pare-feu - Accès distant Cette section est restreinte au minimum, car le but est ici de sécuriser les accès à votre NAS. A partir du moment où le NAS est accessible depuis l'extérieur, sa surface d'exposition est bien plus importante. Mais vu que nous allons voir comment obtenir un certificat pour votre NAS, il paraît naturel d'évoquer la mise en place d'un accès distant sur celui-ci, pour en savoir plus, c'est par ici : Protection Cochez Activer le blocage auto, ainsi que Activer l'expiration des blocages avec les réglages suivants : Cliquez ensuite sur Autoriser/Bloquer la liste, sélectionnez Créer -> Ajouter une adresse IP, choisissez Sous-réseau et ajouter les deux entrées suivantes : REMARQUE : Si vous avez mis un sous-réseau et masque plus restrictifs que 192.168.0.0/255.255.0.0 dans vos règles de pare-feu, par exemple pour vous conformer au réseau utilisé par votre box, supposons 192.168.1.0/255.255.255.0, vous pouvez dans ce cas spécifier 192.168.1.0/24 dans le menu ci-dessus. Enfin, cochez également Activer la protection DoS. Certificat La mise en place d'un certificat est utile pour : établir un accès distant sécurisé (chiffré) vers votre NAS la mise en place d'un serveur DNS local la mise en place d'un proxy inversé Si les uns et les autres ne vous sont d'aucune utilité, passez à la section suivante. Avancé Dans cet onglet, nous allons régler le niveau de sécurité de chiffrement des services systèmes : La compatibilité moderne correspond à TLS 1.3 qui est maintenant assez répandu, si vous avez des smartphones relativement récents vous ne devriez pas rencontrer de problème. La compatibilité intermédiaire prend en charge TLS 1.3 et 1.2, c'est le choix qui couvrira le plus de périphériques. Depuis la version 7.1 de DSM, il est possible via le menu Paramètres personnalisés de définir séparément le niveau de sécurité utilisé par les applications. _________________________________________________________________________________________________________________________________________________________________________________________ Terminal & SNMP Avancé Je recommande de cocher Activer le service SSH, cela vous donne une porte de secours en cas de problème d'accès à DSM. Si vous deviez rendre accessible le terminal de votre NAS depuis l'extérieur, je recommande très fortement de ne pas faire une simple redirection de port au niveau de votre box mais d'utiliser un serveur VPN, par exemple via le paquet VPN Server. _________________________________________________________________________________________________________________________________________________________________________________________ Portail de connexion DSM Vous pouvez cocher la case Rediriger automatiquement les connexions HTTP vers HTTPS pour le bureau DSM pour vous connecter automatiquement en HTTPS même si l'adresse entrée commence par HTTP. Il est préférable d'avoir mis en place un certificat avant d'activer cette option pour éviter les avertissements de sécurité du navigateur. REMARQUE : Ne pas activer cette option si vous utiliser un proxy inversé pour accéder à vos services DSM. _________________________________________________________________________________________________________________________________________________________________________________________ Options régionales Pour que l'authentification à deux facteurs fonctionne correctement, il est important que vos périphériques soient synchronisés temporellement. Assurez-vous de régler la synchronisation temporelle du NAS sur une source sure, dans Temps puis Paramètres de l'heure, cochez Synchroniser avec un serveur NTP et entrez manuellement l'adresse fr.pool.ntp.org par exemple si vous résidez en France, ou ntp.fdn.org. La liste complète des serveurs NTP peut se trouver à l'adresse suivante : https://www.ntppool.org/zone/@ _________________________________________________________________________________________________________________________________________________________________________________________ Mise à jour et restauration Mise à jour du DSM On clique sur Options de mise à jour, puis on choisit M'avertir et me laisser décider d'installer la nouvelle mise à jour : Synology est coutumière de déploiements erratiques de ses mises à jour, donc suivez ces quelques conseils : Prenez le temps de lire les notes de patch lors de la sortie d'une nouvelle version de l'OS, il se peut qu'elle n'apporte rien dans votre utilisation du NAS N'appliquez de préférence une mise à jour que si elle est proposée automatiquement par le système (évitez les mises à jour manuelles) Sauf correctifs de sécurité importants, ne vous précipitez pas pour appliquer une mise à jour, laissez le temps aux développeurs et aux autre utilisateurs le soin de se casser les dents dessus, il y en a suffisamment sur le forum. 😉 Sauvegarde de configuration Si vous avez lié votre compte Synology à votre NAS, par le biais de la configuration du DDNS ou via la section Compte Synology dans le panneau de configuration, vous avez la possibilité d'enregistrer automatiquement la configuration de votre NAS dans votre espace client Synology. C'est une option intéressante et je recommande de l'activer : IMPORTANT : Avoir une sauvegarde automatique de la configuration dans le cloud ne dispense pas de disposer d'une version locale de celle-ci. En cas de changement notable dans votre configuration, pensez à faire une Exportation manuelle de la configuration, et à la copier sur un ou plusieurs périphériques : PC, clé USB, disque externe, etc... _________________________________________________________________________________________________________________________________________________________________________________________ Privilèges d'application Pas de recommandation spécifique à ce sujet, vous pouvez décider de restreindre les privilèges accordés par défaut à TOUS les utilisateurs dans cette catégorie, ou bien laisser les autorisations et restreindre au niveau de permissions de groupe et d'utilisateur. A titre personnel, je trouve plus simple de régler de façon granulaire les accès des groupes et utilisateurs dans la catégorie Utilisateur et groupe. _________________________________________________________________________________________________________________________________________________________________________________________ MAJ : 07/11/2023
-
[TUTO] Piwigo une alternative à Photo Station
Préambule au préambule : Aout 2025, à savoir avant d'acheter un NAS SYNOLOGY Attention la série 2025 , dont le DS925+, n'accepte que des disques durs de marque SYNOLOGY, de la mémoire SYNOLOGY et des SSD SYNOLOGY SYNOLOGY précise "Synology ne fournira pas d'assistance technique si votre périphérique ne figure pas dans la liste de compatibilité des produits Synology". Pour les modèles antérieurs Synology publie une liste de disques durs compatibles : Seagate, Toshiba, Western Digital. DSM 7.3 est disponible : Synology fait (enfin) marche arrière sur les disques durs tiers ! Préambule : Utilisateur de PHOTO STATION depuis de nombreuses années, j'ai constaté et regretté sa disparition avec l'arrivée de DSM 7. Actuellement j'ai installé mon 'ancien' PHOTO STATION sur un DSM Virtuel en version 6.2 pour assurer la continuité de mes partages. Néanmoins force est de constater que malgré de très nombreuse demandes de ses clients SYNOLOGY persiste à ne pas vouloir réimplanter PHOTO STATION dans DSM7, et le développement de SYNOLOGY PHOTO va certainement se poursuivre avec d'autres objectifs, qui sont en résumé de cloner GOOGLE PHOTO. A noter les publicités insistantes pour SYNOLOGY PHOTOS sur les liens de partage de documents ... C'est pourquoi j'ai testé pas mal de solutions alternatives de partage de photos sur internet ( PhotoPrism, Libre Photo, Lychee, Photoview etc ..) et finalement après avoir pas mal galéré pour l'installer, j'ai trouvé les fonctionnalités de Piwigo très intéressantes, proches de celles de PHOTO STATION, voire mieux puisque l'on peut enfin avoir des Albums et des sous-albums imbriqués, sans aucune limite. D'où ce tuto pour installer Piwigo en tant que site web sur un NAS Synology pour ceux qui ont l'envie de voir par eux mêmes ce qu'il en est. ( Il existe aussi une version Docker que je n'ai jamais réussi à faire fonctionner pleinement ) Après plus de deux ans d'utilisation, 100 000 photos et 1 300 albums, une fluidité sans égal par rapport à Photo Station , il n'y a pas photo 😉 [TUTO] INSTALLER PIWIGO SUR UN NAS SYNOLOGY – DSM7 Installation de Piwigo sur un NAS Synology pour gérer la publication des photos et vidéos situées dans un ou plusieurs répertoires partagés. Les photos sont intégrées à piwigo par la méthode de synchronisation, on n’utilise pas la méthode ajouter des photos pour ne pas créer des doublons. On peut probablement utiliser ‘photos’ mais il y a peut-être des effets de bord si on utilise simultanément Synology Photos. Le gros plus de Piwigo est de permettre d’afficher des albums physiques ou virtuels, imbriqués de manière illimitée. 1 Installation des paquets Installer les paquets suivants : Web Station Apache HHTP 2.4 PHP8.2 MariaDB 10 et phpMyAdmin 2 Paramétrage des paquets 2.1 Créer avec File Station un répertoire sous web, pour l'exemple 'photo_charles' sous web 2.2 Web Station ( mis à jour avec DSM 7 ) 1 - Dans 'paramètre du langage de script ' onglet 'PHP' créer un profil personnalisé onglet : 'Paramètres' Nom : 'Piwigo 8.2', Description ; 'Piwigo PHP 8.2' ; version 'PHP 8.2' cocher 'Activer le cache PHP' onglet : 'Extensions' cocher 'exif' 'gd' 'imagick' 'mysqli' 'zip' 'zlib' 2 - Dans 'Service Web' Créer un service web , choisir 'un site web en langage de script natif' Service : 'PHP 8.2' , dans la liste déroulante choisir le profil créé précédemment 'Piwigo 8.2' Nom : 'photo_charles' Profil : choisir dans la liste le profil php 'Piwigo 8.2' Description : 'Photo Charles' Racine du document : sélectionner ..web/photo_charles Serveur principal HTTP sélectionner 'Apache HTTP Server 2.4' ( ça fonctionne aussi avec Nginx ) 3 - Dans 'Portail Web' Créer un portail , choisir 'Portail de service Web' Service, choisir celui créé précédemment 'photo_charles' Type de portail 'Basé sur le nom' Nom d'hôte : 'photo_charles' cocher : port 80/443 Les autorisations d'accès aux répertoires données Webstation sont insuffisants, pour pouvoir installer Piwigo, il faut d’abord donner des droits d’accès aux dossiers : - En lecture pour le groupe http sur les répertoires photos/vidéos que l'on souhaite associer à Piwigo - En lecture et écriture pour le groupe http sur les répertoires : ./photo_charles/_data ./photo_charles/galleries ./photo_charles/plugins ./photo_charles/themes ./photo_charles/local 2.3 MariaDB Créer un mot de passe fort, le login étant root 2.4 phpMyAdmin Ouvrir avec root et le mot de passe précédent Créer un nouvel utilisateur, 'charles_admin' avec un mot de passe fort Cocher ‘privilèges globaux tout cocher’ Créer une base de données, nom : 'photo_charles' (L’installateur piwigo créera les tables ultérieurement) 3 Installation de piwigo Sur le site de Piwigo https://fr.piwigo.org/obtenir-piwigo Télécharger le fichier 'piwigo-16.2.0.zip', dézipper le fichier zip dans le répertoire ./web/photo_charles ( mise à jour décembre 2025 ) L’adresse du NAS étant 192.168.1.20 saisir dans le navigateur http://192.168.1.20/photo_charles ou cliquer sur le raccourci dans Web Station. On arrive sur la page Piwigo installation Compléter les champs comme indiqué Cliquer sur ‘Démarrer l’installation’ On arrive sur cet écran : Ne cliquer pas sur 'je veux ajouter des photos' !!! Mais sur ‘je me débrouillerai par moi-même’ L’objectif étant d’accéder aux photos situées dans le NAS sans créer de doublon. Dans la page qui s'affiche, sélectionner 'Admin' Qui va vous donner accès au menus de gestion de l'application Aller dans Plugins et activer 'LocalFiles Editor' et 'Admin Tools' 4 Paramétrage de piwigo Aller dans le plugin : LocalFiles Editor > configuration Ce plugin permet de compléter le fichier de configuration de Piwigo d’une manière simple. Ajouter les lignes suivantes dans 'configuration locale ': $conf['picture_ext'] = array('jpg','JPG',’jpeg’,’png’); // pour limiter les extensions à prendre en compte $conf['sync_exclude_folders'] = array('@eaDir'); // pour exclure des répertoires Les répertoires ‘@eaDir’ sont des répertoires cachés propres à Synology. On peut ajouter d’autres répertoires à exclure dans cette liste, par exemple si on a utilisé Picasa au préalable il faut rajouter ‘.Originals’ et ‘.picasaoriginals’, ou encore ‘raw’ si les raw sont stockés dans des répertoires ‘raw’ de l’arborescence. le plugin ‘Admin Tools’ ajoute des raccourcis utiles pour administrer le site. 5 Vérification de la configuration Menu Administration > Outils > Maintenance : Environnement On peut vérifier que PHP et MySQL, ainsi que la bibliothèque graphique ImageMagick sont correctement installés. 6 Synchronisation avec le ou les répertoires contenant les photos Normalement on devrait pouvoir utiliser le ’Gestionnaire des sites’ pour créer des liens sur les répertoires du nas où se trouvent les photos. Mais en pratique cette méthode occasionne de nombreux dysfonctionnements. Pour éviter ces dysfonctionnements il suffit de créer des liens symboliques sur le NAS, et on obtient ainsi un fonctionnement correct de la synchronisation de Piwigo. Avertissement : Maintenant on va entrer dans les entrailles du NAS, il faut être prudent car on peut gravement endommager le NAS en faisant une fausse manipulation. Cette solution nécessite de se connecter au NAS en SSH Il faut au préalable autoriser l’accès au NAS en SSH, dans le panneau de configuration : ‘Terminal & SNMP’ > Terminal : cocher ‘activer le service SSH, par sécurité modifier le port SSH par défaut. On peut accéder au NAS en SSH avec le logiciel Putty ( https://www.putty.org ) On arrive sur cette fenêtre Saisir votre login et mot de passe : Login as: ADMIN ADMIN@192.168.1.20's password: Synology strongly advises you not to run commands as the root user, who has the highest privileges on the system. Doing so may cause major damages to the system. Please note that if you choose to proceed, all consequences are at your own risk. Could not chdir to home directory /var/services/homes/ADMIN: No such file or directory ADMIN@Mon_NAS:/$ Ensuite on passe en mode sudo (super utilisateur) ADMIN@Mon_NAS:/$ sudo -i Password: root@Mon_NAS:~# Se positionner dans le répertoire ‘galleries’ de piwigo : roo@Mon_NAS:~# cd /volume1/web/photo_charles/galleries Pour faire un lien symbolique ‘nom_du_lien’ sur un répertoire ‘repertoire_cible’ la syntaxe est : cible nom du lien ln -s repertoire_cible’ ‘nom_du lien’ root@Robert:/volume1/web/photo_charles/galleries# ln -s /volume1/photo_test lien_photo_test On peut créer plusieurs liens symboliques. Quand on fait un dir dans le répertoire ‘galleries’ les liens symboliques s’affichent en cyan, sous la forme : ‘nom_du_lien’ -> ‘repertoire_cible’ Pour supprimer un lien symbolique la syntaxe est : unlink nom_du lien Pour avoir la liste de tous les liens symboliques se placer à la racine et saisir : find . -type 1 Quand tous les liens sont créés, quitter Putty. Revenir dans l’application Piwigo, et lancer Administration > Outils > Synchroniser : synchronisation (./galleries) 7 La syntaxe des noms des répertoires et des fichiers Le manuel de Piwigo préconise de n’utiliser ni espace, ni caractères accentués dans les noms des répertoires et des fichiers. On peut passer outre à ces recommandations en ajoutant avec le plugin LocalFiles Editor : // permet les caractères accentués et l'espace ( juste avant le \ ) dans les noms de fichiers // pour l'apostrophe ça ne marche pas $conf['sync_chars_regex'] = '/^[a-zA-Z0-9éè~àâ%&êñ!ûëçïÁÂÀô`‘’()-_. \']+$/'; (Merci à k5 de piwigo.org pour l’info) Ceci autorise dans les noms de répertoires et des fichiers photo les caractères accentués et les espaces. J’utilise cette fonctionnalité, et à ce jour avec 90000 photos et 1200 albums ça marche, à l’exception de l’apostrophe que j’ai dû supprimer de quelques noms de répertoire. Si les albums créés dans piwigo ne sont pas ceux attendus on peut toujours supprimer le lien symbolique, les répertoires et les photos originales ne sont pas affectés, et on peut faire de nouveaux essais, jusqu'à la présentation attendue. 8 Le classement des photos, la structure des répertoires et les albums Lorsque l’on active la synchronisation de ‘galleries’, Piwigo va parcourir les liens symboliques créés dans ‘galleries’ et pour chaque répertoire il va créer (ou mettre à jour) automatiquement un album et créer des miniatures pour chaque photo. C’est donc la manière dont on a classé les photos qui va conditionner la création des albums. Personnellement mes photos sont classées par date, en deux catégories (photos numériques et scans) selon le schéma suivant : NAS | |__ Mes Photos | |__ photo | | |__ 2000-2009 | | |__ 2000 | | … | | |__ 2009 | | … | | |__ 2010-2019 | | … | | |__ 2020-2025 | | | |__ scan | |__ 1920-1949 | |__ 1950-1979 | |__ 1980-1989 | |__ 1990-1999 | |__ Mes Vidéos | |__ web |__ photo_charles C’est la manière dont sont définis les liens symboliques qui va déterminer l’arborescence des albums de base dans piwigo Exemple 1 Lien_photo -> /volume1/Mes Photos/photo Va créer 3 albums de niveau 1 ( 2000-2009, 2010-2019, 2020-2025 ) Lien_scan -> /volume1/Mes Photos/scan Va créer 4 albums de niveau 1 ( 1920-1949, 1950-1979, 1980-1989, 1990-1999 ) Au final ces 2 liens vont créer 7 albums de niveau 1, et des albums pour tous les sous-répertoires selon l'arborescence. Exemple 2 Lien_photo -> /volume1/Mes Photos Va créer 2 albums de niveau 1 ( photo, scan ) et tous les albums correspondants aux sous-répertoires. Exclusion des répertoires à ne pas intégrer à piwigo On peut exclure des répertoires, mettant la ligne suivante dans le plugin LocalFiles Editor : $conf['sync_exclude_folders'] = array('@eaDir',’raw’,’edition’); On va ainsi exclure les répertoires ‘raw’ et ‘edition’ ; à compléter avec tout autre répertoire que l’on ne souhaite pas voir comme album. Pour lancer une synchronisation : Administration > Outils > Synchroniser : synchronisation ./galleries Smart Albums - albums automatiques Les liens entre les photos sur le NAS et piwigo étant définis, on peut ensuite réaliser des albums personnalisés selon les thèmes voulus (voyages, famille, portrait etc … ) avec le plugin ‘SmartAlbums’ en utilisant les ‘tags’ des photos. (merci à mistic100 pour ce plugin !! ) A noter : pour que l’album apparaisse la première fois, il est impératif de définir une photo comme ‘représentante’ pour l’album. Pour la gestion des ‘tags’ j’utilise le logiciel open source DIGIKAM ( https://www.digikam.org ) qui permet de gérer les tags de manière hiérarchique, et surtout d’écrire les métadonnées dans les photos. Aussi si on change de logiciel de présentation, ou bien en cas de problème avec la base de données de piwigo , les tags sont toujours là !! On peut gérer la hiérarchie des tags comme on le souhaite, avec la possibilité de sélectionner ou non chaque niveau. Album voyage Pays 1 Pays1 ville 1 Pays1 ville 2 Pays 2 Faune Oiseau Mésange Mésange charbonnière Mésange bleue Chardonneret Mammifère Chamois On peut aussi renommer, supprimer ou fusionner les tags très facilement. DIGIKAM intègre également un module de reconnaissance faciale. DIGIKAM intègre aussi un éditeur photo très sommaire pour les jpg Pour l’édition des raw j’utilise le logiciel open source DARKTABLE ( https://www.darktable.org/install/ ) Album classique Outre les 'Smart Albums' l'interface de piwigo permet de créer sa propre architecture d'album, et d'y associer des photos qui seront sélectionnées dans les albums de base. 9 Inclure des vidéos mp4 dans les galeries de photos Piwigo ne lit pas nativement les vidéos, il faut installer le plugin ‘VideoJS’ Créer un lien symbolique entre les vidéos du nas et pwigo. Lien_video -> /volume1/Mes Vidéos Activer le plugin VideoJS, dans la configuration du plugin choisir lecteur : Native Browser Lancer une synchronisation : Administration > Outils > Synchroniser : synchronisation ./galleries Les vidéos vont être reconnues comme des photos, et un album 'Mes Vidéos' va être créé. Ensuite on peut associer les vidéos aux albums souhaités de la manière suivante. Lancer la commande : Administration > Photos > Gestion par lot : All videos > sélectionner une ou plusieurs vidéos > Action : Associer à l'album : choisir un album > Appliquer l'action La ou les vidéos choisies vont apparaitre dans l'album sélectionné. Elle seront représentées par une icône de pellicule de cinéma. L'icône représentant la pellicule se nomme mp4.png et se trouve dans ./piwigo/plugins/piwigo-videojs/mimetypes, on peut la remplacer par ce que l'on veut. Si l’on souhaite afficher une image de la vidéo en lieu et place de l’icône, il faut en extraire une image (avec l’appareil photo dans vlc par exemple), il faut donner à ce fichier jpg ou png le même nom que la vidéo, et placer ce fichier dans un répertoire nommé ‘pwg_representative’ qui sera positionné sous le répertoire contenant la vidéo. Un clic sur l'icône et c'est partie pour la séance de cinéma ... (testé sur Firefox, Edge, Chrome et Opéra) 10 Groupe, Utilisateurs et Permissions Avant de publier votre site, créer des groupes avec des utilisateurs pour définir qui verra quoi. A noter que le webmaster, le 1er utilisateur créé ne voit pas les albums privés. Pour qu’il puisse les voir pensez à créer un groupe qui voit tout et mettez le dedans !! En ce qui me concerne les albums issus des liens symboliques sont privés à usage de l’administrateur, et les albums créés avec ‘SmartAlbums’ sont soit Publics, soit Privés selon les cas. 11 Documentation - Personnalisation de l’interface La documentation complète de piwigo se trouve là : https://doc-fr.piwigo.org/ On peut personnaliser l'application avec de nombreux plugins : https://fr.piwigo.org/ext/ Un grand merci à ceux qui développent et maintiennent Piwigo !!! DARKTABLE + DIGIKAM + PIWIGO = le trio gagnant !!! _______________________________________________________________________________________ PS : n’hésitez pas à commenter, et à critiquer ce tuto, je le mettrai à jour si besoin. Première version 14/01/2023, V2 - Mise à jour 02/02/2023, V3 – Mise à jour 06/02/2023 V4 – Mise à jour 17/03/2023, V5 – Mise à jour 16/04/2023, V6 - Mise à jour 22/12/2024 ( suppression du § Gestionnaire de sites ) V7 - Mise à jour 21/02/2024 ( DSM7 , Piwigo 15.3 ) V8 - Mise à jour 02/01/2026 (DSM7.3 12/2025 recul sur la politique restrictive des disques, http lecture et http lecture + écriture ( à la place de SYSTEM )
-
[Tuto] AdGuard Home + Docker + Livebox + BoxTV
Bonjour à tous, Voici mon retour d’expérience et donc un tuto sur la mise en place de Adguard Home via docker (Synology) avec un réseau macvlan sur une Livebox 6. Avec pour but que les DNS soit automatiquement affecter aux périphériques via le serveur DHCP. Contexte : La livebox 6 (idem sur les anciennes box) ne permet pas de modifier les DNS dans son serveur DHCP. Il faut donc passer le serveur DHCP sur un autre équipement. Inconvénient le décodeur TV Orange s'attend à communiquer avec le DHCP de votre Livebox et aucun autre serveur DHCP. Du coup, vous allez avoir un message d'erreur sur votre box TV et vous n'aurez accès à aucun service. Pour résoudre ce problème, il faut ajouter une configuration spéciale (option 125) au nouveau serveur DHCP, afin d’émuler le comportement de la Livebox et faire croire à votre box TV que tout va bien. Si vous ne faites pas cela vous allez obtenir, par exemple, une erreur G03 (ou un écran tout blanc) lors du démarrage de votre décodeur TV UHD. Prérequis : Une livebox avec sa box TV Un NAS Synology Docker sur le NAS Synology (Je n’ai pas Container Manager mais cela sera fonctionnel avec) Un logiciel pour se connecter en SSH au NAS ( PuTTY ) Un éditeur de texte (Exemple : Notepad++) Installation : Installation via Docker sur mon Nas Synology (DS415+) Installation du réseau MacVLAN pour le futur conteneur AdGuard Home AdGuard Home avec DHCP et règle 125 via docker sur le Synology Je n’utilise pas le serveur DHCP du Synology, car je ne sais pas modifier la règle 125 sur ce serveur. Avant de rentrer dans le vif du sujet, je voudrais remercier toutes les personnes qui ont partagées leurs connaissances pour arriver à mes fins. Je n’ai rien inventé, j’ai juste compilé les informations glanées à droite et à gauche. Vous pouvez reprendre toutes mes infos pour les partager au monde entier. Merci à @.Shad. pour ces deux tutos (Docker) et (MACVLAN). Merci à @MilesTEG1 qui partage ces scripts et le docker-compose dans le topic de Adguard (ici) fait par @CyberFr Et surtout merci à LapinFou et JPA54 du forum framboise314.fr qui explique l’option 125 du DHCP (ici), sans qui la box TV ne serait pas en fonction. Sommaire : Installation de réseau MACVLAN Création du réseau MACVLAN Création de l'interface virtuelle Création de la tâche de rétablissement de l'interface virtuelle au redémarrage Création de l’instance Adguard Home Création du docker-compose Lancer le docker-compose Faire fonctionner la BoxTV. Création du DHCP dans AdGuard Home Modification du fichier .yaml (Regle 125 du DHCP) Désactiver le DHCP de livebox Réserver l’IP dans le DHCP d’AdGuard Home Paramètre du client (BoxTV) dans AdGuard Home Paramétrage de Adguard Home Paramétrage des périphériques AdGuard Home + DOCKER + MACVLAN + LIVEBOX Installation du réseau MACVLAN Création du réseau MACVLAN Je vous conseil d’aller lire le tuto de @.Shad. dans la partie 11 pour en apprendre plus : [TUTO] Docker : Introduction - Tutoriels - NAS-Forum Je ne vais pas refaire l’explication, tout est dit par @.Shad. Le but est de créer un fichier script qu’on va activer via Putty. Vous pouvez récupérer le fichier à modifier sur le GITUB de MilsTEG1 : Synology-Docker-Adguard-Home-in-a-macvlan-network/docker_network_create_macvlan.sh at main · MilesTEG1/Synology-Docker-Adguard-Home-in-a-macvlan-network · GitHub Où créer un fichier que vous nommez ainsi docker_network_create_macvlan.sh Puis vous l’éditer avec Notepad++ avec cela : #!/bin/bash ##========================================================================================## ## Script macvlan-network.sh ## ## ## ## Script de création d'interface virtuelle pour le conteneur AdGuardHome_macvlan ## ## Voir tuto : https://www.nas-forum.com/forum/topic/69319-tuto-docker-macvlan-pi-hole/ ## ## ## ##========================================================================================## echo "$(date "+%R:%S - ") Script de création de réseau macvlan pour DOCKER" echo "$(date "+%R:%S - ") Un réseau macvlan-network sera créé avec cinq IP macvlan de 192.168.1.145 à 192.168.1.150" echo "$(date "+%R:%S - ") avec la commande suivante :" echo "$(date "+%R:%S - ") docker network create -d macvlan \ " echo "$(date "+%R:%S - ") --subnet=192.168.1.0/24 \ " echo "$(date "+%R:%S - ") --ip-range=192.168.1.144/29 \ " echo "$(date "+%R:%S - ") --gateway=192.168.1.1 \ " echo "$(date "+%R:%S - ") -o parent=eth0 \ " echo -e "$(date "+%R:%S - ") macvlan-net\n" docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --ip-range=192.168.1.144/29 \ --gateway=192.168.1.1 \ -o parent=eth0 \ macvlan-network echo -e "\n\n$(date "+%R:%S - ") Liste des réseaux docker : docker network ls\n" docker network ls echo -e "\n$(date "+%R:%S - ") Script terminé\n" exit Notes : - 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 peut vous aider à trouver la plage que vous voulez. Voici mon exemple : IPv4/IPv6 – Subnet Calculator | CIDR/EU Ainsi j’aurai 5 IP de disponible dans le réseau MACVLAN qui seront de 192.168.1.145 à 192.168.1.1.150. On expliquera plus tard comment affecter l’IP au conteneur via le docker-compose. 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. Mon DHCP est et sera de 192.168.1.50 à 192.168.1.65 et la plage de MACVLAN 192.168.1.145 à 192.168.1.150 Adapter ces valeurs en fonction de votre réseau. - gateway => c'est notre passerelle, vu qu'on est sur le réseau physique c'est généralement votre box ou votre routeur. En l’occurrence pour une livebox : 192.168.1.1 - parent => c'est le nom de l'interface physique. Pour la connaitre, lancer putty : Taper l’adresse IP de votre NAS et cliquer sur OPEN (Penser à activer pour les manipulations le service SSH dans le DSM de votre NAS = PanneauConfiguration\Terminal & SNMP) Entrer votre login administrateur du Synology, valider avec la touche entrée. Taper le mot de passe administrateur (il n’apparait pas quand vous taper, cela est normal) , valider avec la touche entrée. Taper ifconfig, valider avec la touche entrée. Chercher le nom du réseau qui correspond à l’IP de votre NAS. Sur mon exemple et mon NAS Synology DS415+, le nom est donc eth0 Enregistrer ce fichier puis connectez vous au DSM de votre NAS et lancer File Station. Dans le dossier docker, je vous conseil de créer un dossier FICHIERS puis 2 sous dossiers SCRIPTS & COMPOSE. Placer le fichier fraichement créer dans /volume1/docker/FICHIERS/SCRIPTS Lancer PuTTY et connectez-vous en root. Pour cela taper cela sudo -i Ensuite il faut se placer dans le dossier où est le script : cd /volume1/docker/FICHIERS/SCRIPTS On accorde les permissions (pas sûr que cela soit nécessaire) chmod 740 docker_network_create_macvlan.sh On exécute le script bash docker_network_create_macvlan.sh Si tout va bien, on obtient une suite de caractères, cela signifie que le réseau est créé. Et vérifier qu'il apparaît bien dans la liste. En cas d'erreur dans la transcription, il suffit de supprimer le réseau malformé pour recommencer : docker network rm macvlan-network 2. Création de l'interface virtuelle On va créer un second script. Vous pouvez récupérer le script orignal toujours sur le GITHUB de MilesTEG1 : Synology-Docker-Adguard-Home-in-a-macvlan-network/bridgemacvlan-interface.sh at main · MilesTEG1/Synology-Docker-Adguard-Home-in-a-macvlan-network · GitHub Où créer un fichier que vous nommez ainsi bridgemacvlan-interface.sh Puis vous l’éditer avec Notepad++ avec cela : #!/bin/bash ##===========================================================================================## ## Script bridgemacvlan-interface.sh ## ## ## ## Script de création d'interface virtuelle pour les conteneurs en macvlan ## ## Voir tutos : ## ## https://www.nas-forum.com/forum/topic/69319-tuto-docker-macvlan-pi-hole/ ## ## https://www.nas-forum.com/forum/topic/67311-tuto-certificat-ssl-reverse-proxy-via-docker/ ## ## ## ## Vérifier la bonne création de l'interface avec la commande suivante : ## ## ifconfig | grep -A 9 macv0 ## ## ## ##============================================================================================= # Set timeout to wait host network is up and running sleep 60 echo "$(date "+%R:%S - ") Script de création d'une interface virtuelle pour le NAS" echo "$(date "+%R:%S - ") Exécution des commandes..." ip link add macv0 link eth0 type macvlan mode bridge # macv0 : est le nom données à l'interface virtuelle # eth0 : est l'interface réseau utilisée sur le NAS (lorsque VMM n'est pas utilisé) # si VMM est utilisé, ce sera ovs_eth0 ip addr add 192.168.1.200/32 dev macv0 # Adresse IP virtuelle 192.168.x.zzz/32 -- Il faut que cette adresse soit libre dans le réseau # et qu'elle ne fasse pas partie du DHCP du routeur/box ip link set dev macv0 address 5E:11:4F:AF:D6:D2 # MAC adresse pour l'adaptateur ayant l'IP virtuelle # Il faut que l'adresse MAC respecte ces conditions : # - Elle n'existe pas déjà sur mon hôte et sur mon réseau. # - Elle respecte la base hexadécimale, les notations allant de 0 à F. # - Le premier nombre doit être pair, ici 5E = 94 en base 10, c'est donc OK (vous pouvez # utiliser un convertisseur en ligne, ou faire vos divisions euclidiennes). # S'il est impair, vous aurez un message : # RTNETLINK answers: Cannot assign requested address ip link set macv0 up ip route add 192.168.1.144/29 dev macv0 # 192.168.xxx.MMM/29 : Plage d'adresse macvlan # IP réellement disponible : voir les calculateurs internet # /29 = 5 IP - /32 = 1 IP #### Dans mon cas, c'est cette commande : #### ip route add 192.168.1.144/29 dev macv0 echo "$(date "+%R:%S - ") Script terminé" exit Notes : 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, macv0 par exemple, peu importe - <interface_physique> => eth0 / idem que sur le premier script - <IP_virtuelle> => il l faut que cette adresse soit libre dans le réseau et qu'elle ne fasse pas partie du DHCP du routeur/box et du réseau MACVLAN. Je choisi la 192.168.1.200 qui se traduit par 192.168.1.200/32. - <adresse MAC> => on peut définir une adresse MAC pour notre interface. Il faut que cette adresse soit libre dans le réseauet qu'elle ne fasse pas partie du DHCP du routeur/box. - <Plage_DHCP_réseau_macvlan> => ça correspond à --ip-range dans le script plus haut Enregistrer le fichier et placer le, toujours avec File Station dans /volume1/docker/FICHIERS/SCRIPTS Revenez dans putty et placer vous dans ce dossier cd /volume1/docker/FICHIERS/SCRIPTS On accorde les permissions (pas sûr que cela soit nécessaire) chmod 740 bridgemacvlan-interface.sh On exécute le script bash bridgemacvlan-interface.sh On vérifie en tapant : ifconfig | grep -A 9 mac0 Ce qui doit donner un résultat du type : 3. Création de la tâche de rétablissement de l'interface virtuelle au redémarrage L’interface ne persiste pas au redémarrage du NAS, on va pour cela définir une tâche planifiée, il faut aller dans DSM -> Panneau de configuration -> Planificateur de tâches -> Créer -> Tâche déclenchée : Puis on valide. REMARQUE : Lorsqu'on stoppe docker, ou qu'on le met à jour, l'interface disparaît également. La tâche n'étant lancée qu'au démarrage, vous devrez réexécuter la tâche manuellement pour rétablir l'interface. 2. Création de l’instance Adguard Home 2.1. Création du docker-compose Le fichier docker-compose est encore est toujours récupérable sur le GITHUB de MilesTEG1 : Synology-Docker-Adguard-Home-in-a-macvlan-network/docker-compose.yml at main · MilesTEG1/Synology-Docker-Adguard-Home-in-a-macvlan-network · GitHub On le modifie avec notepad++. Je n’indique que les parties que j’ai modifié hostname: AdGuard-Home--DS415+ Permet d'avoir un nom pour le conteneur dans AdGuard lui-même (sinon c'est une chaine aléatoire) Environment: PUID=1*** PGID=1** Pour récupérer l’info, voici un excellent tuto : NAS Synology - Récupérer l'UID et le GID d'un utilisateur (it-connect.fr) #volumes: Je n’ai pas touché au volume. Cependant j’ai créé les dossiers /volume1/docker/adguardhome_macvlan/work & /volume1/docker/adguardhome_macvlan/conf avant de lancer le fichier docker-compose.yml networks: macvlan-network: ipv4_address: 192.168.1.150 Mettre ici l'IP macvlan dans la plage définie dans les scripts. Pour rappel ma plage MACVLAN est 192.168.1.145 à 192.168.1.150 networks: macvlan-network : # Le nom du réseau créer via le script docker_network_create_macvlan.sh (ligne 27) Ce qui donne pour moi (il faut modifier PUID & PGID) : ##============================================================================================== ## ## ## Fichier docker-compose.yml pour Adguard-Home en macvlan ## ## ## ##============================================================================================== ##============================================================================================## ## ## ## Attention, il faut créer le réseau macvlan à l'aide du script : macvlan-network.sh ## ## Ce dernier va créer un réseau macvlan ayant comme IP unique 192.168.1.150 ## ## Cette IP doit être dans la plage d'IP mavclan définie dans le script de création du réseau.## ## Le conteneur sera donc vu comme une machine sur le réseau LAN, mais ne pourra pas être ## ## joint par le NAS lui-même. ## ## Pour celà, il faut utiliser le second script : boot-bridgemacvlan-interface.sh ## ## Ce dernier va créer une IP-interface virtuelle qui pourra être accessible par le NAS. ## ## Cette interface ne persiste pas au démarrage, il faudra mettre le script en tâche ## ## planifiée avec le planificateur de tâches dans DSM. ## ## ## ## Voir tuto : https://www.nas-forum.com/forum/topic/69319-tuto-docker-macvlan-pi-hole/ ## ## ## ## Attention ! ## ## ## ## Ces deux scripts ne sont à utiliser qu'une seule fois, quelque soit le nombre de ## ## conteneurs qui en bénéficieront. ## ## Par exemple, si vous utilisez 2 conteneurs en macvlan, une fois le réseau macvlan créé ## ## pour le 1er, il est inutile (et impossible) de le recréer. ## ## Le script boot-bridgemacvlan-interface.sh ne doit être lancé qu'une seule fois, et à ## ## chaque reboot. L'IP virtuelle est unique, il ne faut pas en recréer une seconde. ## ## ## ##============================================================================================== --- version: "2.4" services: adguardhome_macvlan: image: adguard/adguardhome:latest # https://github.com/AdguardTeam/AdGuardHome # https://github.com/AdguardTeam/AdGuardHome/wiki/Docker container_name: adguardhome_macvlan hostname: AdGuard-Home--DS415+ # Permet d'avoir un nom pour le conteneur dans AdGuard lui même (sinon c'est une chaine aléatoire) environment: - PUID=1*** # Utiliser la commande (en SSH) : id NOM_UTILISATEUR - PGID=1** # Utiliser la commande (en SSH) : id NOM_UTILISATEUR - TZ=Europe/Paris - LANG=fr_FR.UTF8 - LANGUAGE=fr_FR.UTF8 volumes: - "/volume1/docker/adguardhome_macvlan/work:/opt/adguardhome/work" - "/volume1/docker/adguardhome_macvlan/conf:/opt/adguardhome/conf" # La déclaration des ports n'est pas utile lors d'une installation en macvlan, car tous les ports seront directement accessible # avec l'IP virtuelle. # ports: # - "953:53" # - "967:67/udp" # - "968:68" # - "8080:80/tcp" # - "9443:443/tcp" # - "9853:853/tcp" # - "3030:3000/tcp" networks: macvlan-network: ipv4_address: 192.168.1.150 # Mettre ici l'IP macvlan dans la plage définie dans les scripts # Dans mon cas c'est 192.168.1.150 restart: unless-stopped healthcheck: test: "/bin/netstat -pant | /bin/grep 53" interval: 45s timeout: 30s retries: 3 networks: macvlan-network: # Ce réseau devra bien entendu être créé avant avec le script annexe ligne27 external: true Enregistrer le fichier. Placer le, toujours avec File Station, dans /volume1/docker/FICHIERS/COMPOSE/ADGUARD. Créer le dossier ADGUARD s’il n’existe pas. 2.2. Lancer le docker-compose Revenez dans PuTTY, placer vous dans le dossier : cd /volume1/docker/FICHIERS/COMPOSE/ADGUARD Création du conteneur docker-compose up -d Attendre quelques secondes/minutes (en fonction de la puissance de votre NAS). Félicitations, votre Adguard Home est fonctionnel ! Vous pouvez y accéder via un navigateur dans votre réseau local en http://192.168.1.150:3000 Il n’est pas accessible en https. Sélectionner l’interface d’écoute par l’IP choisi dans le docker-compose en l’occurrence pour nous 192.168.1.150. Ne pas toucher au port. Ne pas toucher au serveur DNS et cliquer sur Suivant Créer un utilisateur avec son mot de passe puis toujours suivant. Vous êtes maintenant sur votre instance AdGuard Home. 3. Faire fonctionner la BoxTV Afin de faire fonctionner la box TV nous réaliser ces actions : Création du DHCP dans AdGuard Home Modification du fichier .yaml pour la règle 125. Désactiver le DHCP de livebox Réserver l’IP dans le DHCP d’AdGuard Home Paramètre du client (BoxTV) dans AdGuard Home 3.1. Création du DHCP dans AdGuardHome Cliquer sur Paramètres Cliquer sur Paramètres DHCP Rentrer l’IP de la passerelle de votre livebox (d’origine 192.168.1.1) Rentrer l’IP du début de la plage IP de votre DHCP (pour moi 192.168.1.50) Rentrer l’IP de la fin de la plage IP de votre DHCP (pour moi 192.168.1.65). J’aurai donc 15 périphériques qui pourront se connecter sur mon DHCP. A vous d’adapter ces chiffres en évitant ces IP (192.168.1.145 à 192.168.1.150 & 192.168.1.200) Rentrer 255.255.255.0 Sauvegarder la configuration 3.2. Modification du fichier .yaml pour la règle 125. Afin d’ajouter l’option 125 dans le fichier AdGuardHome.yaml qui permettra de faire croire à la BoxTV que son IP soit fourni par la Livabox, il faut créer la bonne ligne. Tout est super bien expliquer dans le tutorial de LapinFou : [Tuto] Pi-Hole, Livebox et décodeur TV Orange - framboise314.fr Je vous conseil de le suivre à la lettre pour créer votre ligne. Voici ma ligne : Les chiffres en blanc ne sont pas à changer. Ceux en couleurs oui. 343444343534 = les 6 premiers caractères de l'adresse MAC (44D454) de la Livebox convertie en "Hexa" C4B32**********50393939383035 = Le numéro de série (LK*****DP999805) de la Livebox convertie en "Hexa" 36 = Le modèle de la box (ici Livebox 6) convertie en "Hexa" Toutes ces informations sont disponible depuis son interface web (http://livebox/ ou http://192.168.1.1) "Informations système" → "Général" → "1.5 Adresse MAC" / "1.4 Numéro de série" / "1.2 Modèle" Voici le site pour convertir en "Hexa" : https://string-functions.com/string-hex.aspx Après avoir récupérer le HEX, il faut l’ajouter en option dans le AdGuardHome.yaml. Retour sur le NAS et on procède ainsi 1. On arrête l’instance dans docker 2. On télécharge le fichier AdGuardHome.yaml qui ce trouve dans /volume1/docker/adguardhome_macvlan/conf/ 3. On le modifie avec Notepad++ On ajoute la ligne après option comme dans mon exemple : dhcp: enabled: true interface_name: eth0 local_domain_name: lan dhcpv4: gateway_ip: 192.168.1.1 subnet_mask: 255.255.255.0 range_start: 192.168.1.50 range_end: 192.168.1.65 lease_duration: 86400 icmp_timeout_msec: 1000 options: - '125 hex 00000DE9240406343444343534050F4C4B3232303636445039393938303506094C697665626F782036' 4. On enregistre le fichier et on le place dans /volume1/docker/adguardhome_macvlan/conf/ pour remplacer l’ancien 5. On relance l’instance adguardhome_macvlan 3.3. Désactiver le DHCP de livebox Revenez sur votre interface de votre BOX et désactiver le DHCP. Si vous voyer l’adresse MAC de votre box TV, noter là pour plus tard. 3.4. Réserver l’IP dans le DHCP d’AdGuard Home Revenez sur l’interface graphique de AdGuard Home (http://192.168.1.150) Toujours dans Paramètres / Paramètres DHCP, aller tout en bas dans Baux statiques DHCP et cliquer sur "Ajoutez un bail statique" et rentrer ces informations : L’adresse MAC du boitier TV L’IP que vous voulez lui allouer. Exemple 192.168.1.66 Un nom. Exemple BoxTV Enregistrer Maintenant il va falloir un paramétrage persistant pour ce client. 3.5. Paramètre du client (BoxTV) dans AdGuard Home Maintenant aller dans Paramètres / Paramètres du client et "Ajouter un client" avec ces infos : Paramètres Le nom que vous voulez Mots clés : ne pas toucher Identifiant L’IP de la box La MAC de la box Protection : tout décocher Blocage des services spécifiques Tout débloquer Suspendre le blocage des services Ne pas toucher Serveurs DNS upstream Passerelle de la box : 192.168.1.1 Indiquer les DNS de la box (Info trouvable sur l’interface de la box dans Paramètres avancés\Informations système\Internet\4.12 & 4.13 Pour moi : 80.10.246.132 & 81.253.149.2 Enregistrer. A partir de maintenant le paramétrage est fini vous pouvez rallumer la box tv et vérifier si cela fonctionne. Si oui, félicitation !! 😇🤩🍾 Il nous reste plus qu'à peaufiner les paramétrages d’AdGuard Home et des périphériques. 4. Paramétrage de AdGuard Home Présentation et explication faite plus tard Paramètres Paramètres généraux J'ai tout coché (sauf youtube) Paramètres DNS Serveur DNS upstream https://family.cloudflare-dns.com/dns-query tls://family.cloudflare-dns.com https://family.adguard-dns.com/dns-query tls://family.adguard-dns.com Serveurs DNS d'amorçage 1.1.1.3 1.0.0.3 2606:4700:4700::1113 2606:4700:4700::1003 Filtres Liste de blocage DNS filters: - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_1.txt name: AdGuard DNS filter id: 1 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_2.txt name: AdAway Default Blocklist id: 2 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_50.txt name: uBlock₀ filters – Badware risks id: 1715176311 - enabled: true url: https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV-AGH.txt name: Perflyst and Dandelion Sprout's Smart-TV Blocklist id: 1603827714 - enabled: false url: https://pgl.yoyo.org/adservers/serverlist.php?hostformat=adblockplus&showintro=1&mimetype=plaintext name: Peter Lowe's List id: 1603827715 - enabled: true url: https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/nocoin.txt name: NoCoin Filter List id: 1603827716 - enabled: true url: https://raw.githubusercontent.com/durablenapkin/scamblocklist/master/adguard.txt name: Scam Blocklist by DurableNapkin id: 1603827717 - enabled: true url: https://raw.githubusercontent.com/Spam404/lists/master/main-blacklist.txt name: Spam404 id: 1603827718 - enabled: true url: https://sebsauvage.net/hosts/hosts-adguard name: sebsauvage.net hosts-adguard id: 1603827720 - enabled: true url: https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-blocklist.txt name: firebog.net - NoTrack-blocklist id: 1603827721 - enabled: true url: https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV.txt name: firebog.net - SmartTV id: 1603827722 - enabled: true url: https://raw.githubusercontent.com/DandelionSprout/adfilt/master/GameConsoleAdblockList.txt name: Game Console Adblock List id: 1614201141 - enabled: true url: https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt name: WindowsSpyBlocker - Hosts spy rules id: 1614201143 - enabled: true url: https://raw.githubusercontent.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites/master/hosts name: The Big List of Hacked Malware Web Sites id: 1614201145 - enabled: true url: https://adaway.org/hosts.txt name: AdAway Default Blocklist id: 1657191092 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_18.txt name: Phishing Army id: 1715209163 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_8.txt name: NoCoin Filter List id: 1715209164 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_31.txt name: Stalkerware Indicators List id: 1715209165 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_30.txt name: Phishing URL Blocklist (PhishTank and OpenPhish) id: 1715209166 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_10.txt name: Scam Blocklist by DurableNapkin id: 1715209167 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_42.txt name: ShadowWhisperer's Malware List id: 1715209168 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_9.txt name: The Big List of Hacked Malware Web Sites id: 1715209169 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_11.txt name: Malicious URL Blocklist (URLHaus) id: 1715209170 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_12.txt name: Dandelion Sprout's Anti-Malware List id: 1715209171 - enabled: true url: https://dl.red.flag.domains/adguard/red.flag.domains.txt name: Nicolas Pawlak id: 1715209172 - enabled: true url: https://dl.red.flag.domains/adguard/red.flag.domains_fr.txt name: Nicolas Pawlak FR id: 1715209173 - enabled: true url: https://dl.red.flag.domains/adguard/red.flag.domains_ovh.txt name: Nicolas Pawlak OVH id: 1715209174 - enabled: true url: https://dl.red.flag.domains/adguard/red.flag.domains_yt.txt name: Nicolas Pawlak YT id: 1715209175 Services Bloqués Faites vos choix Règles de filtrage personnalisées ||example.org^ :bloque l’accès au domaine example.org et à tous ses sous-domaines ; @@||nas-forum.com^ :débloque l’accès au domaine nas-forum.com et à tous ses sous-domaines ; Attention cette option ne permet pas de débloquer un site bloqué par les Serveurs DNS upstream. Pour bloquer les publicités sur youtube, facebook ou autre via un PC, je vous conseil d'ajouter un bloqueur de publicités à votre navigateur. Style : Ublock Origin. N'oublier pas de passer un liste blanche vos sites préférés comme www.nas-forum.com 5. Paramétrage des périphériques Windows Laisser en DHCP pour vos équipement ainsi il prendra automatiquement les bon paramètres Si vous optez de paramétrer un périphérique en manuel rentrer dans le DNS principal et secondaire l'IP de votre instance AdGuard Home. Pour moi : 192.168.1.150 Android Laisser en DHCP et modifier le DNS avec celui paramétrer dans les serveurs DNS upstream de AdGuard Home. Pour moi cela sera : https://family.cloudflare-dns.com/dns-query Apple Je n'ai pas de produit Apple, je vais m'abstenir d'en parler. Merci à tous de m'avoir lu, j'arrive au bout de ce long tuto. Je reste disponible pour vous aider. Sources : [TUTO] Docker : Introduction - Tutoriels - NAS-Forum [TUTO] [Docker - macvlan] Pi-Hole - Tutoriels - NAS-Forum [TUTO] Certificat SSL & reverse proxy via Docker - Tutoriels - NAS-Forum Installation d'AdGuard, c'est fait ! - Installation, Démarrage et Configuration - NAS-Forum [Tuto] Pi-Hole, Livebox et décodeur TV Orange - framboise314.fr
-
[Résolu]Stocker mail sur NAS
Bonjour, J'ignore si je suis dans la bonne section. N'hésitez pas à me le faire savoir. Merci. J'ai un compte Gmail qui commence un peu à saturer au niveau du stockage (10Go utilisés sur 15Go). Existe t'il un moyen de stocker les mails sur mon DS920+ afin de libérer l'espace de stockage de mon compte Google ? J'ai envisagé l'auto hébergement d'un serveur mail mais au vu des lectures sur le web, c'est une mauvaise idée vu mon niveau en informatique. Ce que je voudrais, c'est de n'avoir à utiliser qu'une seule application que ce soit sur mon Smartphone et sur mes PC (fixe et Macbook). Lorsque j'envoie ou reçois des mails, c'est via ce même compte mail que tout passe. Mais que ça soit stocké sur mon NAS. En gros, le compte Gmail ne servirai que de relais entre moi et mes interlocuteurs. Je parle de Gmail mais ça peut être un tout autre fournisseur. En stockant le mail sur mon NAS, je ne serai pas limité autant en stockage. Je possède un DS920+ (en SHR tolérant 1 panne de disque); un PC sous Windows, un Macbook air, un smartphone sous android et un DS215J que je peux mettre chez un ami pour la sauvegarde hors site. Je peux faire plusieurs copie du pseudo "serveur mail" sur le DS920+ et le PC à la maison et une 3e copie sur le DS215J en hors site. J’espère avoir été compréhensible dans ce que je souhaite. Merci d'avance pour vos retours.
-
TerraMaster F2220 ne répond plus
Bonjour, Mon NAS TerraMaster n'est plus accessible, ni par windows, ni l'interface web TOS, ni via ssh. Les 4 voyants sont allumés et figés en vert : LAN1, POWER, HDD1, HDD2 (il y a deux disques). Que faire pour ne pas endommager les disques ? Merci de votre aide.
-
cherche desesperement. FW CS-406
La dernière version officielle est celle-ci : https://web.archive.org/web/20230130112806/https://global.download.synology.com/download/DSM/release/2.0/0731/DSM_CS-406_0731.zip Si vous aviez une version supérieure c'est que vous avez fait un upgrade non officiel et que vous avez bidouillé pour l'installer. Le problème c'est que le NAS ne peut pas accepter de version inférieure à la dernière sans une modification de l'eprom. Pour info, la 1157 n'est pas du tout compatible avec le CS406 (pas le même CPU). La dernière version 2.3 pour le CS407e est la 1157 téléchargeable ici : https://web.archive.org/web/20230205133012/https://global.download.synology.com/download/DSM/release/2.3/1157/synology_ppc824x_cs407e_1157.zip Commencez par la dernière version officielle (731). Si le NAS refuse de l'installer avec un message disant qu'on ne peut pas installer une version inférieure à XXX, c'est que le NAS a été upgradé vers le CS407e. Essayez la 1157 pour ce modèle, à vos risques et périls il va de soit.
-
Redondance site WordPress sur Synology : quelle solution en cas de panne du NAS ?
Bonjour, J’héberge le site vitrine de mon cabinet médical sur un NAS Synology DS723+ (WordPress via Web Station, PHP et MariaDB). Le site inclut une prise de rendez-vous en ligne avec sa base de donnée, donc je cherche surtout à éviter une indisponibilité prolongée en cas de panne du NAS principal (matériel, mise à jour, etc.). Ce NAS 723 est à la maison. Je réfléchis à la meilleure façon d’avoir une redondance du site / serveur si le DS723+ venait à planter. À noter que j’ai déjà : un DS216+ au cabinet, relié par VPN (que je vais bientôt devoir changer car devient obsolète) utilisé aujourd’hui comme sauvegarde “brute” (fichiers + base), plutôt dans une logique de reprise après sinistre que de continuité immédiate. J’ai aussi des sauvegardes sur dd. J’envisage donc: D’ajouter un deuxième NAS à la maison pour assurer la continuité: soit via Synology High Availability avec deux NAS identiques, soit via une réplication avec bascule manuelle si la HA n’est pas pertinente ou trop lourde. Ma question est donc assez simple : 👉 Quelle est, selon vous, la solution la plus pertinente et réaliste pour assurer la continuité d’un site WordPress hébergé sur Synology, en cas de panne du NAS principal ? Si certains ont un retour d’expérience sur : la HA Synology avec Web Station / WordPress, ou une autre approche propre et fiable, je suis preneur. Merci d’avance pour vos conseils.
-
cherche desesperement. FW CS-406
Bonjour a tous , Afin de reinstaller mon CS_406 je cherche desesperement un repo ou telecharger le dernier FW. j'ai bien regarde ici : https://web.archive.org/web/20230205142316/https://archive.synology.com/download/Os/DSM/3.1-1594 il ya tout sauf le CS-406 les bouboules . Si qq a une autre piste j'en serai ravi .
-
[Résolu]Accès site web sur NAS Synology KO via domaine
Bonjour tout le monde, Le problème : je n'accède plus à mon site internet hébergé sur mon NAS via le nom de domaine https://mondomaine/monsiteweb/home.php mais il fonctionne bien en local via http://moniplocale/monsiteweb/home.php Page synology : Désolé, la page que vous recherchez est introuvable : Résumé: Il y a quelques jours j'ai du refaire les données pour accéder a mon site web via mon NAS (/web/monsiteinternet/touslesfichiersphp) j'ai du réinstaller les logiciels comme MyPHPMyadmin, MariaDB, MySQL, Web Station, Apache, PHP etc. Jai refais la config web station, enfin de ce qu'en avais en souvenir... en extensions cochées : gd, curl, mysqli, openssl, pdomysql, Mon certificat lets encrypt est bien valide sur mon domaine principal. je ne sais plus si sur web station j'avais créé ou non un virtual host en plus de "serveur par defaut" mais si j'essai d'en créer un il me dit que le domaine existe déjà (via le serveur par défaut qui est mon domaine principal) je précise que tout fonctionnait bien sans avoir eu a créer de sous domaine ou de faire des ports alternatifs au 80/443 je ne sais plus si c'est utile mais coté routeur jai les règles porte 80 et 443 établies pour le NAS je suis preneur de toute idées :) Merci par avance et bonne journée
-
problème d'acés a plex
Bonjour, j'ai un NAS Synolgy ds15211+ avec 2 extentions DX510. Je rencontre un soucis. J'ai installé plex media server via la page web de plex sur mon nas (car le centre de paquets ne charge pas les paquets, il me faut tout installer en installation manuelle). Plex est en cours d'execution sur le nas. Lorsque j'ouvre plex via l'icône plex media server sur dsm il ne trouve rien dans mes bibliotheques. Mais lorsque j'ouvre plex media server via plex media server sur le pc il voit toutes mes bibliotheques. Auriez vous une solution afin de regler ces 2 problèmes Merci
-
[Résolu]Accès site web sur NAS Synology KO via domaine
Problème résolu (par un autre moyen que je vais décrire, on sait jamais si ca peut aider pour plus tard). j'ai finalement créer un domaine sur duckdns.org. monsite.duckdns.org. Sécurité puis certificat et Ajout certificat lets encrypt sur ce domaine. Sur web station j'ai pu créer l'hôte virtuel sur ce nom d'hôte toujours en associant le dossier racine de mon site dessus. merci d'avoir pris le temps de m'aider :)
-
[TUTO] Sécuriser les accès à son nas - DSM 6.x
Note du 08/10/2023 Ce tuto a été créé sous DSM 6.x et doit être appliqué par les utilisateurs utilisant cette version. Néanmoins, bien qu'il soit toujours d'actualité, certaines sections de DSM sont organisées différemment depuis l'arrivée de DSM 7, avec quelques nouveautés par rapport à la version précédente. C'est pour cette raison qu'un nouveau tuto spécifique à cette version a été élaboré par @.Shad. Les utilisateurs de DSM 7 peuvent bien entendu continuer à se référer au présent tuto pour notamment y trouver des explications plus fournies sur certains points qui ont été allégés dans le nouveau tuto pour des raisons de clarté. ____________________________________________________________________________________________________________ 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 !! UPDATE: Dans chaque section d'interface modifier le paramètre : Si aucune règle n'est remplie : Refuser l'accès" ("Autoriser l'accès" par défaut). 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.
-
[Résolu]Accès site web sur NAS Synology KO via domaine
Bonjour Dans ta configuration il te manque au moins un enregistrement dans WebStation => Portail Web => Portail définis par l'utilisateur (nom d'hote)
-
[Résolu]Accès site web sur NAS Synology KO via domaine
Le problème est maintenant résolu. N'hésitez pas à ouvrir un nouveau message en cas de problème. Ceci est une réponse automatique.
-
Fichier Host Uploady.io
Bonjour, Quelqu'un aurait-il un lien pour télécharger un fichier host (download station) pour le site Updloady.io s'il vous plait ? Ou un tuto sur comment en créer un ? J'ai vu sur Google qu'il y avait un topic à ce sujet sur le forum mais je n'y ai pas accès : https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.nas-forum.com/forum/topic/81968-fichier-host-pour-uploadyio/%3Fdo%3DfindComment%26comment%3D1319513384&ved=2ahUKEwiKuK_mrpWLAxXZ3AIHHQ3lJ0gQFnoECAcQAQ&usg=AOvVaw1KQ-cOebOdNKcHwwUFaVT8 Merci d'avance
-
[Résolu]Accès site web sur NAS Synology KO via domaine
C'est ce qu'il me semblait aussi mais lorsque j'essai de créer un autre profil virtual host et qu'en nom d'hôte j'entre mon domaine, il me dit que le domaine est déjà utilisé (par le serveur default) surement : sur internet ils disent de passer par un sous domaine etc mais jusqu'à présent je n'avais pas eu besoin de le faire donc ya forcément quelque chose qui a changé par rapport a la config d'il y a quelques jours. Et quand j'essai d'en créer un via les ports et non le nom d'hôte il me dit que les ports sont déjà utilisés (par le serveur par defaut du coup). et via DSM on ne peut pas toucher a la config de serveur par défaut.
-
[Résolu][DS211j] Mon NAS n'est plus détecté, même par Synology Assistant
Attention, les NAS dont les versions de DSM sont inférieures à 6.2.3 (votre cas) ne sont pas détectés par les dernières versions de Synology Assistant. Pour ces NAS, il faut utiliser la version 7.0-50029 ou inférieure. A télécharger ici : https://archive.synology.com/download/Utility/Assistant Votre problème peut être situé au niveau du NAS ou au niveau des disques. Pour le NAS, faites un test de la carte mère : https://kb.synology.com/fr-fr/DSM/tutorial/Why_am_I_unable_to_install_my_Synology_NAS_and_why_is_my_power_LED_is_flashing_constantly Afin de vérifier s'il s'agit d'un problème de disque, je vous propose de retirer les disques actuels, de monter un disque neuf ou usagé qui fonctionne peu importe et de tenter de faire une nouvelle installation à partir de Synology Assistant. Si c'est ok, c'est que le problème vient d'un des disques, ou des deux.