Installazione del Password Manager Web-Based Teampass su Ubuntu 16.04

da | Nov 11, 2017

Teampass è un gestore password web based utile per memorizzare e accedere alle password in modo sicuro utilizzando il database MySQL.
È stato progettato per l’ambiente aziendale e fornisce un potente strumento per personalizzare l’accesso delle password a seconda del ruolo degli utenti.
Questo articolo spiega come installare e configurare Teampass su Ubuntu 16.04 con Apache e Mysql.

PRE REQUISITI

Apache, MySQL, PHP 5.5.0 o superiore
Estensioni PHP: mcrypt, openssl, ldap (if used), mbstring, bcmath, iconv, xml, gd, openssl, mysqlnd
Unzip

INSTALLAZIONE UNZIP

Installare il pacchetto unzip con il comando

INSTALLAZIONE APACHE E MYSQL SERVER

Apache2 è disponibile come pacchetto in Ubuntu, installarlo utilizzando il seguente comando.
La directory principale del virtual host predefinito di Apache è /var/www/html e il file di configurazione principale è /etc/apache2/apache2.conf

Lanciamo il comando:

Installiamo anche il MySQL Server con il comando:

Inserire la password dell’utente di root di MySQL

Reinserire la password di root quindi OK

Facoltativamente, è possibile procedere con l’installazione sicura di MySql.
Basta rispondere a poche domande per un’installazione sicura.

Lanciamo il comando:

Quindi rispondiamo alle domande come segue:

INSTALLAZIONE PHP

Installiamo il PHP 7 ed i moduli di Apache

Ora installare tutte le estensioni php richieste da teampass con il comando

Verifichiamo la versione PHP con il comando

Dovremmo leggere le seguenti righe

CREAZIONE DATABASE IN MYSQL

Procedere alla creazione del database con relativa utenza per Teampass

Creaimo il database con il comando:

Se è tutto OK dovremmo leggere le seguenti righe:

Query OK, 1 row affected (0,00 sec)

Creaimo l’utenza con relativa password:

Al posto di PASSWORD-USER inserire la password desiderata

Se è tutto OK dovremmo leggere la seguente riga:

Query OK, 0 rows affected, 1 warning (0,00 sec)

Lanciamo quindi il comando:

Se è tutto OK dovremmo leggere la seguente riga:

Query OK, 0 rows affected (0,00 sec)

Usciamo dalla configurazione di MySQL con il comando:

CONFIGURAZIONE DI APACHE PER TEAMPASS

Procediamo al download teampass da github e alla scompattazione nella root folder del webiste in /var/www/html

Posizioniamoci nella cartella /var/www/html con il comando:

Scarichiamo Teampass con il comando:

Scompattiamo il file zippato con il comando:

Spostiamo la cartella TeamPass-master in teampass con il comando:

Quindi cambiamo i permessi con il comando:

Modificare il tempo massimo di esecuzione di PHP portandolo a 120 con il comando:

Di default il valore dovrebbe essere max_execution_time = 30

Impostiamo quindi la con riga max_execution_time = 120

Riavviamo Apache per applicare le modifiche con il comando:

Creare la Cartella Teampass Key all’interno del path /var/www/html/teampass quindi modificare i permessi e l’owner.

Eseguiamo i tre comandi elencati di seguito:

Adesso lanciamo i seguenti comandi per poter installare il software senza problemi:

INSTALLAZIONE TEAMPASS

Richiamare da un quaisasi browser il link http://IP_SERVER/teampass

Cliccare Next

Lasciare tutto inviariato quindi cliccare Launch

Se non c’è nessun problema dovremmo vedere una schermata come quella sovrastante senza nessun errore.
In caso di errori correggerli e cliccare su Restart per ripetere i controlli lato Server.
Cliccare su Next per procedere con l’installazione

Inserire tutti i dati per la connessione dal database MySQL
Cliccare Launch

Se è tutto OK dovremmo vedere una schermata come quella sovrastante
Quindi clicchiamo su Next per procedere con l’installazione

Settare il path per la Saltkey (abbiamo creato la cartella in precedenza) quindi inserire una passowrd per l’Administrator
Cliccare su Launch

Se è tutto corretto dovremmo vedere una schermata come quella sovrastante.
Clicchiamo su Next per procedere

Cliccare su Launch per iniziare a popoplare il database

Cliccare su Next per continuare l’installazione

Cliccare su Launch per scrivere tutti i settaggi nei files di configurazione

Se è tutto ok dovremmo vedere una schermata come quella sovrastante
Cliccare su Next per procedere

Cliccare su Move to Home Page

ATTENZIONE: Prima di accedere alla pagina web di Teampass collegarsi al server in SSH e verificare se la cartella INSTALL è presente.
Se presente lanciare il seguente comando per cancellare la cartella di installazione:

Richiamando il link Http://IP_DEL_SERVER/teampass

Accedere con l’utenza admin e la password settata in precedenza quindi procedere alla configurazione del software.

CONFIGURARE TEAMPASS IN HTTPS

Per la generazione del certifcato lanciare il seguente comando:

NOTA BENE:

openssl: Questo è lo strumento da riga di comando di base per la creazione e la gestione di certificati OpenSSL, chiavi e altri file.
req: Questo sottocomando specifica che vogliamo utilizzare la gestione della richiesta di firma di certificati X.509 (CSR). Il “X.509” è uno standard di infrastruttura chiave pubblica che SSL e TLS aderiscono per la gestione delle chiavi e del certificato. Vogliamo creare un nuovo X.509 cert, quindi stiamo usando questo sottocomando.
-x509: questo modifica ulteriormente il precedente sottocomando dicendo all’utility che vogliamo creare un certificato auto-firmato anziché generare una richiesta di firma del certificato, come accade normalmente.
-nodi: questo indica a OpenSSL di ignorare l’opzione per proteggere il nostro certificato con una passphrase. Abbiamo però bisogno di Apache per poter leggere il file, senza intervento dell’utente, quando il server viene avviato. Una passphrase impedirebbe che questo accada perché dovremmo entrare dopo ogni riavvio.
-days 365: Questa opzione imposta la durata del tempo in cui il certificato sarà considerato valido.
-newkey rsa: 2048: specifica che vogliamo generare un nuovo certificato e una nuova chiave contemporaneamente. Non abbiamo creato la chiave necessaria per firmare il certificato in un passaggio precedente, quindi abbiamo bisogno di crearlo insieme al certificato. La parte di rsa: 2048 gli dice di fare un tasto RSA che sia lungo 2048 bit.
-keyout: questa riga dice a OpenSSL dove posizionare il file di chiave privata generato che stiamo creando.
-out: Questo indica a OpenSSL dove inserire il certificato che stiamo creando.

Rispondere alle domande come riportato di seguito:

Generare il certificato con il comando ed attendere qualche minuto:

CONFIGURARE APACHE PER L’UTILIZZO DI SSL

Per permettere ad Apache di utilizzare l’SSL creare il seguente file:

Inseriamo nel file di configurazione le seguenti righe:

Salviamo e chiudiamo il file ssl-params.conf

MODIFICA DEL FILE SSL VIRTUAL HOST SU APACHE

Per sicurezza facciamo una copia del file default-ssl.conf con il comando

Aprire il file di configurazione con il comando:

Di seguito il contenuto del file originale.

Le righe da modificare sono le seguenti:

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin [email protected]
ServerName nome_del_server_o_indirizzo_IP

DocumentRoot /var/www/html

# Available loglevels: trace8, …, trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with “a2disconf”.
#Include conf-available/serve-cgi-bin.conf

# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on

# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/apache2/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

Quindi decommentare le seguenti righe (sono al fondo del file di configurazione):

BrowserMatch “MSIE [2-6]” \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0

Salvare il file e chiuderlo

Apriamo il file di configurazione 000-default.conf per impostare il redirect in HTTPS

Inserire all’interno del VirtualHost la riga sul redirect

Dovremmo vedere una schermata come quella sovrastante

Salvare e chiudere il file di configurazione

ABILITARE LE MODIFICHE IN APACHE

Lanciamo i seguenti comandi in sequenza:

Riavviamo Apache per applicare le modifiche

Adesso se proviamo a richiamare il nostro teampass con il link

https://IP_SERVER/teampass

Dovrebbe risponderci il teampass

A questo punto possiamo impostare il Redirect permanente e quindi consentendo solo il traffico crittografato.

Per fare questo dobbiamo modificare nuovamente l’host virtuale apache non crittografato per rendere permanente il reindirizzamento.

Apriamo il file sudo nano 000-default.conf con il comando

Modifichiamo la riga creata in precedenza aggiungendo “permanent”

Redirect permanent “/” “https://NOME_SERVER_O_IP_ADDRESS/”

Se è tutto corretto dovremmo vedere una schermata come quella sovrastante

Salvare e chiudere il file

Testiamo quindi la configurazione di Apache con il comando:

Se è tutto ok dovremmo ricevere il messaggio Syntax OK

Riavviamo Apache per applicare le modifiche:

Adesso se proviamo a richiamare il sito in http vedremo che andarà in automatico in https.

Scritto da Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360°…
Mi sono avvicinato al mondo dell’informatica nel lontano 1996 con Windows 95 e da allora non ho più smesso di dedicarmi allo studio ed approfondimento di questo settore.
Laureato in Ingegneria Informatica nel 2009, lavoro nel campo dell’IT dal lontano 2001.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Infrastrutture IT
  • ACT For Cange  Mental Coach
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore Collaboratore

Related Post

Configurazione del DNS Dinamico su Unifi Dream Machine Pro

Il DNS dinamico consente ai client esterni di connettersi al gateway UniFi utilizzando un nome host anziché un indirizzo IP. Ciò è particolarmente utile se il gateway UniFi utilizza un IP WAN che cambia frequentemente a seguito dell'assegnazione DHCP. L'utilizzo di un...

leggi tutto

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione