Linux installazione e update

Introduzione

Questo documento descrive i passi necessari per effettuare l'installazione o l'update dalla versione LBL Rel.9.1.0 e successive, alla versione Oplon Rel.10.x.x

In presenza della connettività Internet è possibile eseguire l'installazione o l'update con download automatico dei pacchetti attraverso la procedura "INSTALL OR UPDATE VIRTUAL APPLIANCE FROM INTERNET (ALL IN 1 STEP)"

Backup

Prima di qualsiasi altra cosa assicurarsi con un backup l'eventuale ripristino della situazione precedente.

INSTALL OR UPDATE VIRTUAL APPLIANCE FROM INTERNET (ALL IN 1 STEP)

In presenza di Internet, l'installazione Oplon VAPP è possibile utilizzando la procedura descritta di seguito partendo da una installazione di un Sistema operative LINUX con distribuzione CentOS 7 o superiore oppure Ubuntu 16.04 o superiore.

NB: Per eseguire la procedura è necessario avere a disposizione login e password di accesso all'area riservata download.oplon.net.

  1. Eseguire il login come root nel sistema operativo LINUX

  2. Posizionarsi nella directory /

    cd /
    
  3. Eseguire

    mkdir /share
    

    La directory share sarà utilizzata anche per aggiornamenti successivi

  4. Eseguire

    chmod 777 /share
    
  5. Assicurarsi di avere il collegamento internet necessario al programma di installazione per scaricare i pacchetti necessari

  6. Posizionare nella directory /share

    cd /share
    
  7. Eseguire il seguente comando per il download dello script di installazione automatica:

    wget --no-cache -N "https://www.oplon.net/OPLON_INSTALL_LASTUPDATE.sh"
    
  1. Per eseguire il comando appena scaricato digitare come di seguito e rispondere alle domande:

    bash OPLON_INSTALL_LASTUPDATE.sh
    

image1

INSTALLAZIONE VIRTUAL APPLIANCE (ALL IN 1 STEP)

L’installazione OPLON VAPP è possibile utilizzando la procedura descritta di seguito partendo da una installazione di un Sistema operative LINUX con distribuzione CentOS 7 o superiore oppure Ubuntu 16.04 o superiore.

1) Eseguire il login come root nel sistema operativo LINUX

2) Posizionarsi nella directory /

cd /

3) Eseguire

 # mkdir /share

La directory share sarà utilizzata anche per aggiornamenti successivi

4) Eseguire

 chmod 777 /share

5) Assicurarsi di avere il collegamento internet necessario al programma di installazione per scaricare i pacchetti necessari

6) Posizionare nella directory /share della virtual appliance i seguenti pacchetti:

  • 010xxxyyy_OPLON_NETWORKS_SUITE.zip
  • 010xxxyyy_OPLON_NETWORKS_SUITE.zip.MD5

7) Eseguire in /share l’unzip di 010xxxyyy_OPLON_NETWORKS_SUITE.zip

8) Da root Posizionarsi su /share ed eseguire ($ sudo –i):

# bash OPLON_INSTALL_UPDATE_FROM_009001000_TO_01000X00x.sh

A) Se presente il file jce_policy-8.zip, il programma di aggiornamento chiederà di confermare l’installazione JCE Unlimited Stength Jurisdiction.

B) Se presente Internet, il programma richiederà se effettuare l’update del kernel (N.B.: in caso di installazione deve essere presente Internet e si deve confermare)

C) Il sistema rileva se esistono i template del modulo ADC. Se non esistono richiederà se si vuole procedere con l’installazione dei template, se sono esistenti il sistema richiederà se si vogliono sostituire con i nuovi template. In ogni caso, se esistenti e si decide di sostituirli con i nuovi il programma di update salverà in un tar.gz la precedente versione di template.

D) Al termine dell’aggiornamento impostare l’indirizzo ip di management, login e password dell’utente root e dell’utente di delega. Uscire dall’interfaccia grafica (logout) e rientrare per riacquisire il pieno utilizzo dello start dei tools attraverso le icone.

image3

E) Al termine Oplon GDG verrà avviato e sarà pronto per essere configurato.

image2

ATTENZIONE: QUESTO E’ IL SOLO STEP NECESSARIO PER CREARE UNA VIRTUAL APPLIANCE

UPDATE VIRTUAL APPLIANCE (ALL IN 1 STEP)

  1. ​ Posizionare nella directory /share della virtual appliance i seguenti pacchetti:
    1. 010xxxyyy_OPLON_NETWORKS_SUITE.zip
    2. 010xxxyyy_OPLON_NETWORKS_SUITE.zip.MD5
  2. Eseguire in /share l’unzip
  3. Da root Posizionarsi su /share ed eseguire ($ sudo –i):
bash OPLON_INSTALL_UPDATE_FROM_009001000_TO_01000X00x.sh

A) Il sistema di aggiornamento richiederà di eseguire il backup prima di procedere con l’aggiornamento.

B) Se presente il file jce_policy-8.zip, il programma di aggiornamento chiederà di confermare l’installazione JCE Unlimited Stength Jurisdiction.

C) Se presente Internet, il programma richiederà se effettuare l’update del kernel

D) Il sistema rileva se esistono i template del modulo ADC. Se non esistono richiederà se si vuole procedere con l’installazione dei template, se sono esistenti il sistema richiederà se si vogliono sostituire con i nuovi template. In ogni caso, se esistenti e si decide di sostituirli con i nuovi il programma di update salverà in un tar.gz la precedente versione di template.

Al termine dell’aggiornamento uscire dall’interfaccia grafica (logout) e rientrare per riacquisire il pieno utilizzo dello start dei tools attraverso le icone.

ATTENZIONE: Le classi di rewrite template vengono sovrascritte. Se sono state modificate e non rinominate è opportuno porre attenzione al salvataggio ed al ripristino successivo all’aggiornamento.

ATTENZIONE: QUESTO E’ IL SOLO STEP NECESSARIO PER LE VIRTUAL APPLIANCE VERIFICARE NOTE SSL E INTERCEPTORS

DATABASE UPDATES

Se configurazione con database centralizzato, è necessario eseguire in sequenza le seguenti operazioni per aggiornare lo schema del database con il nuovo schema:

a- Se TML aggiornare la virtual appliance come specificato nei paragrafi precedenti.

b- Da console root, eseguire lo stop dei moduli attraverso il comando

lblstop

c- Connettesi al database con un qualsiasi strumento DBMS (ad esempio per MySQL mySQLWorkbench)

d- Dalla directory LBL_HOME/legacyBin/DatabasesScript eseguire i seguenti script in dipendenza del vostro database (es per MySQL)

  • GUIRT_TABLES_MYSQL.sql

  • MySQL_LBLDBTables.sql

  • MySQL_LBLWAF_Objects.sql

TLS PERFECT FORWARD SECRECY

Oplon ADC recepisce le più recenti direttive di security e per questo motivo i seguenti protocolli SSL sono disattivati per default con le nuove release.

E' comunque possibile riattivare protocolli SSL deprecati per permettere il funzionamento di alcune applicazioni che ne dovessero fare ancora uso.

Per modificare la scelta di protocolli SSL di default è sufficiente inserire in ADCs > Edit i seguenti valori:

image4

Queste impostazioni possono essere modificate anche per singolo gruppo, dominio o endpoint.

Anche le CipherSuite rientrano in questa tematica. Per non bloccare eventuali utilizzi di CipherSuite da parte di applicazioni non ancora adeguate alla massima sicurezza, si è scelto in questa fase di estendere l'utilizzo delle CipherSuite abilitate per default da Java 1.6.0_144.

Se si vuole applicare la massima sicurezza attualmente disponibile è sufficiente eseguire queste operazioni:

1) Set SSL protocols Listeners: TLSv1.2 TLSv1.3

2) SSL setting cipherSuites:

    CipherSuitesListeners= TLS_AES_128_GCM_SHA256
    TLS_CHACHA20_POLY1305_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

NOTE UPDATE - ALCUNE RISOLUZIONI DI INCONVENIENTI

1) È stata aggiunta una variabile globale di start dei moduli.

Se si esegue l'upgrade da una versione 9.1 fino alla 9.5, verificare se esiste la variabile globale LBL_GLOBAL_ALL_PROCESSES: Modules > Edit

image5

...Node Variables

image6

Nel caso la variabile non fosse presente inserirla in tutti i Node Variables con i seguenti valori:

LBL_GLOBAL_ALL_PROCESSES-XX:-AlwaysPreTouch -XX:CompressedClassSpaceSize-128m -XX:MaxMetaspaceSize-48m

Verificare lo start dei moduli precedenti per assicurarsi che la variabile sia inserita in:

Start Command LBL_GLOBAL_ALL_PROCESSES:

image7

Per le massime prestazioni il sistema deve avere le seguenti parametrizzazioni:

LBL_GLOBAL_ALL_PROCESSES-XX:-AlwaysPreTouch -XX:CompressedClassSpaceSize-128m -XX:MaxMetaspaceSize-48m
LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER-XX:-UseParallelGC -XX:-UseParallelOldGC
LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH-XX:-UseParallelGC -XX:-UseParallelOldGC

NOTE UPDATE - INTERCEPTORS (Rewrite classes) ENHANCEMENTS

Le classi interceptor si arricchiscono di alcune funzionalità di seguito elencate. Se sono state implementate delle nuove regole custom è necessario aggiungere i seguenti metodi e apportare le seguenti piccole modifiche, altrimenti non è necessario leggere questo capitolo.

L4 TCP-UDP / L7 HTTP/S

È ora possibile gestire l'intero ciclo di vita delle classi interceptor. Sono stati aggiunti due nuovi metodi che vengono richiamati immediatamente dopo la creazione dell'oggetto e prima della sua distruzione. Questo permette di gestire eventi asincroni all'interno della classe interceptor ed eventualmente salvare o leggere dati contestualizzati alla directory del processo che ha eseguito la classe di rewriter.

@Override
public void interceptorInit(String processHomePath){
    initialization instructions
}

@Override
public void interceptorEnd(String processHomePath){
    finalization instructions
}

L4 TCP

È stato introdotto un nuovo metodo per intercettare la prima risposta proveniente dal servzio, se non esistente deve essere implementata.Inoltre i metodi possono ritornare uon true se è terminata la lettura logica dei contenuti altrimenti può ritornare false se deve continuare a leggere fino al completamento di uno stream logico (es.: HEADER) per passare allo step successivo di forward dei pacchetti:

@Override
public boolean doPrimerFromEndpoint(LBLTCPRewriteInterceptorFragment
tcpFragment){
    return true;
}

Tutti gli altri metodi possono ritornare true o false per completare delle sequenze logiche senza e poter bufferizzare temporaneamente i valori prima del forward.

@Override
public boolean doPrimerFromClient(LBLTCPRewriteInterceptorFragment
tcpFragment){
    return true;
}

@Override
public boolean doPacketFromClient(LBLTCPRewriteInterceptorFragment
tcpFragment){
    return true;
}

@Override
public boolean doPacketFromEndpoint(LBLTCPRewriteInterceptorFragment
tcpFragment){
    return true;
}

@Override
public boolean doPrimerFromEndpoint(LBLTCPRewriteInterceptorFragment
tcpFragment){
    return true;
}

L4 UDP

È stato completamente riscritto il modulo per in modo da poter applicare le stesse logiche di rewriting dei protocolli Layer 4 UDP. Come per il layer 4 TCP è possibile indurre una sessione in base ai contenuti dei pacchetti di innesco del protocollo ed è possibile intercettare entrambi i flussi: richiesta dei client e risposta dei servizi.

@Override
public void interceptorInit(String processHomePath, String address, int
port)

@Override
public void interceptorEnd(String processHomePath, String address, int
port)

@Override
public void
doAfterReceivedUDPPacketFromClient(LBLUDPRewriteInterceptorFragment
udpFragment)

@Override
public void
doAfterReceivedUDPPacketFromEndpoint(LBLUDPRewriteInterceptorFragment
udpFragment)