enix.teleport

enix.teleport

Un rôle pour déployer et configurer teleport et ses extensions sur des hôtes unix en utilisant Ansible.

[!WARNING] Ce rôle Ansible n'est plus maintenu et le projet est maintenant en lecture seule. Merci.

Exigences

Cibles supportées :

  • Ubuntu 18.04 "Bionic"
  • Ubuntu 20.04 "Focal"
  • Ubuntu 22.04 "Jammy"
  • Debian 7 "Wheezy"
  • Debian 8 "Jessie"
  • Debian 9 "Stretch"
  • Debian 10 "Buster"
  • Debian 11 "Bullseye"
  • Debian 12 "Bookworm"

Variables de rôle

Ce rôle vient préchargé avec presque toutes les options par défaut disponibles. Vous pouvez remplacer chacune dans vos vars d'hôtes/de groupe, dans votre inventaire ou dans votre play. Consultez les valeurs par défaut annotées dans defaults/main.yml pour vous aider dans la configuration. Toutes les variables fournies commencent par teleport__.

  • teleport__version: 10 - Version majeure / branche du binaire à installer, la version par défaut dans le repo est 8. Disponibles maintenant : 8, 9, 10, 11.
  • teleport__agent: false - Configure et active le logiciel d'agent teleport.
  • teleport__bind_addr: 0.0.0.0 - Adresse de liaison utilisée pour par défaut toutes les autres configurations d'adresse de liaison.
  • teleport__nodename - Nom sous lequel l'agent teleport se connecte à son proxy. S'il n'est pas défini, aucun nom de nœud ne sera configuré et Teleport utilisera par défaut le nom d'hôte de la machine.
  • teleport__diag: false - Active le point de terminaison de surveillance HTTP de teleport.
  • teleport__diag_addr: "127.0.0.1" - Adresse de liaison pour le point de terminaison de surveillance HTTP.
  • teleport__diag_port: 3000 - Port à lier pour le point de terminaison de surveillance HTTP.
  • teleport__node: false - Configure et active le rôle de nœud teleport.
  • teleport__node_token: "" - Jeton utilisé pour rejoindre le proxy.
  • teleport__node_server: "" - URL du serveur proxy.
  • teleport__proxy: false - Active le mode proxy dans teleport.
  • teleport__proxy_public_addr: "" - Adresse publique exposée par le proxy.
  • teleport__proxy_acme: false - Active le protocole ACME pour le certificat public. Lorsque désactivé, Teleport recherchera le certificat dans /etc/letsencrypt/live/{{ teleport__proxy_public_addr }}
  • teleport__proxy_acme_email: "" - Email pour la demande ACME.
  • teleport__auth: false - Active le rôle d'authentification teleport.
  • teleport__auth_cluster_name: "" - Nom du cluster d'authentification teleport.
  • teleport__auth_u2f: false - Active U2F (configuration non-webauthn de l'ancien style).
  • teleport__auth_addr: {{ teleport__bind_addr }} - Adresse de liaison pour le service d'authentification teleport.
  • teleport__auth_port: 3025 - Port à lier pour le service d'authentification teleport.
  • teleport__ssh_addr: {{ teleport__bind_addr }} - Adresse de liaison pour le service ssh teleport.
  • teleport__ssh_port: 3022 - Port à lier pour le service ssh teleport.
  • teleport__ssh: false - Active le module ssh teleport.
  • teleport__ssh_labels: '' - Ajouter des labels au module ssh (format yaml).
  • teleport__ssh_pam_enabled: true - Active PAM.
  • teleport__ssh_pam_service: 'sshd' - Nom du service PAM.
  • teleport__app: false - Active le module d'application teleport.
  • teleport_applications: [] - Liste des applications, définies comme un dict avec les clés suivantes :
    • name - Nom de l'application.
    • uri - URI à inverser-proxy.
    • skip_verify: false - Indique s'il faut ou non ignorer la vérification du certificat sur l'URI cible.
  • teleport__web_addr: {{ teleport__bind_addr }} - Adresse de liaison pour le service web teleport.
  • teleport__web_port: 443 - Port à lier pour le service web teleport.
  • teleport__tunnel_addr: {{ teleport__bind_addr }} - Adresse de liaison pour le service tunnel.
  • teleport__tunnel_port: 3024 - Port à lier pour le service tunnel teleport.
  • teleport__binary_compat: false - S'il est vrai, déploiera une version binaire avec plus de compatibilité glibc, en plus du paquet. (Fait automatiquement sur les versions debian avant buster (10)).
  • teleport__install_repo: true - À mettre sur false si vous souhaitez éviter l'installation du repo (utile pour un environnement airgap - installer manuellement puis utiliser ce rôle pour configurer le tout).

Dépendances

  • Aucune

Utilisation

Utilisez les exigences Ansible galaxy requirements.yml

# teleport de enix
# rôle privé
- src: git+ssh://[email protected]/ansible/ansible-teleport.git
  name: enix.teleport

Et ajoutez-le aux rôles de votre play :

# Exemple de nœud
- hosts: all
  roles:
    - role: enix.teleport:
        teleport__agent: true
        teleport__version: 9
        teleport__nodename: "test.node"
        teleport__node: true
        teleport__node_token: "gjlksfdjglkfsdjlkgfds9423"
        teleport__node_server: "https://toto.tp.com:3025"
        teleport__ssh: true
        teleport__ssh_labels:
          tenant: toto.com
# Exemple de proxy
- hosts: all
  roles:
    - role: enix.teleport:
        teleport__agent: true
        teleport__version: 10
        teleport__nodename: "toto.proxy"
        teleport__proxy: true
        teleport__proxy_public_addr: "toto.tp.com"
        teleport__proxy_acme: false
        teleport__proxy_acme_email: "[email protected]"
        teleport__auth: true
        teleport__auth_cluster_name: "toto.tp.com"
        teleport__ssh: true
        teleport__ssh_labels:
          tenant: toto.com

Journal des modifications

1.9.1

Ajout du support pour PAM

1.9.0

Correction d'un problème avec le paquet UnHold Changement de la version par défaut en 10 Ajout de tests molecule

1.8.2

Support de VyOS Permet de remplacer ansible_distribution dans l'URL du dépôt APT

1.8.1

Ajout de l'option config Ansible

1.8.0

Rendre le nom de nœud optionnel (Teleport utilisera par défaut le nom d'hôte)

1.7.1

Correction d'un message d'erreur lorsque la cible n'est pas debian-like. Utilisation d'une nouvelle méthode de vérification de signature de paquet lorsque applicable, et nettoyage de la gestion du dépôt.

1.7.0

Ajout du support U2F de l'ancien style (non-webauthn)

1.6.1

Correction de la configuration diag en double

1.6.0

Ajout du support pour le point de terminaison diags HTTP

1.5.2

Correction d'une erreur de linting YAML

1.5.1

Changement cosmétique dans le modèle teleport.yaml pour éviter un diff inutile

1.5.0

Support du service d'application

1.4.0

Support des certificats LE générés en dehors de teleport (ACME désactivé)

1.3.1

Correction d'un manque de slash final sur le dépôt debian legacy

1.3.0

Ajout du support pour la mise à jour teleport en utilisant teleport (le gestionnaire attendra que la connexion soit active).

Suppression forcée du dépôt apt legacy.

Mise à jour automatiquement du paquet teleport si une version plus récente est disponible.

1.2.0

Ajout du support d'adresse de liaison du proxy

1.1.0

Revenir au dépôt debian de teleport avec des versions majeures.

1.0.0

Utiliser par défaut le dépôt debian d'Enix.

0.9.2

Mise à jour du binaire de compatibilité à la version 8.3.8

0.9.1

Ajout de la compatibilité binaire centos 6 (debian 8 jessie)

0.9.0

Version initiale.

Licence

GPLv2

Informations sur l'auteur

Laurent Corbes laurent.corbes@enix.fr - http://www.enix.io

À propos du projet

Ansible role to deploy teleport software

Installer
ansible-galaxy install enix.teleport
Licence
Unknown
Téléchargements
924
Propriétaire
Enix