Aller au contenu

[TUTO] Certificat SSL & reverse proxy via Docker


.Shad.

Messages recommandés

Je trouve ça quand même étrange l'erreur sur l'appel à la fonction map. Est-ce que tu as essayé de retélécharger le fichier geoip2.conf depuis le github de SWAG, pour vérifier qu'un caractère interdit ne s'est pas glissé dans le fichier quelque part.
Tu peux utiliser la commande diff sous Linux entre deux fichiers pour comparer leurs différences.

Lien vers le commentaire
Partager sur d’autres sites

Alors mon fichier geoip2.conf était vide au départ. j'ai rajouté ce j'ai mentionné ci-dessus.

Je précise que je fais des tests sur un serveur dédié externe avant de le faire sur mon NAS.

C'est la même image que celle de ton tutoriel. Comment vérifier si GEOIP2 est activé ? En fait j'ai vu le répertoire geoip2db dans le répertoire conf et je me suis dit que c'était activable ...

Concernant la clé MaxMind j'en ai généré 2 car je ne savais pas quelle version de Geoip2 était incluse dans SWAG. Mais il n'y a rien qui se télécharge automatiquement dans le dossier geoip2db ... Il faut faire un script spécial pour que la BDD se mette à jour ou c'est automatique ?

Lien vers le commentaire
Partager sur d’autres sites

@CHILLY996 Okkkk, j'ai été curieux suite à tes messages, en investiguant dans les commits voici ce que j'ai trouvé :

https://github.com/linuxserver/docker-swag/commits/master/root/defaults/geoip2.conf

Maxmind est devenu un docker-mod de Linuxserver, et donc par conséquent ce n'est plus actif avec notre configuration actuelle.

Du coup, il faut suivre la procédure décrite ici, c'est sensiblement ce qui existait avant, on modifie juste le nom du fichier de configuration : https://github.com/linuxserver/docker-mods/tree/swag-maxmind

Ca leur permet aussi d'alléger leurs images et de fonctionner de manière modulaire.

Donc :

  • Ajouter le docker-mod dans le fichier compose
  • Remplacer geoip2.conf par maxmind.conf dans nginx.conf
  • Renommer geoip2.conf en maxmind.conf
  • Vérifier que les appels dans les fichiers de configuration des proxy inversés pointent bien vers maxmind.conf et pas geoip2.conf
  • Redémarrer le conteneur

J'ai vérifié que ça fonctionnait bien en interdisant l'accès depuis mon pays et j'ai bien l'erreur 403 que je demande.

Lien vers le commentaire
Partager sur d’autres sites

Bon je viens de faire la modif comme indiquée sur le lien et en recréant le conteneur j'ai ce message d'erreur 
nginx: [emerg] unknown "geoip2_data_country_iso_code" variable

Bon là je comprends le problème mais je ne vois pas d'où cela vient @.Shad.

EDIT :

Bon, il faut prendre le fichier à jour maxmind.conf à cette adresse :

maxmind.conf

Le mien qui venait de geoip2.conf ne contenait pas le début du nouveau fichier qui définit la BDD.

Modifié par CHILLY996
Ajout du lien du nouveau fichier maxmind.conf
Lien vers le commentaire
Partager sur d’autres sites

Oui en accès distant et en local.

Actuellement je me pose pleins de questions.

Je voudrais éviter le macvlan.

Je précise que j'ai actuellement le reverse proxy de mon NAS qui est configuré pour les différents services, un serveur DNS qui me permet d'aller localement sur mes services via des enregistrements de ressources sur mon DS920 via DNS Server. Les ports 80 443 sont redirigés vers le NAS DS920.

Si j'installe SWAG en mode bridge avec 4443:443 et 4080:80. Je redirige mes ports du routeur 443 vers 4043 IP du NAS et 80 vers 4080 IP du NAS. Je paramètres mes services avec SWAG+authelia car je sais que je viendrais forcément de l'extérieur. En revanche je garde ma zone DNS avec des enregistrements de ressources qui pointent sur l'IP du NAS et je garde le reverse proxy du syno actif juste pour le local. Je ne sais pas ce qu'il y aurait comme inconvénients à part rentrer 2 fois mes services proxyfiés ... Peut-être le HSTS ou les certificats qui vont bugguer ?

Si j'installe SWAG en MAC VLAN donc j'aurai une instance SWAG en 80:80 et 443:443 sur une IP virtuelle. Mon router redirige les ports 443 et 80 vers l'IP virtuelle de SWAG. Je paramètre mes services avec SWAG et/ou authelia en fonction du réseau d'origine. Par contre pour mon loopback via les DNS, il faudra que je change mon enregistrement A pour le faire pointer vers l'IP virtuelle MAC VLAN au lieu de mon NAS actuellement pour passer par le proxy je suppose ? Je pourrai supprimer le reverse proxy interne.

J'avoue que je ne connais les inconvénients et avantages des 2 solutions ... Je pense que la première est moins propre ?

Pour les 2 solutions j'avoue que je ne sais pas comment vont se comporter les appli android SYNOLOGY depuis le réseau local ou depuis le WAN. Je pense qu'il ne faudra pas activer AUTHELIA sur les services SYNOLOGY (download station et file station par exemple) ? Et quid de AUTHELIA avec bitwarden via les plugin de navigateur si on active authelia ?

Je crois que je commence à me faire des nœuds au cerveau où il n'y a peut-être pas besoin de s'en faire ...

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, CHILLY996 a dit :

Si j'installe SWAG en mode bridge avec 4443:443 et 4080:80. Je redirige mes ports du routeur 443 vers 4043 IP du NAS et 80 vers 4080 IP du NAS. Je paramètres mes services avec SWAG+authelia car je sais que je viendrais forcément de l'extérieur. En revanche je garde ma zone DNS avec des enregistrements de ressources qui pointent sur l'IP du NAS et je garde le reverse proxy du syno actif juste pour le local. Je ne sais pas ce qu'il y aurait comme inconvénients à part rentrer 2 fois mes services proxyfiés ... Peut-être le HSTS ou les certificats qui vont bugguer ?

C'est effectivement une solution, pas idéale selon moi du fait de la double définition, pour le local et à distance.
Si tu n'utilises que SWAG comme proxy inversé, tu devras effectivement utiliser deux adresses différentes :

C'est là que le macvlan s'illustre, car tu peux utiliser le 443 dans les deux cas, et donc utiliser les mêmes liens.

il y a une heure, CHILLY996 a dit :

Si j'installe SWAG en MAC VLAN donc j'aurai une instance SWAG en 80:80 et 443:443 sur une IP virtuelle. Mon router redirige les ports 443 et 80 vers l'IP virtuelle de SWAG. Je paramètre mes services avec SWAG et/ou authelia en fonction du réseau d'origine. Par contre pour mon loopback via les DNS, il faudra que je change mon enregistrement A pour le faire pointer vers l'IP virtuelle MAC VLAN au lieu de mon NAS actuellement pour passer par le proxy je suppose ? Je pourrai supprimer le reverse proxy interne.

Pour être précis sur les termes, SWAG n'aura pas une IP virtuelle, il aura une IP dans la plage d'attribution du réseau macvlan, qui se trouve en dehors de la plage de ton serveur DHCP (box ou routeur).
C'est le NAS qui aura une IP virtuelle, une porte d'entrée par laquelle SWAG et tout autre conteneur sur le réseau macvlan pourra y accéder.

Il faudra que ta zone DNS locale fasse effectivement pointer les entrées de proxy inversé vers l'IP de SWAG.
Et ta box/routeur devra rediriger 80 et 443 vers l'IP de SWAG également.

Tu peux toujours garder le proxy inversé interne dans un premier temps, le temps de s'assurer que tout fonctionne comme tu l'entends.

Après, si tu as un Rpi de côté, c'est bien plus simple à gérer en bridge qu'en macvlan sur le NAS. 😉 

Lien vers le commentaire
Partager sur d’autres sites

Désolé pour les mauvais termes, ca fait plusieurs jours que je lis tout un tas de tutos et je m'emmêle les crayons à force lol.

Oui j'ai un pi3 de côté ... je pensais mettre adguard dessus pour éviter de polluer le NAS mais je ne sais pas comment configurer ensuite le serveur DNS (DNSmasq je crois) pour faire mon loopback. Je réfléchis. L'idée serait de mettre SWAG + ADGUARD + DNS server sur un PI en docker ? Ca ne va pas charger la mule ? Le port ethernet bridé sur le Pi3 ne vas pas poser des problèmes de débit ?

Il y a 1 heure, .Shad. a dit :

Si je garde le proxy interne du nas, pas besoin de mettre le 4443, je peux garder le 443 non ?

Je suis en train d'essayer en ce moment.

 

EDIT : ca ne fonctionne pas ... je n'arrive pas à savoir d'où vient le problème.

Authelia semble ne pas fonctionner. Si je tape https://authelia.ndd.com depuis l'extérieur, j'arrive à un timeout. J'ai même essayé de rentrer en dur les adresses et les ports de authelia dans authelia-server.conf et authelia-sudomain.conf

Modifié par CHILLY996
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, CHILLY996 a dit :

Oui j'ai un pi3 de côté ... je pensais mettre adguard dessus pour éviter de polluer le NAS mais je ne sais pas comment configurer ensuite le serveur DNS (DNSmasq je crois) pour faire mon loopback. Je réfléchis. L'idée serait de mettre SWAG + ADGUARD + DNS server sur un PI en docker ? Ca ne va pas charger la mule ? Le port ethernet bridé sur le Pi3 ne vas pas poser des problèmes de débit ?

Ma suggestion était de mettre juste SWAG, mais rien ne t'empêche de mettre Adguard aussi. DNS Server tu vas avoir du mal c'est un paquet DSM. Ca consomme rien ces applications là, les données ne transiteront pas par le PI non plus.

Il y a 1 heure, CHILLY996 a dit :

Si je garde le proxy interne du nas, pas besoin de mettre le 4443, je peux garder le 443 non ?

Je suis en train d'essayer en ce moment.

Je disais ça dans le cas où tu ne le gardais pas.

Lien vers le commentaire
Partager sur d’autres sites

il y a 4 minutes, .Shad. a dit :

Ma suggestion était de mettre juste SWAG, mais rien ne t'empêche de mettre Adguard aussi. DNS Server tu vas avoir du mal c'est un paquet DSM. Ca consomme rien ces applications là, les données ne transiteront pas par le PI non plus.

OK je suppose qu'il faut les installer sous docker ?

Oui je sais que DNS server est un paquet DSM, c'est un abus de langage car je ne sais pas ce qui serait équivalent soit sous docker soit sous raspbian.

Désolé avec mes questions de débutant qui polluent ce topic.

Modifié par CHILLY996
Lien vers le commentaire
Partager sur d’autres sites

DNS Server c'est une interface pour BIND, avec des fonctionnalités en moins.
Après si tu te sers de DNS Server juste pour une zone locale, autant basculer tes enregistrements sur Adguard qui possède cette fonctionnalité si je ne m'abuse.

SWAG c'est prévu pour Docker, Adguard pas forcément, ça c'est à toi de voir, j'aime bien le côté libre de dépendances sur l'hôte avec Docker.

Lien vers le commentaire
Partager sur d’autres sites

Oui ce que je trouve intéressant dans docker c'est que c'est très facile de revenir en arrière, on ne pollue rien.

Pour les enregistrements sur adguard, je ne sais pas. Je crois que c'est sur PiHole si je me souviens bien des tutos.

Swag et authelia existent sur ARM. Adguard aussi je crois l'avoir trouvé.

Je crois que je vais tenter cette approche.

Sinon de mémoire, j'ai eu un soucis avec les API OVH et avec SWAG et pour le serveur et pour le NAS.

GET /domain/zone/
GET: /domain/zone/ndd.ovh/
GET /domain/zone/ndd.ovh/status
GET /domain/zone/ndd.ovh/record
GET /domain/zone/ndd.ovh/record/*
POST /domain/zone/ndd.ovh/record
POST /domain/zone/ndd.ovh/refresh
DELETE /domain/zone/ndd.ovh/record/*

J' ai été obligé de mettre sinon ca ne fonctionnait pas :

GET /domain/zone/*
POST /domain/zone/*
DELETE /domain/zone/*

Pourtant j'avais déjà utilisé des clés API (une autre clé) avec les noms de domaines renseignés pour le tuto de Einsteinium Certificats avec acme.

Lien vers le commentaire
Partager sur d’autres sites

Pour les accès API je t'avoue que c'est assez consistant de mon côté c'est déjà arrivé que ça ne passe pas, d'autres fois que ça passe, ça me dépasse. 🙂 

EDIT : Je suis persuadé que ça existe sur Adguard :

Appelons @MilesTEG1 à la rescousse au cas où. 😉 

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

OK merci je commence à installer le pi avec Docker. Pour moi l'intérêt de SWAG c'est le couplage avec authelia qui permet de rajouter une protection sur des services non protégés (par exemple un filezilla en docker). Le SFTP avec Synology c'est la misère. Le montage distant en SFTP ne fonctionne pas sur les gros répertoires et DSDownload ne gère pas le SFTP.

il y a 2 minutes, MilesTEG1 a dit :

@.Shad. J'ai pas tout suivi... il est question de quoi avec AdGuard Home ?

Bonjour,

 

Juste une question pour contourner des problèmes de loopback. Actuellement j'utilise DNS Server sur mon NAS avec des enregistrements pour avoir les mêmes adresses à l'intérieur et à l'extérieur de mon réseau local.

Si je mets Adguard sur un PI avec SWAG et Authelia, il deviendra mon serveur DNS et je serai obligé de supprimer mes enregistrements sur DNS Server de mon NAS.

La question est que peut-être Adguard home peut le faire ? (comme PiHole je crois ...).

Lien vers le commentaire
Partager sur d’autres sites

@.Shad.

Bonjour,

Du coup j'ai abandonné avec le Pi3 car impossible de faire fonctionner authelia. Je suis reparti sur un SWAG en mac_vlan.

Pour authelia, je l'ai mis dans le même mac_vlan plutôt que de le mettre dans un réseau bridge, ca m'a semblé plus sympa pour moi au niveau des IP (c'est peut-être idiot). Je suis en train d'implémenter les différents services proxy et pour l'instant ca fonctionne ... suite au prochain épisode.

Il ne me restera plus qu'à mettre adguard home.

N.B. : j'ai abandonné la solution PI3 car dans le thread authelia une autre personne a rencontré les mêmes problèmes que moi à savoir le proxy fonctionne sans authelia mais pas avec ... c'est étrange tout de même.

Lien vers le commentaire
Partager sur d’autres sites

@Swagme @CHILLY996 Je n'ai jamais testé avec Rpi 3, j'utilise SWAG sur une Debian, il y a peut-être une différence qui m'échappe, je testerai pour voir.

Ca ne change pas grand chose de mettre Authelia en bridge ou macvlan, c'est toi qui vois. 😉 

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Bon finalement tout est OK à savoir :

* SWAG en macvlan

* Authelia en macvlan

* Adguard home en macvlan

J'aurais mieux fait de le faire en macvlan dès le début. Il ne me reste plus qu'à configurer fail2ban et ce sera terminé.

Un grand merci à @.shad. pour ses tutos et sa patience.

EDIT :

Il faut désactiver authelia pour les applis synology ANDROID sinon celà ne fonctionne pas. Pas de soucis pour les versions web bien entendu. On pouvait s'y attendre.

Modifié par CHILLY996
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.