# Accéder au tableau de bord
## Introduction
Traefik propose un [tableau de bord](https://doc.traefik.io/traefik/operations/dashboard/) permettant de visualiser l'état de sa configuration dynamique : routeurs, services, middlewares...
Ce tableau de bord ne peut être visualisé qu'en activant l'accès à l'API, rendant cette opération très sensible.
Ainsi, le tableau de bord a été activé sur toutes les machines virtuelles avec une double sécurité :
* Accès protégé avec un mot de passe différent par VM (enregistré sur [[asso:tuto:vaultwarden|VaultWarden]]) ;
* Filtrage IP n'autorisant que la machine de monitoring à accéder au dashboard.
En effet, la machine de monitoring est la plus critique de l'infrastructure, car elle contient le LDAP. Si elle était compromise, n'importe qui pourrait changer les infos du LDAP, comme les clés SSH autorisées à se connecter sur les machines, les accès admin de toutes les machines, etc.
## Y accéder de chez soi
Pour pouvoir accéder au dashboard de n'importe quelle VM, il faut donc « rebondir » par `monitoring`. Une simple [redirection de port](https://www.ssh.com/academy/ssh/tunneling-example) ne suffit pas, car les redirections de ports fonctionnent en écoutant un port local, sur `localhost` donc. Or le dashboard est accessible en HTTPS et a un certificat valide, qui ne collera pas avec `localhost`.
Bref, il nous faut un autre moyen.
C'est via un proxy [SOCKS5](https://en.wikipedia.org/wiki/SOCKS) que l'on va pouvoir réaliser cette opération.
On peut se représenter le fonctionnement de ce qui suit comme un genre de VPN temporaire bricolé pour une personne.
SSH permet d'ouvrir un proxy SOCKS local qui aura exactement l'effet attendu : rediriger l'ensemble du trafic reçu par une machine « rebond », masquant de facto l'IP source et la remplaçant par celle du rebond. Il suffit alors de choisir `monitoring` comme rebond pour avoir l'autorisation de consulter le dashboard.
Pour ouvrir un proxy SOCKS rebondissant sur `monitoring` sur le port standard `1080`, en local :
```bash
ssh -D 1080 -N @monitoring.picasoft.net
```
Il faut ensuite demander à ton navigateur (Firefox, j'espère :D) d'utiliser ce proxy.
Astuce : créer un profil dédié dans Firefox pour éviter d'avoir à changer sans cesse les paramètres réseaux. Ça se passe dans `about:profiles`. Dès que tu as besoin de consulter un dashboard, ouvre une fenêtre avec ce profil.
Pour ce faire, depuis les paramètres tu peux chercher `socks` et ouvrir les paramètres réseaux.
Entrer cette configuration :
{{ :technique:adminserv:traefik:socks.png |}}
Et voilà ! Visiter par exemple [https://media.picasoft.net/dashboard/](https://media.picasoft.net/dashboard/) et entrer les identifiants pour voir un magnifique dashboard. Ici, un exemple de la liste des routeurs.
Attention, le `/` final est obligatoire !
{{ :technique:adminserv:traefik:dashboard.png |}}
En cliquant sur un routeur, on obtient une vue d'ensemble de la chaîne `entrypoint → routeur → middlewares → service`, et plein d'autres infos utiles pour le debug.
FIXME Pour une raison qui m'échappe totalement, l'IP captée par Traefik sur `pica02` est l'IP de la gateway du réseau `docker-ro`, tandis que sur `media` c'est bien l'IP de `monitoring`.
Ainsi, pour l'instant le dashboard ne fonctionne pas sur les VM ayant ce comportement. Faut-il chercher du côté d'`iptables` ? :-?