NVIDIA sta per acquistare ARM


NVIDIA ieri sera ha annunciato che acquisterà la società di progettazione di semiconduttori ARM Limited per 40 miliardi di dollari fra contanti e azioni. L’accordo consentirà a SoftBank, la società che possiede ora ARM, di ricevere 12 miliardi in contanti e 21,5 miliardi in azioni NVIDIA.
Tuttavia la strada per la conclusione impeighera parecchi mesi in quanto l’acquisto deve essere approvato dai vari paesi.
SoftBank, che in precedenza aveva acquisito alla cifra di 32 miliardi l’allora indipendente ARM nel 2016, fece questa mossa per fare un investimento prevedendo che il valore della società continuasse a crescere.

Fonte: https://www.anandtech.com/show/16080/nvidia-to-acquire-arm-for-40-billion

Come cancellare la coda di posta in Postfix

In questo articolo vediamo come come eliminare la coda di posta in Postfix.
Per cancellare la coda di posta in Postfix, si può usare il comando chiamato postsuper che viene utilizzato per fare manutenzione alla coda di posta postfix.
Il comando postsuper può essere eseguito solo da un super utente del sistema oppure da root.
Per sapere cosa c’è nella coda della posta si può usare il comando mailq. Se ci sono messaggi non consegnati, è possibile vedere un lungo elenco di messaggi usando mailq.

In questo tutorial useremo il comando postsuper per svuotare la coda di posta di Postfix.

Per prima cosa esegui il comando mailq comando per verificare quante mail sono in coda.

mailq

Invece per svuotare la coda delle email, puoi scegliere una di queste alternative:

rimuovere un particolare messaggio con un ID della coda di posta (eseguendo il comando mailq, otterrai l’ID della coda di posta, ossia “Queue ID”)

postsuper -d id_messaggio

rimuovere TUTTI i messaggi dalla coda

postsuper -d ALL

rimuovere solo TUTTI i messaggi differiti in coda

postsuper -d ALL deferred

Raccogliere i syslog di BIND Named

Il server DNS Bind, noto anche come Named, è uno dei nameserver più vecchi e diffusi sul web e nelle organizzazioni che utilizzando sistemi Linux e Unix.
Spesso Bind viene configurato in modalità chroot, il che permette di ridurre la superficie di attacco isolando il servizio in una gabbia.
Tuttavia quando una risorsa viene “ingabbiata” si perdono le caratteristiche che permettono una semplice condivisione di messaggi o dati con altri servizi.
In questo caso vorremmo poter raccogliere tutte le query fatte al nostro DNS server e gli errori mediante un server syslog esterno.
La configurazione di default non è sufficiente per fare ciò e bisogna fare delle modifiche ai file di configurazione del syslog (rsyslog) e di Bind.

Qualora rsyslog non sia installato (questo succede in distribuzioni vecchie come Red Hat 5 e simili) è necessario installarlo e sostituire rsyslog al syslog di base, chiamato syslogkd/klogd.

Il server syslog esterno raccoglie i log di Bind con Log Analyzer

Se Named è chrootato, i file di configurazione sono posti (di default) in /var/named/chroot quindi il classico named.conf non si trova più /etc/named.conf ma in /var/named/chroot/etc/named.conf

La prima cosa da fare è modificare il file di configurazione di Bind /var/named/chroot/etc/named.conf aggiungendo nella sezione options la riga “querylog yes“, poi abilitando il logging verso il syslog. Tutto il codice va nel blocco logging.

options {
	  querylog yes;
};

channel log2syslog  { 
    print-time yes;
    print-category yes;
    print-severity yes;

    syslog daemon;
    severity info; 
};
category queries { queries_log; };

L’uso delle istruzioni che cominciano con print è facolatativo ma consente un migliore filtraggio sul server di destinazione.

L’abilitazione del logging via syslog crea un socket unix in /dev/log. Visto che il nostro Bind è in chroot, il socket sarà creato nella sua cartella chrootata, quindi il socket sarà /var/named/chroot/dev/log.

Ora abilitiamo l’ascolto sul socket da parte di rsyslog e modifichiamo la configurazione di /etc/rsyslog.conf aggiungendo le seguenti righe:

$ModLoad imuxsock
$AddUnixListenSocket /var/named/chroot/dev/log
input(type="imuxsock" Socket="/var/named/chroot/dev/log" CreatePath="on")

:programname, isequal, "named" @172.16.0.2
:programname, isequal, "named" ~

Dove 172.16.0.2 è l’indirizzo IP del server syslog esterno.
Così facendo avremmo inoltrato i messaggi di syslog alla porta 514 (UDP) del syslog esterno.

E’ importante verificare che se è attivo SELINUX, sia permessa la comunicazione dei 2 servizi e qualora il firewall fosse attivo, sia abilitata l’uscita dei datagrammi UDP verso il server syslog esterno.

Fatto questo possibile riavviare il servizio rsyslog e named.

service rsyslog restart
service named restart

Note: Questo articolo è stato scritto per essere il più generico possibile, ossia utilizzabile sia su sistemi recenti o vecchi come Red Hat 5 e derivate. Per questo motivo potrebbero esserci delle differenze su altre distribuzioni.

Miniedit, l’interfaccia grafica per Mininet

Mininet è uno strumento utile a costruire, su un computer oppure su una virtual machine, una rete virtuale realistica composta da host, switch e programmi vari. Uno degli ambiti in cui Mininet è molto usato è la sperimentare di sistemi OpenFlow e Software-Defined Networking (SDN).
MiniEdit, invece, è un’interfaccia grafica basata su Python e TK che consente di disegnare delle reti da usare con Mininet usando un tool con interfaccia grafica.

Il software può essere installato e configurato sullo stesso sistema in cui c’è Mininet. Nel nostro caso, Mininet è installato su Ubuntu 20.04 e oltre alle dipendenze di quest’ultimo è necessario installare alcuni pacchetti aggiuntivi come python-tk:

sudo apt install python-tk

Qualora non lo avessimo già fatto precedentemente in fase di installazione di Mininet, è opportuno installare anche openvswitch-testcontroller e creare un link per poter testare la nostra topologia personalizzata.

sudo apt-get install openvswitch-testcontroller
sudo ln /usr/bin/ovs-testcontroller /usr/bin/controller

Poi per lanciare MiniEdit, si può usare il comando python2 (attualmente python3 non funziona):

sudo python2 ~/mininet/examples/miniedit.py

Per disegnare una semplice rete, basta selezionare dal menù laterale gli oggetti: host, switch, controller e altro, da collegare con un link. Per esempio questo è il risultato della progettazione di una semplice rete.

Per modificare lo script del disegno che si potrà esportare, basta andare nel menù Edit, Preferences e cambiare qua le varie impostazioni:

E’ possibile optare per una configurazione che supporti versioni più recenti di OpenFlow, oppure uno switch diverso dal classico Open vSwitch, nonchè aggiungere il supporto per un controller di rete esterno a Mininet. E’ utile attivare la casella Start CLI.

Per esportare la configurazione in uno script python, andare nel menù, File e selezionare Export level 2 script.

Ora per lanciare il tool mininet con la topologia personalizzata è sufficiente lanciare il comando:

sudo python2 miatopologia.py

Come aumentare lo spazio di una partizione ext4 montata

A volte capita di dover estendere lo spazio disco associato ad una partizione di tipo EXT4 che è attiva (online) su un server. Nel nostro caso abbiamo un server con Ubuntu 14.04 sul quale è necessario più spazio per cui bisogna estendere la partizione / del sistema operativo.

Il server non ha logical volume (LVM) ma le partizioni sono le solite standard.

Il problema di questa configurazione è la swap. Infatti la partizione di swap è posta alla fine del disco SDA, quindi è necessario toglierla perchè una classica partizione EXT4 deve essere contigua.

Come si può vedere abbiamo una partizione SDA5 di swap a fine disco.

La prima cosa da fare è estendere il disco, se è un disco virtuale spesso è opportuno spegnere la virtual machine ed estendere il disco. Poi riaccendere la virtual machine. Se il disco è fisico, rimuovere la swap e usare quello spazio per estendere la partizione principale. La swap può essere ricreata su un altro disco oppure fatta su file.

Nel nostro caso vogliamo espandere la partizione / e mantenere la partizione di swap di 3 GB sullo stesso disco.

Attenzione questa procedura è rischiosa e potrebbe portarvi alla perdita di tutti i dati, per cui in primis è necessario fare un backup di tutto.

Ok. Ora il disco SDA è stato espanso di ulteriori 4 GB passando dai precedenti 8 GB ai 12 GB. Dobbiamo rimuovere la swap, cancellare le partizioni, ricreare la partizione / e quella di swap.

La partizione di swap va disattivata.

swapoff /dev/sda5

Poi va lanciato fdisk sul disco che contiente il tutto.

fdisk /dev/sda

Premendo il carattere p, si ottiene la situazione attuale delle partizioni.

Cancelliamo la partizione 5 e la 2 che sono rispettivamente la swap e una partizione estesa. Per cancellare una partizione premere il tasto d, seguito dal numero della partizione es. 5.

Ora c’è la parte più delicata: quella di cancellare anche la partizione 1. Premendo d, si cancella l’ultima partizione esistente.

La partizione / va ricreata come una nuova partizione primaria la cui dimensione deve essere pari allo spazio del disco meno lo spazio della swap, quindi se il nostro disco è di 12 GB e la nostra swap di 3 GB, la partizione / sarà di 9 GB.

Per creare una partizione nuova premere n, poi p (per primaria), +9G per assegnare 9 gigabyte di spazio.

Ora è possibile creare la partizione di swap. Premere n per una nuova partizione, p per una primaria, come partition number premere INVIO per confermare l’opzione di default. Siccome è l’ultima partizione del disco anche la dimensione è quell di default, quindi basta premere INVIO.

E’ opportuno, a differenza della partizione di root, modificare l’etichetta (tag) del codice, premendo t, indicando la seconda partizione premendo 2 e inserendo l’hex code 82.

questo è lo stato dopo tutte le operazioni:

Per confermare tutte le operazioni bisogna premere il tasto w.

Può essere che compaia un messaggio di avvertimento. In questo caso, la tabella delle partizioni modificata non è stata ricaricata dal kernel, quindi per poter estendere il disco, occorre ricaricare la tabella.

Per ricaricare la tabella usare il comando partprobe.

partprobe

Creiamo la nuova swap, usando il classico comando:

mkswap /dev/sda2

Annotiamoci l’UUID (quello che nell esempio inizia con 1c8…) che è apparso sopra. Apriamo il file fstab e modifichiamo l’UUID associato alla swap vecchia con quello nuovo.

vi /etc/fstab

Il nuovo file fstab avrà queste informazioni:

La swap va nuovamente attiva con il comando swapon, per verificare poi lo stato si può ricorrere allo stesso comando con il parametro -s.

swapon /dev/sda2
swapon -s

Finalmente possiamo estendere la partizione / con il semplice ma efficace resize2fs.

resize2fs /dev/sda1

Il ridimensionamento è online, ossia senza la necessità di smontare il filesystem / per estendere la partizione. Ora la partizione è molto più grande.

Assegnare un IP statico in Ubuntu 20.04

Impostare un IP statico, ossia un indirizzo IP che non cambia, in Ubuntu 20.04 non è molto difficile. La modifica può essere fatta via interfaccia grafica nella versione desktop, mentre nella versione server di Ubuntu 20.04 è necessario usare la riga di comando.

Per prima cosa occorre individuare il nome dell’interfaccia di rete alla quale sarà assegnato l’indirizzo IP statico. Per scoprirlo basta usare il comando:

ip a

Nell’output generato dal comando si può vedere che la scheda di rete che ha l’IP 192.168.217.9 (assegnato tramite DHCP ossia dinamicamente) si chiama ens192.

Ora possiamo creare un file di configurazione della scheda di rete.

sudo vi /etc/netplan/50-my-init.yaml

In questo file incolliamo questo testo, opportunamente modificato con i nostri parametri.

network:
    ethernets:
        ens192:
            dhcp4: false
            addresses: [192.168.217.32/24]
            gateway4: 192.168.217.1
            nameservers:
              addresses: [192.168.217.1,8.8.8.8]
    version: 2

ens160 corrisponde al nome dell’interfaccia di rete recuperato col comando ip a. 192.168.217.32 è l’IP statico che abbiamo scelto per la nostra rete, mentre /24 corrisponde alla netmask. Il gateway della rete è specificato dalla voce gateway4.

Si possono aggiungere anche diversi indirizzi IP dei DNS, questi vanno separati con una virgola; per esempio nel caso sopra gli indirizzi dei server DNS sono 192.168.217.1 e 8.8.8.8.

La vecchia configurazione della scheda di rete era in DHCP, quindi spostiamo il vecchio file in modo che esso possa essere recuperato ma non sia attivo:

sudo mv /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml_old

A questo punto è possibile applicare la nuova configurazione usando il comando:

sudo netplan apply

Ora eseguendo il comando ip a potremmo scoprire come la scheda di rete ha un indirizzo IP statico.

Rinnovare un certificato TLS in Tomcat

La procedura per rinnovare il certificato SSL/TLS nel keystore di Tomcat dipende tipicamente dal tipo di certificato o meglio dall’ente certificatore.

Nelle ultime versioni di Tomcat l’uso del keystore, come abbiamo visto negli articoli precedenti, non è più necessario rendendo il rinnovo del certificato più semplice in quanto basta sostituire i file della chiave, della full-chain e riavviare Tomcat.

Tuttavia l’uso del keystore è ancora molto popolare quindi se vi ritrovate a dover rinnovare il certificato è probabile che dobbiate usare il keystore e lo strumento per la gestione: il keytool.

Nel caso di Letsencrypt i passaggi sono piuttosto semplici e automatizzabili: consistono nella cancellazione del certificato dal keystore e dall’importazione del nuovo, più riavvio di Tomcat.

Se invece il vostro certificato viene rilasciato da un rivenditore di certificati, la procedura solitamente prevede:

  • la creazione di un CSR (Certificate Signing Request) a partire dal certificato+chiave memorizzato nel keystore,
  • l’invio del CSR al rivenditore,
  • la verifica dell’identità del richiedente tramite DNS, mail o inserimento di una pagina web ad hoc,
  • la ricezione del certificato,
  • il caricamento del certificato nonchè del certificato root CA e dell’intermedio nel keystore
  • il riavvio di Tomcat.

Per verificare quali certificati sono presenti nel proprio keystore si può usare il comando (dove miokeystore.jks è il nome del proprio keystore):

keytool -list -keystore miokeystore.jks

Nella schermata precedente, ci sono 3 certificati: intermediate e root sono quelli della CA, mentre mydomain è il nostro certificato con chiave (PrivateKeyEntry) di Tomcat.

Facciamo una copia di backup del keystore

cp miokeystore.jks miokeystore.jks_backup

Per procedere alla generazione del CSR abbiamo bisogno della password del keystore e di sapere quale è l’alias che Tomcat usa per il certificato. Nel nostro caso è mydomain, quindi possiamo lanciare questo comando:

keytool -certreq -alias mydomain -file tomcat.csr -keystore miokeystore.jks

Verrà generato un file chiamato tomcat.csr partendo dal certificato con chiave contenuto nel keystore miokeystore.jks; il file tomcat.csr (non contiene la chiave) va passato al rivenditore di certificati.

A questo punto il rivenditore permette di scegliere un metodo di identificazione e autenticazione del proprietario del dominio. Scelto il metodo e verificato il proprietario, allora ci viene fornito il certificato del dominio in formato testuale.

Questo certificato spesso non è sufficiente da solo ma è necessario aggiungere nel keystore tutta la catena dei certificati, iniziando con il certificato della root CA, poi quello intermedio e poi il certificato del dominio.

Supponendo di dover sostituire il root CA e l’intermedio già presente nel keystore, bisogna eliminarli entrambi (solo se non ci sono altri certificati nel keystore che li usando, ovviamente).

I vecchi certificati intermediate e root possono essere eliminati:

keytool -delete -alias intermediate -keystore miokeystore.jks
keytool -delete -alias root -keystore miokeystore.jks

Non va cancellato il certificato con chiave mydomain.

I nuovi certificato root e intermediate che sono stati scaricati dal sito del rivenditore o della certification authority possono essere importati così:

keytool -import -trustcacerts -alias root -file DigiCert_Global_G2.pem -keystore miokeystore.jks

Dove DigiCert_Global_G2.pem è il certificato della Root CA.

keytool -import -trustcacerts -alias intermediate -file DigiCertGlobalCAG2.pem -keystore miokeystore.jks

Dove DigiCertGlobalCAG2.pem è il certificato della Intermediate CA.

Importiamo ora il certificato ricevuto dal rivenditore, supponiamo che il certificato sia contenuto nel file mydomain.txt

keytool -import -alias mydomain -file mydomain.txt -keystore miokeystore.jks

Così facendo il nuovo certificato verrà unito alla chiave già presente nel keystore.

Per far ripartire Tomcat su Debian o CentOS

systemctl restart tomcat9

Se l’importazione è stata effettuata in maniera corretta, il riavvio di Tomcat sarà completato con successo, altrimenti è possible che Tomcat non riesca a ripartire.

In tal caso, è possibile ripristinare il keystore originale (antecedente alle modifiche) e analizzare cosa è andato storto.

Una delle verifiche da fare è la corretta importazione del certificato con chiave. Infatti il certificato senza chiave non permette la partenza di Tomcat. Per verificare se c’è il certificato con chiave, basta cercare nell’output della lista se c’è PrivateKeyEntry.

keytool -list -keystore miokeystore.jks

NXNSAttack: Scoperta nuova vulnerabilità che sfrutta il meccanismo di delega DNS

La falla consente a un utente malintenzionato di forzare qualsiasi DNS resolver ricorsivo a inviare un numero elevato di query (Distributed denial-of-service) al server DNS autorevole della vittima.

L’aspetto che viene sfruttato è la delega glueless, dove un glue record corrisponde agli indirizzi IP di un name server (ossia un DNS server).
Petr Špa?ek scrive ul blog di CZ.NIC che
“Questa è la cosiddetta delega glueless, ovvero una delega che contiene solo nomi di server DNS autorevoli (a.iana-servers.net. oppure b.iana-servers.net.), ma non contiene i loro indirizzi IP.
Ovviamente DNS risolutore non può inviare una query a “nome”, quindi il risolutore deve prima ottenere l’indirizzo IPv4 o IPv6 del server autorevole “a.iana-servers.net”. o “b.iana-servers.net.” e solo allora può continuare a risolvere la query originale “esempio.com. A”. Questa delega glueless è il principio base di NXNSAttack: il server compromesso semplicemente restituisce la delega con nomi di server falsi (casuali) che puntano al dominio DNS della vittima, costringendo così il risolutore per generare query verso i server DNS delle vittime (in un inutile tentativo di risolvere falsi nomi di server autorevoli).
Molteplici i server DNS affetti da questo problema tra cui Bind, PowerDNS, i DNS di Cloudflare, Google, Amazon, Microsoft.

Si consiglia di aggiornare al più presto i propri pacchetti sulle varie distribuzioni Linux. Rimanente in attesa per quelle che non è ancora disponibile l’aggiornamento.

Dettagli nel documento: http://www.nxnsattack.com/dns-ns-paper.pdf

Ridurre la dimensione dei file di log di Journal

Systemd, il gestore di tutto in Linux, è uno dei servizi fondamentali dei sistemi operativi del piguino usciti negli ultimi 6-7 anni.
Ha gradualmente soppiantato SysVinit, il tradizionale gestore di avvio/spegnimento dei deamon, e ha anche preso posto di altri tool integrandosi nel sistema in maniera alquanto invasiva.

Journal è un componente di systemd che si occupa principalmente del logging raccogliendo messaggi dal kernel, boot, syslog e altri servizi. Il deamon che governa journal è systemd-journald, il quale raccoglie i messaggi e li memorizza nei suoi “registri” (/run/log/journal, non persistente al riavvio) e in alcuni file di log.

Questi ultimi file di log si trovano nella cartella journal della classica /var/log. La cosa particolare è che questi file di log non dovrebbero essere riciclati dal classico logrotate ma dovrebbero essere mantenuti dal deamon systemd-journald che si dovrebbe occupare della cancellazione dei dati più vecchi.

La mancanza della cartella /var/log/journal implica che non vengono manutenuti file di log persistenti, a meno che nel file di configurazione venga indicato un percorso alternativo.

Il file di configurazione principale è /etc/systemd/journald.conf ed eventuali altri in /etc/systemd/journald.conf.d/, in questi file si possono modificare alcuni parametri tra cui compressione e tempo di conservazione.

La mancanza del file di configurazione implica l’uso delle opzioni di default, tra cui l’attivazione della compressione, un file per utente, l’occupazione del massimo del 10% dello spazio disponibile nel filesystem dove i dati sono mantenuti persistenti e il 15% dello spazio del filesystem dove i dati non persistenti.

Quest’ultimo aspetto è interessante, in quanto se abbiamo una partizione /var/log molto piccola es. 5 GB, journal manterrà al massimo 500MB. Tuttavia se sia /run sia /var/log sono sullo stesso filesystem è possibile che l’uso del disco da parte di journal arrivi a raggiungere il 25% (10% + 15%), prima di essere recuperato.

Per vedere quanto spazio su disco occupa il file di log si può usare il comando:

journalctl --disk-usage

Per ridurre rapidamente le dimensioni su disco ci sono due vie la prima quella di decidere di mantenere soltanto un dato numero di file di journal, per cui verranno cancellati i file più vecchi ad eccezione dei tot più recenti.
Lanciando per esempio il comando:

journalctl --vacuum-files=4

Conserveremo esclusivamente gli ultimi 4 file.

Se il comando sopra non fosse disponibile, per ridurre le dimensioni del file di log si può usare anche il comando:

journalctl --vacuum-size=100M

dove 100M sono le dimensioni in cui il file di log deve stare ossia verranno scartiti tutti i log più vecchi finchè non si raggiunge uno spazio di disco usato da Jorunal di 100M (o meno).

Come attivare HTTPS su Tomcat

In questa guida vediamo come configurare il supporto HTTPS, tramite Transport Layer Security (TLS), su Tomcat.
Tomcat sfrutta le tecnologie Java sottostanti per fornire il supporto alle connessioni sicure e per questo motivo la configurazione di TLS su Tomcat non è così immediata come per il classico Apache HTTPD.

Questo articolo fa riferimento alla versione Tomcat 9, per dettagli sulla configurazione potete leggere questi due articoli: Installare Tomcat su Ubuntu 20.04 Focal Fossa e installare Tomcat su CentOS 8.

Nel resto dell’articolo supporremo che il nostro server Tomcat abbia come dominio tomcat.example.com, per cui nei successivi comandi dovrete sostituire tomcat.example.com con il nome del vostro dominio.

Abbiamo usato Letsencrypt per generare un certificato TLS gratuito da usare per il nostro Tomcat.
Per installare Letsencrypt su Ubuntu usare il comando:

sudo apt install letsencrypt

Per generare il certificato, dopo aver installato Letsencrypt:

certbot certonly --standalone -d tomcat.example.com

Attendiamo la fine del comando precedente e convertiamo il certificato e la chiave in un formato p12 utilizzabile per il java keytool. Il tipo di file p12 con certificato full chain e chiave, ci consente di fare un singolo inserimento del keystore. L’alternativa è quella di aggregare chiave e certificato del dominio in un file da aggiungere al keystore. Poi sia il certificato intermedio sia quello root vanno anche essi importati in 2 passaggi nel keystore; invece con il file p12, l’importazione è una sola.

Detto questo, aggreghiamo i vari componenti per creare un file p12:

openssl pkcs12 -export -out /tmp/tomcat.example.com_fullchain_and_key.p12 \
-in /etc/letsencrypt/live/tomcat.example.com/fullchain.pem \
-inkey /etc/letsencrypt/live/tomcat.example.com/privkey.pem \
-name tomcat

A questo punto ci viene chiesta una password, scegliamo per esempio 58dssqPo2Muw
La password ci servirà successivamente.
Ora lanciamo il seguente comando, avendo cura di sostituire 58dssqPo2Muw con la password da voi scelta e tomcat.example.com con il vostro dominio.

keytool -importkeystore \
-deststorepass 58dssqPo2Muw -destkeypass 58dssqPo2Muw \
-destkeystore /tmp/tomcat.example.com.jks \
-srckeystore /tmp/tomcat.example.com_fullchain_and_key.p12 \
-srcstoretype PKCS12 -srcstorepass 58dssqPo2Muw \
-alias tomcat

Copiamo il file /tmp/tomcat.example.com.jks in una nuova cartella chiamata tls che si troverà in /usr/local/tomcat9/

mkdir /usr/local/tomcat9/tls/
cp /tmp/tomcat.example.com.jks /usr/local/tomcat9/tls/

Aprite il file di configurazione di Tomcat che si chiama server.xml e si trova nella cartella conf dell’installazione di Tomcat. Se avete seguito i tutorial precedenti si dovrebbe trovare in /usr/local/tomcat9/conf/server.xml

nano /usr/local/tomcat9/conf/server.xml

Inserite il seguente testo avendo cura di sostituire la password e il dominio.

<Connector
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="tls/tomcat.example.com.jks"
           keystorePass="58dssqPo2Muw"
           clientAuth="false" sslProtocol="TLS"/>

Ora riavviate Tomcat con il comando

systemctl restart tomcat9

Ora se andrete sull’indirizzo
https://tomcat.example.com:8443 dovrà compare la solita pagina di inizio di Tomcat.

Se avete problemi vi consiglio di consultare il file /usr/local/tomcat9/logs/catalina.out per capire quale è l’errore che ha impedito l’attivazione corretta di https su Tomcat.

Per maggiori dettagli, la guida di configurazione è indicata: http://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html