Securiser des containers dockers avec le script d'Ex-rat ?
- Modifié
Traefik fait des sous-domaines. Tout ce qu'il "traite" est donc accessible sauf à bloquer les accès via IP ou user:pwd. Traefik sert à faire beau/propre, pas à sécuriser. Enfin ne l'utilisant plus, je ne sais pas si ça a évolué en ce sens en tous cas.
Via le container nginx-proxy dont je te parlais plus haut tu peux ajouter (très simplement) des user:pwd aux containers liés : https://github.com/jwilder/nginx-proxy#basic-authentication-support
Dès que j’arrive à trouver du temps je test tout ça, l’avantage de docker, pouvoir tester sans rien casser
- Modifié
Bonjour,
Si tu veux faire de l'authentification exactement comme nginx, voici la syntaxe a mettre dans ton docker-compose au niveau label :
labels:
- "traefik.enable=true"
- "traefik.port=8080"
- "traefik.frontend.rule=Host:test.domain.net"
- "traefik.frontend.auth.basic=tonuser:mot de passe crypté avec htpasswd"
Si ton mot de passe crypté, avec htpasswd, comprend des $, il faudra le doubler.
Exemple : Os4D18Z$$d0iz2mBQbjTxAjtj
A plus
Yop,
Je viens de tester ta methode @Aerya , ca s'installe nickel ou presque, y'avait un conflit avec le port 443 du Nginx du script, j'ai du stopper le service est l'installation c,'est bien passé.
J'ai refait un container Plex et Radarr pour tester
docker run \
-d \
--name plex \
-p 32400:32400/tcp \
-p 33400:33400/tcp \
-p 33443:33443/tcp \
-p 3005:3005/tcp \
-p 8324:8324/tcp \
-p 32469:32469/tcp \
-p 1900:1900/udp \
-p 32410:32410/udp \
-p 32412:32412/udp \
-p 32413:32413/udp \
-p 32414:32414/udp \
-e TZ="Europe/Paris" \
-e PLEX_CLAIM="claim-xxxVVVccDDXC" \
-e ADVERTISE_IP="http://ipdemonserveur:32400/" \
-e PLEX_UID=1002 -e PLEX_GID=1002 \
-h *** \
-v /home/plex:/config \
-v /temp:/transcode \
-v /home/****/torrents:/data \
-e "VIRTUAL_PORT=32400" \
-e "VIRTUAL_HOST=plex.ipdemonserveur" \
-e "LETSENCRYPT_HOST=plex.ipdemonserveur" \
-e "LETSENCRYPT_EMAIL=******@outlook.fr" \
plexinc/pms-docker:plexpass
docker create \
--name=radarr \
-v /home/arck0s/docker/radarr:/config \
-v /home/****/torrents/radarr:/downloads \
-v /home/****/torrents/Films:/movies \
-v /etc/localtime:/etc/localtime:ro \
-e TZ=Europe/Paris \
-e PGID=1002 -e PUID=1002 \
-p 7878:7878 \
-e "VIRTUAL_PORT=7878" \
-e "VIRTUAL_HOST=radarr.ipdemonserveur" \
-e "LETSENCRYPT_HOST=radarr.ipdemonserveur" \
-e "LETSENCRYPT_EMAIL=*****@outlook.fr" \
linuxserver/radarr
Mais comment être sur que çà fonctionne, car la actuellement, j'ai toujours le symbole du cadenas barré sous FF
Faut vérifier dans Firefox mais normalement c'est un SSL Lets Encrypt.
Aerya Ben j'arrive pas a afficher le SSL, j'ai du faire une connerie. Peut être le Nginx du script qui chie dans la colle même si je l'ai stoppé. Je vais peut etre essayer d'installer un docker rTorrent/ruTorrent, et si j'y arrive, je repare sur une fresh installe Debian 9, avec une securisation, ou je remet le script d'Ex_rat et je supprime nginx.
triptixx Faut mettre ca dans chaque fichier de chaque appli, ou uniquement dans celui de traefik ?
@kimu tu est partis de quel tuto pour installer Traefik stp ?
- Modifié
Arck0s je me suis basé sur la conf donné par @zer dans ce tuto : https://mondedie.fr/d/8307-Discussion-Nextcloud-version-docker/93 pour la mise en place de Traefik. Après tu dois rajouter au moins les 4 labels pour faire communiquer traefik avec le container de ton choix.
Pour un peu de sécu tu peux mettre une authentification simple en ajoutant le label suivant : traefik.frontend.auth.basic=user:password
Par contre comme la fait remarquer Aerya Traefik ne travaille qu'avec des sous-domaines ( Pour mon utilisation personnel j'ai pris un .ovh qui est à un prix relativement correct).
Va sur le site officiel de Traefik, celui ci est très bien documenté.
- Modifié
Arck0s
oui il faut placer ces labels, soit dans ta commande 'docker container run', soit dans le fichier dockerfile ou soit dans ton fichier docker-compose
exemple :
version: "3"
services:
webdav:
build:
context: ./webdav
dockerfile: dockerfile-webdav
container_name: srvwebdav
labels:
- "traefik.enable=true"
- "traefik.port=8080"
- "traefik.frontend.rule=Host:share.domain.net"
- "traefik.docker.network=proxy"
- "traefik.frontend.auth.basic=triptixx:$$apr1$$GOs4D18Z$$d0iz2"
- "traefik.frontend.headers.browserXSSFilter=true"
- "traefik.frontend.headers.contentSecurityPolicy=default-src *; img-src * 'self' data: https:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src 'self' 'unsafe-inline' *; font-src * 'self' data:;"
- "traefik.frontend.headers.STSSeconds=63072000"
- "traefik.frontend.headers.STSIncludeSubdomains=true"
- "traefik.frontend.headers.STSPreload=true"
- "traefik.frontend.headers.frameDeny=true"
- "traefik.frontend.headers.contentTypeNosniff=true"
- "traefik.frontend.headers.referrerPolicy=no-referrer"
volumes:
- seedbox_data_download:/opt/download:ro
networks:
- proxy
restart: unless-stopped
volumes:
seedbox_data_download:
external: true
networks:
proxy:
external: true