Introduzione

Rudder è uno strumento di configurazione e controllo continuo gratuito e open source che può essere utilizzato per automatizzare l'infrastruttura IT. È una soluzione basata su Web e multipiattaforma che rende la tua infrastruttura IT più affidabile e più facile da gestire. Viene fornito con una serie di regole che consentono di eseguire modelli di configurazione di basso livello e tenere d'occhio la conformità dell'infrastruttura. Fornisce un ricco set di funzionalità tra cui, inventario automatico dell'host, editor di criteri personalizzato, interfaccia Web intuitiva, back-end Git, gruppi dinamici con aggiornamento automatico, criteri riutilizzabili e molti altri.

Rudder è composto da diversi componenti:

  • Server Rudder: viene utilizzato per definire le configurazioni da applicare e raccoglie i report dell'applicazione.
  • Agents: Rudder si basa su un agente installato su ogni macchina gestita. È molto veloce e richiede solo 10 secondi per verificare 100 regole. Funziona su qualsiasi tipo di dispositivo.
  • Relay Servers: viene utilizzato per gestire nodi in reti diverse attraverso un unico punto di ingresso.

In questo tutorial, ti mostreremo come installare Rudder Server e Rudder Agent nel server Debian 10.

Prerequisiti

  • Due server che eseguono Debian 10.
  • Un utente sudo non root.

Se desideri installare Rudder System Auditing Tool su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Aggiornare il server

Prima di iniziare, è una buona idea aggiornare il sistema con l'ultima versione dei pacchetti disponibili. Puoi aggiornare il tuo sistema con il seguente comando:

sudo apt-get update
sudo apt-get upgrade -y

Installare Rudder Server

Prima di installare il server Rudder, è necessario installare alcune dipendenze nel sistema. È possibile installare tutte le dipendenze richieste utilizzando il comando seguente:

sudo apt-get install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common -y

Una volta installati i pacchetti, dovrai scaricare e aggiungere la chiave pubblica Rudder al tuo server.

Puoi scaricarlo e aggiungerlo con il seguente comando:

sudo wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | apt-key add -

Quindi, aggiungere il repository Rudder usando il comando seguente:

sudo sh -c 'echo "deb http://repository.rudder.io/apt/6.0/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list'

Infine, aggiorna il repository e installa il server Rudder eseguendo i comandi seguenti:

sudo apt-get update
sudo apt-get install rudder-server-root -y

Durante l'installazione, ti verrà chiesto di configurare il database per rsyslog-pgsql con dbconfig-common, scegli No e premi INVIO per avviare l'installazione. Una volta che l'installazione è stata completata correttamente, dovresti vedere il seguente output:

You can access it via https://TEST-SERVER-1/rudder

INFO: Launching script to check if a migration is needed ...
Done
INFO: Make sure Rudder webapp is started... Done
INFO: Make sure Apache HTTPd is started... Done
INFO: Agent certificate is missing, creating it... Done
INFO: No disable file detected and no agent executor process either. Restarting agent service...rudder-cf-serverd: enabled
rudder-cf-execd: enabled
ok: stop service rudder-agent succeeded
rudder-cf-serverd: enabled
rudder-cf-execd: enabled
ok: start service rudder-agent succeeded
 Done
INFO: Inventory older than 3 days, resending ...Rudder agent 6.0.4-debian10
Node uuid: root
Start execution with config [20200324-233340-d14b25fd]

M| State         Technique                 Component                 Key                Message
E| compliant     Inventory                 inventory                                    The inventory has been successfully sent
info     Rudder agent was run on a subset of policies - not all policies were checked

## Summary #####################################################################
1 components verified in 3 directives
   => 1 components in Enforce mode
      -> 1 compliant
Execution time: 8.76s
################################################################################
 Done
FINISH: Rudder agent check ran properly, please look at messages above to see if there has been any error.
Setting up ca-certificates-java (20190405) ...
head: cannot open '/etc/ssl/certs/java/cacerts' for reading: No such file or directory
....
Setting up rudder-server-root (6.0.4-debian10) ...
Created symlink /etc/systemd/system/multi-user.target.wants/rudder-server.service → /lib/systemd/system/rudder-server.service.
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for rsyslog (8.1901.0-1) ...
Processing triggers for systemd (241-7~deb10u3) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for ca-certificates (20190110) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.

Accedere all'interfaccia Web di Rudder

A questo punto Rudder è installato e funzionante. È possibile accedere all'interfaccia Web di Rudder.

Apri il tuo browser web e digita l'URL https://nome_dominio_o_ip/rudder. Verrai reindirizzato alla pagina di accesso di Rudder.

Fornire il nome utente e la password di Rudder come admin/admin e fare clic sul tasto SIGN IN. Dovresti vedere la dashboard di Rudder.

Si consiglia di modificare la password amministratore predefinita per motivi di sicurezza. Puoi anche elencare le tue reti consentite in Settings => General => Allowed Networks. È necessario aggiungere qui la rete se si desidera aggiungere un nodo da un network differente. Per impostazione predefinita, questo conterrà le reti dei server collegati.

Installare e configurare Rudder Agent

Successivamente, sarà necessario installare Rudder Agent sul sistema che si desidera gestire dal server Rudder.

Quindi collegarsi al secondo server Debian da utilizzare come Rudder Agent.

Per impostazione predefinita, Rudder Agent non è disponibile nel repository predefinito di Debian 10. Quindi dovrai aggiungere il repository Rudder al tuo sistema.

Innanzitutto, scarica e aggiungi la chiave pubblica Rudder con il seguente comando:

sudo wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | apt-key add -

Quindi, aggiungere il repository Rudder con il seguente comando:

sudo sh -c 'echo "deb http://repository.rudder.io/apt/6.0/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list'

Dopo aver aggiunto il repository, aggiornare il repository e installare Rudder Agent con il seguente comando:

sudo apt-get update
sudo apt-get install rudder-agent -y

Dopo aver installato Rudder Agent, sarà necessario definire l'indirizzo IP del server Rudder nel file di configurazione di Rudder Agent.

Puoi farlo modificando il seguente file:

sudo nano /var/rudder/cfengine-community/policy_server.dat

Aggiungi l'indirizzo IP del server Rudder, ovvero il primo server Debian configurato:

indirizzo_ip_del_server_rudder

Salva e chiudi il file al termine. Quindi, riavviare il servizio Rudder Agent per implementare le modifiche:

sudo systemctl restart rudder-agent.service

È ora possibile verificare il servizio di Rudder Agent con il comando seguente:

sudo systemctl status rudder-agent.service

Dovresti ottenere un messaggio di output simile al seguente:

● rudder-agent.service - Rudder agent umbrella service
   Loaded: loaded (/lib/systemd/system/rudder-agent.service; enabled; vendor preset: enabled)
   Active: active (exited) since Tue 2020-03-24 23:34:03 CET; 19min ago
     Docs: man:rudder(8)
           https://docs.rudder.io
 Main PID: 16577 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2301)
   Memory: 0B
   CGroup: /system.slice/rudder-agent.service

Verificare il Rudder Agent

Rudder Server e Ruder Agent sono ora installati e configurati. È tempo di verificare se Rudder Agent viene aggiunto o meno nel server Rudder.

Apri il tuo browser web e digita l'URL https://nome_dominio_o_ip/rudder fai clic su Node Management => Accept new nodes.

Fare clic sul tasto Accept per accettare il nuovo nodo, dovresti visualizzare la pagina di conferma.

Fare clic nuovamente sul pulsante Accetta per accettare il nuovo nodo. Dovresti vedere il nodo appena aggiunto.

Nella schermata, dovresti vedere il 100% di non conformità per un nodo appena aggiunto. Per risolvere questo problema, dovrai forzare l'esecuzione e l'inventario dell'agent eseguendo il comando seguente:

sudo rudder agent inventory

Dovresti vedere un messaggio di output simile al seguente:

Rudder agent 6.0.4-debian10
Node uuid: 312083012-1234234-c1234123123-128o13203
Start execution with config [12341234-345234-11h223198]

M| State         Technique                 Component                 Key                Message
E| compliant     Inventory                 inventory                                    The inventory has been successfully sent
## Summary #####################################################################
1 components verified in 3 directives
   => 1 components in Enforce mode
      -> 1 compliant
Execution time: 3.05s
################################################################################

Conclusione

In questo articolo abbiamo mostrato come installare il server Ruder su Debian 10 Buster. Abbiamo anche imparato come installare Rudder Agent e come aggiungerlo al server Rudder. Ora puoi aggiungere più nodi al tuo server Rudder e iniziare a gestirli. Per ulteriori informazioni sulla configurazione di Rudder, è possibile visitare il sito della documentazione di Rudder all'indirizzo Rudder Doc.