Qnap Domaine, sous-domaine, container-station, certificat, ....

Louidgi

Nouveau membre
24 Avril 2019
10
0
1
Bonjour à tous,

J'aimerai bien avoir un peu d'explications sur comment gérer mon NAS au niveau réseau.
J'envisage de l'ouvrir sur internet pour pouvoir y avoir accès de l'extérieur mais ça me fait un peu peur ^^

J'ai un nom de domaine que je peux faire pointer vers ma box et rediriger ma box vers mon nas.

Comment puis-je avoir un sous-domaine pour mes container docker ? (certains en NAT, d'autres en BRIDGE)

Niveau sécurité, j'aimerai (à terme) n'ouvrir que mes sous-domaine et bloquer l'administration du NAS.
J'ai un certificat DV pour mon nom de domaine que j'ai mis sur le nas. Suffira-t-il pour les containers ?

Mes questions sont un peu floues, mais je ne sais pas exactement quel est mon besoin ^^
Quel est l'installation type ?

Merci d'avance de vos précisions.

Louis
 
Salut,
Comment puis-je avoir un sous-domaine pour mes container docker ?
Il faut utiliser un reverse proxy.

certains en NAT, d'autres en BRIDGE)
Je comprend pas NAT ?
Les types de réseau commun sur docker sont : host, bridge et macvlan

Niveau sécurité, j'aimerai (à terme) n'ouvrir que mes sous-domaine et bloquer l'administration du NAS.
L'idéal n'est d'ouvrir que le minimum vital. L'administration d'un nas n'a pas besoin d'être ouverte sur internet ! C'est se mettre en danger, pour pas grand chose.
Pour l'administration du nas, .. Mieux vaut mettre en place un VPN si l'administration a distance est nécessaire, mais il faut clairement éviter l'exposition direct.

J'ai un certificat DV pour mon nom de domaine que j'ai mis sur le nas.
Que veut dire DV ?
 
Merci pour cette réponse rapide !

Il faut utiliser un reverse proxy.
J'essaye d'utiliser le reverse proxy natif de QNAP mais il n'a pas l'air de gérer encore les sous-domaines ?
Je n'ai pas trouvé de docs sur le fonctionnement du reverse proxy QNAP
1637747423826.png

Je comprend pas NAT ?
Les types de réseau commun sur docker sont : host, bridge et macvlan
1637746816385.png
NAT reprend l'ip du NAS et mappe les ports.

L'idéal n'est d'ouvrir que le minimum vital.
On est d'accord, merci pour la confirmation.
Qu'est-ce qu'il faut que j'ouvre sur ma box ? IPpublique -> IPfixeduNAS: PortWEB ? ou IPpublique -> IPfixeduNAS: PortD'Administration ?
Et c'est le reverse proxy qui doit faire le tri ensuite en fonction du sous-domaine ?

Que veut dire DV ?
C'est un certificat sur le nom de domaine
1637747604171.png
 
Salut
Voici comment j'ai procédé sur mon QNAP alors que QTS n'avait pas de reverse proxy.
Je voulais pouvoir avoir :
nas.nomdedomaine pour accéder à mon NAS
bit.nomdedomaine pour accéder à Bitwarden.
ui.nomdedomaine pour accéder à mon interface Unifi
Limiter les accès à ui.nomdedomaine uniquement depuis mon réseau interne.

C'est parti :
0. J'ai crée une connexion au NAS en interne sur le port 669
1. J'ai installé Bitwarden via ligne de code. Il contient un reverse proxy nginx. Je l'ai configuré pour que l'application puisse être accessible sur bit.nomdedomaine.
2. J'ai aussi modifié sa configuration de telle façon qu'à chaque mise à jour, les modifications faites sur la configuration du reverse proxy ne saute pas.
Fichier config.yml, modification : generate_nginx_config: false
3. Ensuite, j'ai modifié le fichier default.conf du répertoire nginx avec ajout des lignes juste avant celles de configuration :

include /etc/ssl/nomdedomaine/nas.nomdedomaine;
include /etc/ssl/nomdedomaine/ui.nomdedomaine;
4. Je crée le dossier nomdedomaine dans le répertoire ssl ainsi que les fichiers de redirection qui contiennent par exemple pour le NAS :
Code:
upstream NASServer {
    server 192.168.1.90:669;
}

server {
    listen 8443 ssl http2;
    listen [::]:8443 ssl http2;
    server_name nas.nomdedomaine;
    include /etc/ssl/nomdedomaine/ssl.conf;

    large_client_header_buffers 4 8k;

    location / {
        proxy_bind $server_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass https://NASServer;
        proxy_redirect off;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_hide_header Upgrade;
        proxy_read_timeout 36000s;
    }
}

Pour Bitwarden : c'est celui est généré par défaut.

5. J'ai modifié le fichier Access.conf du répertoire nomdedomaine en ajoutant ces lignes :
Code:
# allow anyone in 192.168.1.0/24
  allow   192.168.1.0/24;
  # drop rest of the world
  deny    all;

Mon fichier ui.nomdedomaine ressemble à :
Code:
server {
    listen 8443 ssl http2;
    listen [::]:8443 ssl http2;
    server_name ui.nomdedomaine;

    include /etc/ssl/nomdedomaine/ssl.conf;

    location / {
        proxy_pass "https://192.168.1.1";
        include /etc/ssl/nomdedomaine/access.conf;


        #include /etc/nginx/ssl/security-headers-ssl.conf;
        #include /etc/nginx/ssl/security-headers.conf;
        #add_header Content-Security-Policy "default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https://haveibeenpwned.com https://www.gravatar.com; child-src 'self' https://*.duosecurity.com; frame-src 'self' https://*.duosecurity.com; connect-src 'self' wss://*.nomdedomaine https://api.pwnedpasswords.com https://twofactorauth.org; object-src 'self' blob:;";
        #add_header X-Frame-Options SAMEORIGIN;
        #add_header X-Robots-Tag "noindex, nofollow";


        #proxy_http_version 1.1;
        #proxy_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        #proxy_set_header Host $host;
        #proxy_set_header X-Real-IP $remote_addr;
        #proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    }
}

6. J'ai ensuite redirigé tout le traffic sur le port 443 vers le serveur NAS.

Et voilà !
 
  • J'aime
Réactions: Louidgi