Ricerca nel sito web

Come installare un cluster di teletrasporto su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Installazione di Teleport su Debian Server
  3. Configurazione di Teleport Server
  4. Impostazione dell'utente Teleport
  5. Gestione del cluster di teletrasporto tramite la riga di comando
  6. Aggiunta di nodi al cluster di teletrasporto
    1. Aggiunta del client1 tramite script di installazione
    2. Aggiunta manuale del nodo client2

    Teleport è un open source che può essere utilizzato come piano di accesso per la tua infrastruttura globale. Fornisce accesso zero-trust a vari servizi come server, cluster Kubernetes, server di database, applicazioni DevOps come Console di gestione AWS, CI/CD, controllo della versione e desktop. Teleport è l'unica fonte di verità per l'accesso, sincronizzata nell'intera infrastruttura.

    Teleport può eliminare la necessità di servizi come le VPN fornendo un unico gateway per accedere alla tua infrastruttura informatica globale. È un proxy di accesso nativo dell'identità che ti consente di accedere alla tua infrastruttura in modo sicuro.

    Teleport è stato controllato pubblicamente da società di sicurezza come Cure53 e Doyensec. Teleport è attualmente implementato e utilizzato nella produzione da aziende come Samsung, NASDAQ, IBM, Epic Games e molte altre.

    In questa guida installerai e configurerai Teleport, il piano di accesso per la tua infrastruttura su un server Debian 11. Imparerai come inizializzare il cluster di teletrasporto sicuro, configurare l'utente di teletrasporto e quindi aggiungere nodi al cluster di teletrasporto con due metodi diversi.

    Prerequisiti

    Per iniziare, avrai bisogno dei seguenti requisiti:

    • Un server Debian 11 - Questo esempio utilizza un server Debian con nome host teleport-server con indirizzo IP 192.168.5.100.
    • Un utente non root con privilegi di amministratore sudo/root.
    • Un nome di dominio puntava all'indirizzo IP del server.
    • Letsencrypt SSL generato per il tuo nome di dominio.
    • App di autenticazione a due fattori come KeepassXC per utenti di computer, Aegis per utenti Android o Google Authenticator per iOS.

    Avrai anche bisogno di altri nodi/server che aggiungerai al server Teleport. Puoi usare diverse distribuzioni Linux, questo esempio usa due server client1 e client2 con entrambi anche il sistema Debian.

    Quando sei pronto per continuare, accedi con il tuo utente e inizia a eseguire i seguenti comandi per iniziare.

    Installazione di Teleport su Debian Server

    Innanzitutto, installerai i pacchetti Teleport sul server teleport. Teleport fornisce pacchetti DEB per distribuzioni basate su Debian e pacchetti RPM per distribuzioni basate su RHEL.

    In questo passaggio, aggiungerai il repository Teleport al tuo server Debian. Quindi installa i pacchetti Teleport tramite APT.

    Eseguire il comando apt di seguito per installare le dipendenze di base per la gestione dei repository.

    sudo apt install curl wget apt-transport-https gnupg2

    Immettere y quando richiesto e premere INVIO per procedere.

    Successivamente, esegui il comando seguente per caricare le variabili di ambiente disponibili nel file /etc/os-release.

    source /etc/os-release

    Esegui il comando curl di seguito per scaricare la chiave GPG del repository Teleport. Quindi, aggiungi il repository Teleport per le distribuzioni basate su Debian tramite i comandi echo e tee di seguito.

    sudo curl https://apt.releases.teleport.dev/gpg \
    -o /usr/share/keyrings/teleport-archive-keyring.asc
    echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} stable/v11" | \
    sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null

    Dopo aver aggiunto il repository Teleport, esegui il comando apt di seguito per aggiornare la cache del gestore pacchetti.

    sudo apt update

    Vedrai che il repository Teleport è stato aggiunto al tuo server Debian.

    Ora installa Teleport tramite il comando apt di seguito. L'installazione di Teleport dovrebbe ora iniziare automaticamente.

    sudo apt install teleport

    Dopo aver installato Teleport, puoi passare alla configurazione della tua distribuzione di Teleport.

    Configurazione di Teleport Server

    Per utilizzare Teleport, devi prima configurare il Teleport stesso. È necessario disporre del nome di dominio che verrà utilizzato per Teleport e dei certificati SSL generati per proteggere la distribuzione di Teleport.

    In questo passaggio, inizializzerai l'installazione di Teleport su un server Debian, abiliterai il dashboard dell'applicazione web di Teleport, quindi avvierai e abiliterai il servizio Teleport.

    Questo esempio utilizza il nome di dominio tele.hwdomain.io per la distribuzione di Teleport e i certificati SSL generati nella directory /etc/letsencrypt/live/tele.hwdomain.io/.

    Per iniziare, esegui il comando teleport di seguito per inizializzare la configurazione del server Teleport. Inoltre, assicurati di modificare il nome di dominio, il nome del cluster e il percorso di entrambi i certificati SSL, chiavi pubbliche e private.

    sudo teleport configure -o file \
    --cluster-name=tele.hwdomain.io \
    --public-addr=tele.hwdomain.io:443 \
    --cert-file=/etc/letsencrypt/live/tele.hwdomain.io/fullchain.pem \
    --key-file=/etc/letsencrypt/live/tele.hwdomain.io/privkey.pem

    Nell'output sul tuo terminale, dovresti vedere la configurazione di Teleport generata nel file /etc/teleport.yml.

    Successivamente, apri il file di configurazione di Teleport /etc/teleport.yaml utilizzando il comando nano editor di seguito.

    sudo nano /etc/teleport.yaml

    Aggiungi le seguenti righe alla fine della riga. Con queste righe abiliterai il servizio web Teleport che fornisce una dashboard di amministrazione. Inoltre, assicurati di cambiare il nome di dominio tele.hwdomain.io.

    app_service:
      enabled: yes
      apps:
      - name: "teleport-webapp"
        uri: "http://localhost:9000"
        public_addr: "tele.hwdomain.io"

    Salva il file ed esci dall'editor al termine.

    Ora esegui l'utilità di comando systemctl di seguito per avviare e abilitare il servizio Teleport.

    sudo systemctl start teleport
    sudo systemctl enable teleport

    Il servizio Teleport dovrebbe essere in esecuzione e abilitato, quindi il servizio verrà avviato automaticamente all'avvio. Verifica il servizio Teleport utilizzando il comando seguente.

    sudo systemctl status teleport

    Nell'output, dovresti vedere che lo stato del servizio Teleport è in esecuzione ed è abilitato.

    A questo punto, il tuo Teleport Cluster è in esecuzione con il servizio web abilitato su di esso. Per verificare che il servizio web Teleport sia abilitato, apri il tuo browser web e visita il nome di dominio della tua installazione Teleport (es: https://tele.hwdomain.io/).

    Ora dovresti ottenere la pagina di accesso al servizio web di Teleport.

    Nei passaggi successivi, inizierai a configurare l'utente amministratore di Teleport tramite la riga di comando e la dashboard di amministrazione web.

    Configurazione dell'utente di teletrasporto

    Il servizio Teleport e il servizio Web sono in esecuzione, ma non puoi ancora accedervi perché devi ancora aggiungere un nuovo utente Teleport. Con un utente Teleport, puoi gestire Teleport Cluster tramite le righe di comando (tctl e tsh) o utilizzando la dashboard di amministrazione web fornita dal servizio web Teleport.

    Prima di creare un utente Teleport, assicurati che l'app Two Factor Authentication sia installata sui tuoi dispositivi. Puoi utilizzare le app mobili tramite Aegis o Google Authentication oppure puoi utilizzare KeepassXC con un plug-in 2FA per gli utenti di computer.

    Sulla macchina del server di teletrasporto, esegui il comando seguente per creare un nuovo utente di Teleport.

    sudo tctl users add teleport-admin --roles=editor,access --logins=root,debian,ec2-user

    Questo comando creerà un nuovo utente teleport-admin con editor di ruoli e accesso. Inoltre, il flag --logins consente a teleport-admin di accedere a qualsiasi nodo tramite l'utente root, debian o ec2-user. Gli utenti dietro il flag --login devono essere creati sui nodi di destinazione.

    Di seguito è riportato l'output simile che dovresti ricevere sul tuo terminale: puoi vedere il collegamento generato che verrà utilizzato per configurare l'utente Teleport teleport-admin.

    Copia il link generato e incollalo nel tuo browser web. E dovresti ricevere il messaggio di benvenuto per la configurazione del nuovo utente di Teleport. Fare clic sul pulsante INIZIA per avviare la configurazione del nuovo utente.

    Ora inserisci il nome utente per il tuo utente Teleport e inserisci la nuova password complessa e ripeti. Quindi fare clic su AVANTI per continuare.

    Successivamente, devi impostare l'autenticazione a due fattori per il tuo utente Teleport. Scansiona il codice QR sullo schermo per aggiungere la nuova applicazione alla tua applicazione 2FA.

    Inserisci il codice di autenticazione generato dalla tua applicazione 2FA e fai clic su INVIA.

    Se il codice 2FA è corretto, dovresti visualizzare il messaggio Registrazione riuscita sullo schermo. Ciò significa che il nuovo utente teleport-admin viene aggiunto e configurato.

    Fai clic su VAI ALLA DASHBOARD.

    Ora dovresti ottenere il dashboard di amministrazione web della tua distribuzione di Teleport, che funziona in modo sicuro con HTTPS abilitato e l'utente viene creato con 2FA abilitato.

    Gestione del cluster di teletrasporto tramite la riga di comando

    Teleports fornisce le righe di comando tsh e tctl che possono essere utilizzate per la gestione di Teleport Cluster. Entrambe le righe di comando sono incluse per impostazione predefinita nel pacchetto Teleport.

    Il comando tsh consente agli utenti di autenticare e gestire Teleport Cluster dal terminale. Puoi aggiungere, modificare o eliminare risorse Teleport nel cluster. Per motivi di sicurezza, devi eseguire il comando tsh come utente non root.
    Il comando tctl per impostare e configurare il servizio di autenticazione di Teleport. Questo deve essere eseguito con privilegi sudo o root.

    In questo passaggio, accederai e gestirai Teleport Cluster tramite entrambe le righe di comando tsh e tctl.

    Innanzitutto, accedi all'utente non root tramite il comando seguente. Questo esempio usa l'utente debian.

    su - debian

    Ora esegui il comando tsh di seguito per autenticarti nel tuo cluster di teletrasporto. Questo esempio eseguirà l'autenticazione nel cluster Teleport che viene eseguito sul nome di dominio tele.hwdomain.io con l'utente teleport-admin.

    tsh login --proxy=tele.hwdomain.io --user=teleport-admin

    Ti verrà chiesto di inserire la password per l'utente teleport-admin e inserire il codice di autenticazione OTP. Inserisci la password corretta per il tuo utente e il codice OTP corretto dalla tua applicazione 2FA.

    Una volta eseguita l'autenticazione, dovresti ricevere le connessioni dettagliate al cluster di teletrasporto come segue.

    Puoi anche verificare la connessione corrente al Teleport Cluster tramite il comando tsh sottostante. Questo genererà lo stesso output dello screenshot in alto.

    tsh status

    Ora che ti sei autenticato al Teleport Cluster tramite tsh, ora puoi gestire le risorse in Teleport tramite terminale.

    Esegui il comando tsh di seguito per controllare l'elenco di host/nodi/server disponibili sul cluster Teleport.

    tsh ls

    Ora verifica l'applicazione abilitata su Teleport CLuster tramite il comando tsh di seguito.

    tsh apps ls

    Nell'output, dovresti vedere che un nodo è disponibile sul Teleport Cluster (teleport-server) e l'applicazione teleport-webapp è abilitata.

    Successivamente, puoi anche accedere ai nodi disponibili sul Teleport Cluster tramite il comando tsh come di seguito. Con questo, accederai al server di teletrasporto tramite il comando tsh con l'utente root o/e debian.

    tsh ssh 

    Dovresti vedere l'output come il seguente: con entrambi i comandi tsh hai effettuato correttamente l'accesso al server di teletrasporto tramite il comando tsh.

    Per il comando tctl, dovresti eseguire con sudo all'inizio. Esegui il comando tctl di seguito per controllare i nodi/server disponibili sul cluster di teletrasporto.

    sudo tctl nodes ls

    Nella fase successiva, imparerai come aggiungere nodi/server al cluster di teletrasporto tramite due metodi diversi, automaticamente tramite il dashboard di amministrazione web o manualmente tramite la riga di comando.

    Aggiunta di nodi al cluster di teletrasporto

    Per aggiungere nodi/server al Teleport Cluster, devi assicurarti che il server sia raggiungibile. E puoi utilizzare due metodi diversi per aggiungere nodi/server al tuo cluster di teletrasporto.

    Puoi utilizzare Teleport come gestione del piano di controllo per diversi servizi come server, cluster Kubernetes, server database, applicazioni e desktop.

    In questo passaggio, aggiungerai due diversi server al Teleport CLuster. Aggiungerai la macchina client1 tramite lo script di installazione che verrà generato dalla dashboard di amministrazione web e aggiungerai la macchina client2 manualmente tramite la riga di comando.

    Aggiunta di client1 tramite script di installazione

    Innanzitutto, torna alla dashboard di amministrazione web di Teleport e fai clic sul pulsante AGGIUNGI SERVER.

    Seleziona il tipo di risorsa che desideri aggiungere. Puoi aggiungere cluster Kubernetes, server di database, applicazioni e desktop. Selezionare SERVER per aggiungere il tipo di risorsa server e fare clic su AVANTI.

    Ora vedrai lo script di installazione e la riga di comando generati che possono essere utilizzati per aggiungere la macchina client1. Copia la riga di comando generata.

    Ora accedi alla macchina client1, accedi ai privilegi di root tramite il comando sudo, quindi incolla ed esegui la riga di comando generata sulla macchina client1. Questo scaricherà lo script generato sul computer client1 ed eseguirà lo script.

    Riceverai un output simile a questo sul tuo terminale: lo script di installazione aggiungerà la macchina client1 utilizzando il token generato e il pin ca del cluster di teletrasporto. Inoltre, lo script di installazione rileverà automaticamente il tuo attuale sistema operativo, installerà automaticamente il pacchetto Teleport e genererà il file di configurazione di Teleport /etc/teleport.yaml.

    Al termine del processo, dovresti ricevere l'output in questo modo. Anche il servizio Teleport sulla macchina client1 è stato avviato e abilitato automaticamente.

    Ora torna alla dashboard di amministrazione web di Teleport e dovresti vedere un messaggio come Il server si è unito correttamente a questo cluster di Teleport. Fare clic su AVANTI per continuare.

    Ora inserisci i nomi utente autorizzati ad accedere alla macchina client1. Assicurati che gli utenti siano disponibili e creati sulla macchina client1. Fare di nuovo clic su AVANTI per continuare.

    Infine, puoi verificare le connessioni alla macchina client1 utilizzando i passaggi disponibili nella dashboard di amministrazione web.

    • Per prima cosa, seleziona l'utente che desideri utilizzare per accedere.
    • In secondo luogo, fai clic sul pulsante TEST SERVER al passaggio 2 e assicurati che tutti i test siano selezionati/contrassegnati come completati.
    • Infine, fai clic sul pulsante INIZIA SESSIONE che aprirà automaticamente una nuova scheda sul tuo browser Web e accederà alla macchina client1 tramite l'utente selezionato.

    Di seguito è riportato lo screenshot della sezione Verifica connessione con lo stato riuscito.

    Di seguito è riportato lo screenshot dopo l'accesso al computer client1 tramite la SESSIONE INIZIALE nel passaggio 3.

    Fare clic su FINE per completare i processi.

    Verrai quindi reindirizzato alla dashboard di amministrazione web di Teleport e dovresti vedere che la macchina client1 è stata aggiunta al cluster di Teleport.

    Puoi anche verificare l'elenco dei nodi/server sul Teleport Cluster tramite le righe di comando tsh e tctl.

    Torna al server di teletrasporto ed esegui il comando seguente per verificare l'elenco di nodi/server sul cluster di teletrasporto.

    tsh ls
    sudo tctl nodes ls

    Dovresti ricevere l'output simile a questo: la macchina client1 è disponibile e aggiunta al cluster Teleport.

    Infine, esegui il seguente comando tsh per accedere alla macchina client1 come utente debian. Ora dovresti essere connesso alla macchina client1 tramite Teleport.

    tsh ssh 

    Di seguito è riportata la schermata del terminale dopo l'accesso alla macchina client1 tramite Teleport.

    Con questo in mente, ora hai aggiunto con successo il nodo/server client1 al Teleport Cluster automaticamente tramite lo script di installazione generato dal dashboard di amministrazione web di Teleport.

    Aggiunta manuale del nodo client2

    Esegui il comando seguente per controllare l'impronta digitale del pin CA del tuo cluster di teletrasporto. L'impronta digitale del pin CA verrà utilizzata per aggiungere la macchina client2.

    sudo tctl status

    Di seguito è riportato un output simile che dovresti ricevere: assicurati di copiare l'impronta CA pin.

    Quindi, esegui il comando tctl di seguito per generare un nuovo token che la macchina client2 utilizzerà per unirsi al cluster Teleport. Quindi, verifica l'elenco dei token sul tuo cluster di teletrasporto.

    sudo tctl nodes add --ttl=30m --roles=node | grep "invite token:" | grep -Eo "[0-9a-z]{32}"
    sudo tctl token ls

    Dovresti ricevere un output simile a questo: assicurati di copiare il token generato che la macchina client2 utilizzerà per unirsi al cluster Teleport.

    Ora connettiti alla macchina client2 e installa il pacchetto Teleport tramite APT.

    Esegui il comando seguente per aggiungere il repository Teleport alla macchina client2.

    Carica le variabili d'ambiente nel file /etc/os-release.

    source /etc/os-release

    Aggiungi la chiave e il repository di Teleport GPG.

    sudo curl https://apt.releases.teleport.dev/gpg \
    -o /usr/share/keyrings/teleport-archive-keyring.asc

    echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} stable/v11" | \
    sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null

    Ora esegui il comando apt di seguito per aggiornare e aggiornare l'indice del pacchetto di sistema. Quindi, installa Teleport tramite il comando apt di seguito.

    sudo apt update
    sudo apt install teleport

    L'installazione di Teleport dovrebbe ora iniziare.

    Dopo aver installato il pacchetto Teleport, crea un nuovo file di configurazione di Teleport /etc/teleport.yaml utilizzando il comando nano editor di seguito.

    sudo nano /etc/teleport.yaml

    Aggiungi le seguenti configurazioni di Teleport al file. Assicurati di cambiare il namenode con il nome host della macchina, il token_name con il token generato, il proxy_server con il nome di dominio del tuo Teleport Cluster e il ca_pin con l'impronta digitale del pin CA del Teleport Cluster.

    version: v3
    teleport:
      nodename: client2
      data_dir: /var/lib/teleport
      join_params:
        token_name: 361b76eac6360da13f1a202fa8164024
        method: token
      proxy_server: tele.hwdomain.io:443
      log:
        output: stderr
        severity: INFO
        format:
          output: text
      ca_pin: sha256:2c96568d7bfa05f0a32b7681eb31b52a5c2a3414274579cbe9ece23e0b5e5443
      diag_addr: ""
    auth_service:
      enabled: "no"
    ssh_service:
      enabled: "yes"
      commands:
      - name: hostname
        command: [hostname]
        period: 1m0s
    proxy_service:
      enabled: "no"
      https_keypairs: []
      acme: {}

    Salva il file ed esci dall'editor al termine.

    Successivamente, esegui l'utilità di comando systemctl di seguito per avviare e abilitare il servizio Teleport sulla macchina client2.

    sudo systemctl start teleport
    sudo systemctl enable teleport

    Quindi verificare il servizio Teleport tramite il comando seguente.

    sudo systemctl status teleport

    Dovresti ricevere l'output simile allo screenshot seguente: il servizio Teleport sul computer client2 è configurato, è in esecuzione e abilitato.

    Ora torna al terminale teleport-server per verificare l'elenco dei nodi/server disponibili da lì. Esegui il comando seguente per controllare l'elenco dei nodi sul cluster di teletrasporto

    sudo tctl nodes ls

    Dovresti vedere che la macchina client2 è disponibile e aggiunta al cluster Teleport.

    Successivamente, esegui il comando tsh di seguito per accedere alla macchina client2 tramite Teleport SSH. Ora dovresti essere connesso alla macchina client2 tramite Teleport. Assicurarsi che l'utente debian sia disponibile sulla macchina client2.

    tsh ssh 

    Di seguito è riportato l'output che dovresti ottenere dopo aver effettuato l'accesso alla macchina client2 tramite Teleport.

    Ora torna al dashboard di amministrazione web di Teleport e dovresti vedere che la macchina client2 è disponibile sul cluster Teleport.

    Infine, fai clic sul pulsante CONNECT sulla macchina client2 per avviare e connetterti a client2. Ora dovresti aver effettuato l'accesso alla macchina client2 tramite la dashboard di amministrazione web di Teleport.

    Con questo in mente, ora hai aggiunto e configurato correttamente la macchina client2 manualmente generando un token Teleport, utilizzando l'impronta digitale del pin CA del cluster Teleport, installando il pacchetto Teleport e creando un file di configurazione Teleport.

    Conclusione

    La tua infrastruttura server è ora protetta tramite Teleport Cluster e ora puoi disabilitare i servizi SSH su ogni nodo e consentire solo l'accesso dal server Teleport. Ora hai imparato come installare Teleport Cluster su un sistema Debian 11 e imparato la configurazione di base per configurare Teleport.

    Hai anche imparato come configurare gli utenti di Teleport con l'autenticazione a due fattori abilitata e come utilizzare le righe di comando di Teleport (tsh e tctl) per gestire il cluster di Teleport.

    Infine, hai configurato e aggiunto correttamente due nodi client1 e client2 al Teleport Cluster utilizzando due metodi diversi. Il primo metodo è tramite lo script di installazione generato dal dashboard di amministrazione web di Teleport. Il secondo metodo aggiunge manualmente nodi/server installando e configurando Teleport sul computer di destinazione.