Configurare il firewall locale
In questo argomento è illustrato come configurare il firewall nel computer sul quale esegui Tableau Server.
Per proteggere Tableau Server nelle distribuzioni a nodo singolo e multi-nodo è necessario abilitare un firewall locale sul sistema operativo. In un’installazione distribuita (multinodo) di Tableau Server, la comunicazione tra nodi non avviene in modo sicuro. Sui computer che ospitano Tableau Server è pertanto necessario abilitare i firewall.
Consigliamo configurare il firewall in modo che solo due porte siano accessibili al traffico esterno: la porta gateway
e la porta tabadmincontroller
. Per impostazione predefinita, queste porte sono rispettivamente 80 e 8850. Inoltre, se stai utilizzando una versione distribuita, dovrai aprire l’intervallo di porte 27000-27009 in modo che la gestione licenze possa comunicare tra i nodi.
La porta gateway
è utilizzata per la connessione HTTP a Tableau Server. Consigliamo di utilizzare SSL per la porta gateway
. Se utilizzerai SSL, la porta dovrà essere 443
, perché Tableau Server non supporta altre porte per SSL. Nelle procedure riportate di seguito viene descritto come configurare il firewall per la porta gateway
. Configura il gateway di Tableau Server (Configurare le impostazioni iniziali dei nodi) in modo che corrisponda alla porta impostata qui.
Negli esempi seguenti viene descritto come configurare il firewall nelle distribuzioni singole e multi-nodo di Tableau Server in esecuzione sulle distribuzioni RHEL/CentOS. Gli esempi utilizzano Firewalld, ovvero il firewall predefinito di CentOS.
Configurazione del singolo nodo
Apri una shell bash ed esegui il seguente comando TSM per recuperare il numero di porta della porta
tabadmincontroller
:tsm topology list-ports
Prendi nota della porta
tabadmincontroller
. Per impostazione predefinita, questa porta è8850
.Avvia firewalld:
sudo systemctl start firewalld
Verifica che la zona predefinita sia una zona ad alta sicurezza, ad esempio
public
. In caso contrario, è consigliabile modificarla scegliendo una zona ad alta sicurezza.sudo firewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=public
Aggiungi le porte per
gateway
etabadmincontroller
. Nell’esempio di seguito vengono utilizzate le porte predefinite (80
e8850
).sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=8850/tcp
Ricarica il firewall e verifica le impostazioni.
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Configurazione del cluster multi-nodo
Oltre ad abilitare le porte e configurare il firewall in un cluster multi-nodo, sono richiesti passaggi aggiuntivi per garantire che i nodi possano comunicare tra loro.
Prima di iniziare
Dovrai avere l’indirizzo IP per ogni nodo del cluster. L’esempio mostrato in seguito utilizza <node1IP>
come variabile metasintattica per l’indirizzo IP del nodo iniziale, <node2IP>
e <node3IP>
come variabili metasintattiche per gli indirizzi IP dei due nodi aggiuntivi.
Passaggio 1: configura il nodo iniziale.
Apri una shell bash ed esegui il seguente comando TSM per recuperare il numero di porta della porta
tabadmincontroller
:tsm topology list-ports
Prendi nota della porta
tabadmincontroller
. Per impostazione predefinita, questa porta è8850
.Esegui i seguenti comandi per determinare l’intervallo di numeri di porta che TSM può selezionare in modo dinamico. Dovrai specificare questo intervallo più avanti in questa procedura. Annota l’intervallo di porte.
tsm configuration get -k ports.range.min
tsm configuration get -k ports.range.max
Un intervallo tipico è da
8000
a9000
.Avvia firewalld:
sudo systemctl start firewalld
Verifica che la zona predefinita sia una zona ad alta sicurezza, ad esempio
public
. In caso contrario, è consigliabile modificarla scegliendo una zona ad alta sicurezza.firewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=public
Aggiungi le porte per
gateway
etabadmincontroller
. Nell’esempio di seguito vengono utilizzate le porte predefinite (80
e8850
). Inoltre, devi aggiungere un intervallo di porte (27000-27010
) per consentire alla gestione licenze di comunicare tra i nodi.sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=8850/tcp
sudo firewall-cmd --permanent --add-port=27000-27010/tcp
Configura il firewall per consentire tutto il traffico proveniente da altri nodi del cluster. Nell’opzione porte, specifica l’intervallo annotato nel passaggio 2. Esegui il comando per ciascun nodo aggiuntivo del cluster. Ad esempio:
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node2IP>/32 port port=8000-9000 protocol=tcp accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node3IP>/32 port port=8000-9000 protocol=tcp accept'
Ricarica il firewall e verifica le impostazioni.
sudo firewall-cmd --reload
firewall-cmd --list-all
Passaggio 2: configura i nodi aggiuntivi
Ogni nodo del cluster deve essere in grado di comunicare con il nodo iniziale e con gli altri nodi.
Esegui questa procedura per ogni nodo aggiuntivo del cluster. In questo esempio, il nodo con l’indirizzo IP <node2IP>
, comunica con il nodo iniziale su<node1IP>
e il terzo nodo su <node3IP>
.
Avvia firewalld:
sudo systemctl start firewalld
Verifica che la zona predefinita sia una zona ad alta sicurezza, ad esempio
public
. In caso contrario, è consigliabile modificarla scegliendo una zona ad alta sicurezza.firewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=public
Configura il firewall per consentire a
gateway
etabadmincontroller
di accedere agli altri nodi del cluster. Ad esempio:sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node1IP>/32 port port=80 protocol=tcp accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node1IP>/32 port port=8000-9000 protocol=tcp accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node3IP>/32 port port=80 protocol=tcp accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node3IP>/32 port port=8000-9000 protocol=tcp accept'
In questo esempio, poiché la porta di
tabadmincontroller
(8850
) è inclusa nell’intervallo di porte, non viene specificata esplicitamente in un comando.Ricarica il firewall e verifica le impostazioni.
sudo firewall-cmd --reload
firewall-cmd --list-all