Bastion RDP avec Teleport
Nombre de machines limité
Teleport dans sa version Community Edition ne supporte que 5 PC maximum (hors AD). Personnellement je préfère Meshcentral à Teleport.
Windows 11
Afin de bénéficier de l'auto-login lors de la connexion à une machine Windows 11, il faut désactiver la Protection de l'autorité de sécurité locale dans les paramètres Isolation du noyau. Baisser la sécurité d'un système n'est clairement pas une pratique que je recommande. Cela se limitera donc au lab.
Prérequis
- Un serveur GNU/Linux avec Teleport
- Un serveur DNS local
- Une autorité de certification (Step CA) ou avoir un outil pour générer des certificats (openssl, mkcert...)
- Une ou deux machines Windows (version 10 et/ou 11)
Configuration du serveur Teleport
Nous allons configurer le serveur directement. Sachez qu'il est possible de passer par un proxy Teleport.
Editez le fichier /etc/teleport.yml
/etc/teleport.yaml
version: v3
teleport:
nodename: srv-teleport-lab
# Ajout du répertoire contenant le token temporaire
# pour les machines Windows
auth_token: /tmp/token
data_dir: /var/lib/teleport
log:
output: stderr
severity: INFO
format:
output: text
ca_pin: ""
diag_addr: ""
auth_service:
enabled: "yes"
listen_addr: 0.0.0.0:3025
cluster_name: teleport.maison.lab
proxy_listener_mode: multiplex
ssh_service:
enabled: "yes"
proxy_service:
enabled: "yes"
web_listen_addr: 0.0.0.0:443
public_addr: teleport.maison.lab:443
https_keypairs:
- key_file: /var/lib/teleport/teleport.key
cert_file: /var/lib/teleport/teleport.crt
https_keypairs_reload_interval: 0s
acme: {}
# Déclaration du service Windows desktop
windows_desktop_service:
enabled: yes
listen_addr: 0.0.0.0:3028
public_addr: teleport.maison.lab:3028
# Déclaration des hôtes WIndows
static_hosts:
- name: cltwin-01 # Windows 11
ad: false
addr: 192.168.1.228
- name: cltwin-02 # Windows 10
ad: false
addr: 192.168.1.229
```
On crée ensuite un token valable 30 minutes.
```bash "Création du token"
tctl tokens add --type=windowsdesktop
Copiez ce token et collez-le dans /tmp/token
.
Relancez le service Teleport.
Sur l'interface web de Teleport, rendez-vous sur Access Management > Users et éditez votre utilisateur. Ajoutez une key windows_login
et renseignez le nom d'utilisateur qui existe localement sur vos machines Windows. Dans ma cas, cela sera localadm
.
Afin que cela soit pris en compte une fois validé, vous devez vous déconnecter de l'application puis vous reconnectez.
Configuration de Teleport sur les postes Windows
Particularité de Windows 11
Comme indiqué en introduction, nous devons désactiver la Protection de l'autorité de sécurité locale dans les paramètres Isolation du noyau, sinon vous devrez vous identifier manuellement lors de la connexion à distance au système.
Redémarrez le PC.
Sur Windows 10 et 11
1ère étape : Activez le bureau à distance.
2ème étape : Importez le certificat de votre CA dans les autorités de confiance avec certlm.msc
exécuté en tant qu'administrateur.
3ème étape : Installez Curl. Récupérez l'archive ici https://curl.se/windows/dl-8.10.1_2/curl-8.10.1_2-win64-mingw.zip et dézipez là dans c:\curl.
4ème étape : Ouvrez une console en tant qu'administrateur puis saisissez les commandes suivantes.
cd c:\curl
.\curl.exe --ssl-no-revoke -fo teleport.cer https://teleport.maison.lab/webapi/auth/export?type=windows
.\curl.exe -fo teleport-windows-auth-setup-v16.4.10-amd64.exe https://cdn.teleport.dev/teleport-windows-auth-setup-v16.4.10-amd64.exe
.\teleport-windows-auth-setup-v16.4.10-amd64.exe install --cert=teleport.cer -r
Et voilà. Vous devriez être en mesure d'accéder aux machines Windows déclarées depuis l'interface web.
Notez que si vous souhaitez pouvoir bénéficier des fonctionnalités comme le clipboard, il vous faudra passer par Chrome ou Chromium car non disponible sur Firefox.
Remarquez la page concernant le blocage des programmes par Windows 11. Solution proposée : désactiver le message indiquant que le module ne peut être chargé. Du Microsoft dans toute sa splendeur.
Conclusion
Il est possible de passer par l'AD. Cela remonte automatiquement toutes les machines intégrées à l'AD et sans limite du nombre de postes. Cependant cela implique de monter une autorité de certification sur le serveur AD. J'ai tenté de produire moi-même le certificat sans passer par Windows et ce fut une galère sans nom qui n'a jamais abouti.
Au final je me suis tourné vers Meshcentral qui répond à mes attentes avec les fonctionnalités d'un RMM. Et si besoin d'un accès temporaire et de manière ponctuelle, pensez à Rustdesk.