Accueil / Mes interventions / Sauvegarde directe de WordPress sur NAS local

Sauvegarde directe de WordPress sur NAS local

La demande d’un client est de sauvegarder son site WordPress (fichiers + base de donnée) directement sur son NAS Qnap chez lui, sans passer par OneDrive, Dropbox ou autres service Cloud… Il a bien un cloud OneDrive gratuit, mais il risque d’être trop petit (5Go) pour les versions de backup gardées sur un mois. PS: Quoique.. Pour 2€/mois TTC l’offre OneDrive Standalone 100GB est au top.

Mais bon….Quel plaisir de se passer d’un service Cloud tiers, avec son abonnement requis et son volume dépendant de l’abonnement souscrit! Le NAS Qnap et les disques durs, onéreux à l’achat, peut accueillir 6000Go! (PS: configuration: 4 disques durs de 2To chacun, en Raid 5).

L’environnement de travail:

Un site WordPress de vente immobilière de prestige (villas en bord de mer, domaines viticoles), donc beaucoup de photos et de texte, mais pas de données confidentielles (en tout cas de ses clients). Site hébergé sur un compte mutualisé O2SWITCH.

Le Backup est lancé automatiquement depuis WordPress grace au plugin UpdraftPlus version personnal , fichiers du site et base de donnée sont inclus. Le stockage distant est réglé sur WebDAV, la cible étant un dossier partagé en mode WebDAV sur le QNAP. Il existe une alternative gratuite à UpdraftPlus personnal; Xcloner mais au moment d’écrire ces lignes le 12 Octobre 2020 quelques bugs empêchent encore son bon fonctionnement en mode WebDav, mais je suivrais son développement.

Le NAS QNAP est relié à Internet via une BOX SFR, avec un abonnement internet classique.

PS: J’ai testé sur une BOX Orange Livebox: Le réglage est plus délicat: Je pense qu’il faut créer des règles de pare-feu personnalisées en plus des règles de routage (cf chapitre BOX SFR les réglages). Le temps m’a manqué pour tester.

Activer le dynamique DNS de Qnap

NB: A faire en 1er: Créer un compte Qnap https://account.qnap.com , puis le renseigner dans l’interface d’administration du NAS. Pour se connecter il faut connaitre l’@ IP locale du NAS, facile avec l’outil Qnap finder: https://www.qnap.com/fr-fr/utilities/essentials

Comme la plupart des abonnements internet, la box (SFR) de mon client possède une @IP dynamique mais en l’occurrence il faut absolument une identification internet fixe pour ne pas avoir à rechanger sous UpdraftPlus l’adresse IP internet du NAS censé récupérer les sauvegardes. Une adresse IP fixe est possible mais en offre pro pour env. 88€/mois.

NB: En réalité, l’@IP internet du NAS, c’est l’@IP de la BOX SFR; La seule IP accessible à WordPress. Voilà une notion difficile à appréhender c’est sur! Pour y voir plus clair jetez un regard sur cete article https://le-routeur-wifi.com/appareils-partagent-adresse-ip/ .

Il y a une alternative, le Dynamique DNS: un « nom de domaine » fixe, de type monqnapchezmoi.myqnapcloud.com qui est lié à cette l’adresse IP changeante. C’est automatique: Le NAS envoie un signal aux serveurs de Qnap avec les identifiants du compte Qnap (qui donc ne changent pas). Les serveurs de Qnap vérifient si l’adresse IP dynamique de la BOX a changé et dans ce cas mettent à jour la liaison.

Capture du réglage DDNS dans QNAP, dans Menu (les 3 tirets horizontaux en haut à gauche de l’interface QNAP)> MyQNAPCloudLink:

Reglage DDNS Qnap

Régler WebDav sur le QNAP

D’abord il faut vérifier que le serveur Web est activé car WebDav l’utilise. Menu> Panneau de configuration> Serveur d’applications>Serveur Web:

Regler Serveur Web Qnap

Dans la même fenêtre il faut aller sur l’onglet WebDav et le rendre actif en paramétrant l’accès par défaut pour utiliser le port standard non sécurisé du serveur Web. Les permissions d’accès dossier seront gérés par WebDav (option qu’on verra plus bas):

Qnap reglages service WebDav

Puis je me rend dans Menu>File Station>NASxxx et clic sur le nom de mon volume lourd « DataVol1 » (ce tutoriel ne couvre pas la création de pools de stockage et de volume, voilà ce lien si vous ne savez pas encore faire). Je créé le dossier (via l’icône représentant un dossier avec le signe + dedans) qui accueillera le backup, je le nomme habilement WebDav ;) . Il est en mode « Dossier partage », à la racine de mon volume lourd « DataVol1 ».

Qnap creer dossier partage

Ce n’est pas fini: Désormais je dois aller sur Menu puis Utilisateurs> Dossiers partagés. En regard du dossier WebDav j’accède à l’icône qui représente un partage:

QNAP Reglage droits utilisateurs 1

Je mets en surbrillance le dossier Webdav; dans la liste déroulante je choisis Accès WebDav et choisis Accès total pour l’utilisateur admin. NB: Sur ce QNAP je n’ai que ce super-utilisateur:

QNAP Reglage droits utilisateurs 1

Le plugin de sauvegarde WordPress: UpdraftPlus

Malheureusement je n’ai pas encore trouvé le moyen de faire passer la sauvegarde par un flux sécurisé en HTTPS: Je creuserais à l’avenir mais pour le moment, UpdraftPlus devra envoyer le backup via un canal non sécurisé; en HTTP.

Dans l’interface admin du site je me rends dans Réglages> Sauvegardes UpdraftPlus> Réglages. J’active WebDav. Explication sur la capture ci-dessous:

  • Protocol webdav:// : Contrairement au protocole webdavs:// l’acheminement du backup vers le QNAP n’est pas sécurisé.
  • Identifiant et mot de passe: Là aucun secret; ce sont les identifiants de connexion au NAS, les même que ceux qui donnent l’accès via l’@ IP en local.
  • Host: C’est le fameux nom de domaine (Dans QNAP ça s’appel Adresse Internet ) donné par les services de QNAP pour contourner le problème de l’adressage IP dynamique de la Box SFR. Attention il faut mettre juste le nom de domaine, pas http://blablabla . Pour rappel on peut retrouver cette info dans l’interface admin du QNAP: Menu> My QNAP Cloud Link> Onglet My DDNS.
  • Port: Je ne met rien car par défaut le flux passe sur le port 80.
  • Path: C’est le chemin vers le dossier du QNAP réglé pour travailler en WebDav, comme on a vu plus haut. Chez mon client c’est WebDav. PS: j’ai mis des slashs mais finalement ce n’est pas la peine, à part si de votre côte vous souhaitez placer la sauvegarde dans un sous-dossier.
Reglages Updraft plus connexion

Par contre important: Le Backup transite en clair sur le réseau mais avec Updraft on peut crypter les données en choisissant un mot de passe de chiffrement, plus bas dans la page:

UpdraftPlus phrase de chiffrement pour transit sécurise

Astuces pour configurer juste le temps du paramétrage:

  • Activer sur la BOX SFR le DMZ pour l’adresse IP du QNAP. Onglet Réseau V4> NAT:
BOX SFR activer DMZ sur IP locale QNAP

  • Désactiver sur le QNAP la « Protection d’accès des IP ». Menu> Panneau de configuration> Système> Sécurité
Qnap desactiver protection IP

Box SFR les réglages

Pour l’instant si on lance une sauvegarde, UpdraftPlus va l’envoyer sur monnomdedomaine.myqnapcloud.com, puis cette « passerelle » mise à dispo par la société QNAP va re-transférer tout ça vers l’adresse IP internet de la Box SFR sur le port 80… Qui ne va pas savoir quoi en faire, et l’ignorer.

Je dois créer une « route » sur la BOX qui va acheminer les flux entrants de port 80, vers l’adresse IP Locale du QNAP. Rendez-vous dans l’interface admin de la box SFR (chez mon client IP 192.168.1.1) puis sur l’onglet Réseau V4> NAT . De là je créé ma redirection:

BOX SFR redirection de ports

Le QNAP est pas mal exposé aux attaques vu la redirection de port mise en place; Je mets en pratique donc quelques conseils disponibles sur cette page, et particulièrement:

  • Le blocage des IP qui essaient de rentrer avec des idenfiants erronés.
  • La désactivation des services inutiles (FTP, Multimedia, TELNET etc..).
  • Depuis l’app center désinstallation des Apps inutiles.
  • Activation de Malware Remover, en mode scan automatique.

Et aussi je créé depuis l’administration QNAP quelques règles pour être averti par Email des tentatives de connexion intempestive ainsi que de la disponibilité des mises à jour. Dans Menu> Centre de notifications> Notifications système puis Créer une règle:

Qnap régler alertes mail

Conclusion: Même si le flux n’est pas sécurisé par une connexion HTTPS, les données transitent de façon chiffrées grâce au cryptage d’UpdraftPlus. Le QNAP, bien qu’exposé directement au Web via le port 80 est robuste, avec ses règles de pare-feu qui bloquent les IP récidivistes.