[KB7857] Configurare una connessione HTTPS/SSL per ESET PROTECT On-Prem (Linux)

NOTA:

Questa pagina è stata tradotta da un computer. Fai clic su English sotto Languages in questa pagina per visualizzare il testo originale. Se trovi qualcosa di poco chiaro, contatta il tuo supporto locale.

Problema

Soluzione

Soluzione correlata: Utenti Windows

Utenti di Rocky Linux Virtual Appliance

Se sei un utente di Rocky Linux Virtual Appliance, imposta il numero di porta del connettore su 443.

Per ulteriori informazioni, consulta ESET Management Agent con certificato da Rocky Linux ESET PROTECT Virtual Appliance.

HTTPS

Per motivi di sicurezza, si consiglia di configurare ESET PROTECT On-Prem per l'utilizzo di HTTPS.

Utilizza un certificato esistente

Il messaggio di errore "Connessione non crittografata! Configurare il server web per l’uso di HTTPS" potrebbe comparire quando si accede a ESET PROTECT On-Prem tramite HTTP. Ciò si verifica dopo l’installazione di ESET PROTECT On-Prem.

I passaggi riportati di seguito si riferiscono ai certificati per Apache Tomcat, utilizzati per garantire connessioni HTTPS sicure. Maggiori informazioni sulle certificazioni di ESET PROTECT On-Prem.

  1. Spostare il file del certificato (ad esempio certificate_file.pfx) nella cartella di installazione di Apache Tomcat (ad esempio /etc/tomcat/).

  2. Aprire il file Server.xml presente nella cartella di installazione di Apache Tomcat e modificarlo come segue:

    • Apache Tomcat 9

      • Se non è presente alcun elemento <‎Connector dopo <‎Service name="Catalina">, copiare la stringa seguente e incollarla dopo <‎Service name="Catalina">.

        Utilizzare i propri valori per keystoreFile, keystorePass e keystoreType:

        <Connector port="8443"
                       protocol="HTTP/1.1"
                       SSLEnabled="true"
                       maxThreads="150"
                       scheme="https"
                       secure="true"
                       clientAuth="false"
                       sslEnabledProtocols="TLSv1.2,TLSv1.3"
                       ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
                                TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                                TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
                                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
                                TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
                                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
                                TLS_RSA_WITH_AES_128_CBC_SHA256,
                                TLS_RSA_WITH_AES_128_GCM_SHA256,
                                TLS_RSA_WITH_AES_128_CBC_SHA,
                                TLS_RSA_WITH_AES_256_CBC_SHA256,
                                TLS_RSA_WITH_AES_256_GCM_SHA384,
                                TLS_RSA_WITH_AES_256_CBC_SHA"
                       keystoreFile="/etc/tomcat/certificate_file.pfx"
                       keystorePass="Secret_Password_123"
                       keystoreType="PKCS12"
                       />
      • Se <‎Connector è presente dopo <‎Service name="Catalina">, utilizzare i propri valori per i parametri elencati di seguito.

        • keystoreFile – Specificare il percorso completo del file del certificato (.pfx, .keystore o altro). Se si utilizza un certificato non JKS (ad esempio, un file .pfx ), eliminare il keyAlias (presente per impostazione predefinita nel file Server.xml ) e aggiungere il keystoreType appropriato.
        • keystorePass–Specificare la passphrase del certificato.
        • keystoreType:specificare il tipo di certificato.
    • Apache Tomcat 10

      Modificare il tag <Connector come segue:

      Utilizzare i propri valori per i parametri elencati di seguito.

      • certificateKeystoreFile–Specificare il percorso completo del file del certificato.
      • certificateKeystorePassword – Specificare la passphrase del certificato.

      <Connector port="443"
                     protocol="org.apache.coyote.http11.Http11NioProtocol"
                     maxThreads="150"
                     SSLEnabled="true">
                     <SSLHostConfig>
                      <Certificate certificateKeystoreFile=""/etc/tomcat/certificate_file.pfx"
                          certificateKeystorePassword="admin.1234"
                           type="RSA"/>
                     </SSLHostConfig>
                  </Connector>
  3. Riavvia il servizio Tomcat:

    sudo systemctl restart tomcat
    • Se si utilizza un file .keystore, specificare il percorso del file (keystoreFile="/etc/tomcat/tomcat.keystore") e definire keyAlias (keyAlias="tomcat") al posto di keystoreType.

    • Se si desidera disabilitare HTTP:

      <!--
          <Connector port="8080" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443" />
      SELinux abilitato

      Gli utenti che hanno SELinux abilitato e ricevono un messaggio di certificato non valido potrebbero dover eseguire il comando `restorecon` per ripristinare il contesto di sicurezza SELinux:

      restorecon /etc/tomcat/my_cert_file.pfx
      
      ls -lZ
      
      -rw-r--r--. root root unconfined_u:object_r:etc_t:s0   /etc/tomcat/my_cert_file.pfx

Creare un nuovo certificato e farlo firmare

Utilizzare una connessione HTTPS/SSL sicura per ESET PROTECT On-Prem.

  1. Creare un keystore con un certificato SSL. È necessario che Java sia installato .

    Apache Tomcat richiede Java:
    • Verificare che Java, ESET PROTECT On-Prem e Apache Tomcat abbiano la stessa architettura (bit).

    • Se sul sistema sono installate più versioni di Java, si consiglia di disinstallare le versioni precedenti e di mantenere solo l'ultima versione di Java.

    • Gli aggiornamenti pubblici di Oracle JAVA SE per uso aziendale, commerciale o di produzione richiedono una licenza commerciale. Se non si acquista una licenza JAVA SE, è possibile utilizzare questa guida per passare a un'alternativa gratuita.

    Java include lo strumento keytool, che consente di creare un certificato tramite la riga di comando.

    1. È necessario generare un nuovo certificato per ogni istanza di Tomcat (se si dispone di più istanze di Tomcat) per garantire che, qualora un certificato venisse compromesso, le altre istanze di Tomcat rimangano sicure. Di seguito è riportato un comando di esempio per creare un keystore con un certificato SSL.

    2. Accedere alla posizione esatta del file keytool, ad esempio /usr/lib/jvm/”versione java”/jre/bin (la directory dipende dal sistema operativo e dalla versione di Java) ed eseguire il comando:

      sudo keytool -genkeypair -alias "tomcat" -keyalg RSA -keysize 4096 -validity 3650 -keystore "/etc/tomcat/tomcat.keystore" -storepass "la tua password" -keypass "la tua password" -dname "CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown"

      Il percorso del file /etc/tomcat/tomcat.keystore è solo un esempio; scegli una destinazione sicura e accessibile.

      Parametri -storepass e -keypass

      I valori di -storepass e -keypass devono essere identici.

  2. Esportare il certificato dal keystore. Di seguito è riportato un comando di esempio per esportare la richiesta di firma del certificato dal keystore:

    sudo keytool -certreq -alias tomcat -file "/etc/tomcat/tomcat.csr" -keystore "/etc/tomcat/tomcat.keystore" -ext san=dns:ESETPROTECT
    Sostituire i valori in modo appropriato
    • Sostituire il valore "/etc/tomcat/tomcat.csr" del parametro -file con il percorso e il nome del file effettivi in cui si desidera esportare il certificato.

    • Sostituire il valore ESETPROTECT del parametro -ext con il nome host effettivo del server su cui è in esecuzione Apache Tomcat con ESET PROTECT On-Prem.

  3. Ottenere il certificato SSL firmato dall’Autorità di Certificazione (CA) radice di propria scelta.

    È possibile procedere al passaggio 6 se si intende importare una CA radice in un secondo momento. Se si sceglie di procedere in questo modo, il browser web potrebbe visualizzare avvisi relativi a un certificato autofirmato e sarà necessario aggiungere un'eccezione per connettersi a ESET PROTECT On-Prem tramite HTTPS.

  4. Importare il certificato radice e il certificato intermedio della propria CA nel keystore. Questi certificati sono solitamente messi a disposizione dall’ente che ha firmato il certificato. Ciò è necessario poiché la risposta del certificato viene convalidata utilizzando certificati attendibili presenti nel keystore.

    sudo keytool -import -alias root -file "/etc/Tomcat/root.crt" -keystore "/etc/tomcat/tomcat.keystore"
    sudo keytool -import -alias intermediate -file "/etc/Tomcat/intermediate.crt.pem" -keystore "/etc/tomcat/tomcat.keystore"
  5. Una volta ricevuto il certificato firmato dalla CA radice, importare la chiave pubblica della CA e il certificato (tomcat.cer) nel proprio keystore. Di seguito è riportato un comando di esempio che importa un certificato firmato nel keystore:

    sudo keytool -import -alias tomcat -file "/etc/tomcat/tomcat.cer" -keystore "/etc/tomcat/tomcat.keystore"
    Sostituire i valori in modo appropriato

    Sostituire il valore /etc/tomcat/tomcat.csr del parametro -file con il percorso e il nome file effettivi del certificato firmato.

    Se si desidera utilizzare un certificato esistente (ad esempio, un certificato aziendale), seguire queste istruzioni.

  6. Modifica il file di configurazione server.xml in modo che il tag <‎Connector sia scritto in modo simile all'esempio riportato di seguito:

    <Connector server="OtherWebServer" port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/tomcat/tomcat.keystore" keystorePass="yourpassword"/>

    Questa modifica disabilita anche le funzionalità non sicure di Tomcat, lasciando abilitato solo HTTPS (parametroscheme= ). Per motivi di sicurezza, potrebbe essere necessario modificare anche il file tomcat-users.xml per eliminare tutti gli utenti di Tomcat e modificare il file ServerInfo.properties per nascondere l’identità di Tomcat.

  7. Riavviare il servizio Apache Tomcat. ESET PROTECT On-Prem potrebbe utilizzare il nome del servizio tomcat9.

    sudo systemctl restart tomcat
    La connessione sicura continua a non funzionare su Linux

    Qui va inserito un contenuto importante.

    Nella directory /var/....../tomcat potrebbe comparire il seguente messaggio di errore: "failed to initialize end point associated with ProtocolHandler ["http-bio-443"]."

    Se il problema persiste, modificare la porta nel file server.xml impostando un valore superiore a 1024, poiché le porte inferiori a 1024 potrebbero non essere accessibili agli utenti non root. Se, per qualche motivo, è necessario utilizzare la porta 443, è comunque possibile modificare il valore e quindi reindirizzare la porta.

    Seguire i passaggi riportati di seguito per abilitare il reindirizzamento della porta (ad esempio, dalla porta 443 alla porta 8443):

    1. Consenti l’accesso remoto alla console Web:

      sudo iptables -A INPUT -p tcp -m tcp --dport 8443 -j ACCEPT

      In alternativa, è possibile aprire e modificare il file di configurazione del firewall (nano /etc/sysconfig/iptables) e aggiungere questa riga alla sezione che inizia con *nat e termina con COMMIT:

      -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports |8443)
    2. Rimuovere la porta 8080 per disabilitare HTTP:

      sudo iptables -D INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
    3. Salva le regole del firewall:

      iptables-save > /etc/network/iptables.rules
    4. Disattiva SELinux. Le istruzioni fornite potrebbero variare a seconda della distribuzione Linux in uso.