Abilitazione HTTPS su server Linux

Questa procedura fornisce i passaggi per abilitare HTTPS su Red Hat Enterprise Linux. Potrebbero esserci piccole differenze in altre distribuzioni Linux.
Per abilitare HTTPS, è necessario un certificato digitale. È possibile utilizzare un certificato firmato da un'autorità di certificazione (CA, Certificate Authority) o un certificato auto-firmato.
    Importante:
  • Questa procedura utilizza il comando Java keytool. Per i dettagli sull'utilizzo di keytool, vedere la documentazione Java o la documentazione fornita dall'autorità di certificazione.
  • Salvare copie di questi file in una posizione sicura nel caso in cui sia necessario ripristinarli in futuro:
    • /opt/RICOH/DataCollector/apache-tomcat/conf/server.xml
    • /opt/RICOH/DataCollector/apache-tomcat/conf/web.xml
    • /opt/RICOH/DataCollector/config.json
  1. Ottenere il certificato digitale e archiviarlo sul computer su cui è installato RICOH Supervisor Data Collector.
    • Per utilizzare un certificato firmato da un'autorità di certificazione:
      1. Seguire le istruzioni fornite dall'autorità di certificazione per ottenere un certificato firmato e quindi importarlo in un file keystore.
      2. Copiare il file keystore sul computer su cui è installato RICOH Supervisor Data Collector. Accertarsi di conoscere la password per il file keystore.
      3. Aprire una finestra del terminale come utente root.
      4. Andare alla cartella che contiene il keytool Java:
        cd /opt/RICOH/DataCollector/jre/bin
      5. Importare il file keystore nell'archivio dei certificati attendibili Java utilizzato da RICOH Supervisor Data Collector:
        keytool -importkeystore -srckeystore "keystore_path" -destkeystore "/opt/RICOH/DataCollector/jre/lib/security/cacerts" -srcstorepass keystore_password -deststorepass changeit

        Sostituire keystore_path con il percorso al file keystore. Mantenere le virgolette.

        Sostituire keystore_password con la password per il file keystore.

    • Per creare un certificato auto-firmato:
      1. Sul computer su cui è installato RICOH Supervisor Data Collector, aprire una finestra del terminale come utente root.
      2. Andare alla cartella che contiene il keytool Java:
        cd /opt/RICOH/DataCollector/jre/bin
      3. Generare un file keystore locale e un certificato auto-firmato:
        keytool -genkey -keyalg RSA -alias ricohsupervisor -keypass keystore_password -keystore "/opt/RICOH/DataCollector/ricohsupervisor-localkeystore.jks" -storepass keystore_password -validity certificate_validity -keysize 2048 -ext san=dns:localhost

        Sostituire keystore_password con la password che si desidera impostare per il file keystore.

        Sostituire certificate_validity con il numero di giorni validi per il certificato. Ad esempio, immettere 90 per 90 giorni.

      4. Importare il file keystore generato nell'archivio dei certificati attendibili Java utilizzato da RICOH Supervisor Data Collector:
        keytool -importkeystore -srckeystore "/opt/RICOH/DataCollector/ricohsupervisor-localkeystore.jks" -destkeystore "/opt/RICOH/DataCollector/jre/lib/security/cacerts" -srcstorepass keystore_password -deststorepass changeit

        Sostituire keystore_password con la password impostata per il file keystore.

  2. Interrompere il servizio RICOH Supervisor Data Collector:
    sudo systemctl stop RicohSupervisorDataCollector
  3. Abilitare l'HTTPS:
    1. Andare su /opt/RICOH/DataCollector/apache-tomcat/conf e modificare il file server.xml come utente root:
      sudo gedit /opt/RICOH/DataCollector/apache-tomcat/conf/server.xml
    2. Ricercare questo codice:
      <!--
      <Connector executor="tomcatThreadPool"
       	port="19280"  URIEncoding="UTF-8" protocol="HTTP/1.1"
      	connectionTimeout="20000"
       	redirectPort="8443" />
      -->
    3. Inserire questo codice al di sotto:
      <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" 
      	port="8443" maxThreads="200" scheme="https" secure="true" 
      	SSLEnabled="true" keystoreFile="keystore_path"
      	keystorePass="keystore_password" clientAuth="false" 
      	sslProtocol="TLS" sslEnabledProtocols="TLSv1.2" />
    4. Sostituire keystore_path con il percorso al file keystore. Mantenere le virgolette.
      Se è stato generato un certificato auto-firmato, utilizzare "/opt/RICOH/DataCollector/ricohsupervisor-localkeystore.jks".
    5. Sostituire keystore_password con la password per il file keystore. Mantenere le virgolette.
    6. Salvare e chiudere il file.
  4. Reindirizzare le richieste HTTP a HTTPS:
    1. Andare su /opt/RICOH/DataCollector/apache-tomcat/conf e modificare il file web.xml come utente root:
      sudo gedit /opt/RICOH/DataCollector/apache-tomcat/conf/web.xml
    2. Andare all'ultima riga nel file, </web-app>.
    3. Inserire questo codice subito prima dell'ultima riga:
      <security-constraint>
      	<web-resource-collection>
      		<web-resource-name>Entire Application</web-resource-name>
      		<url-pattern>/*</url-pattern>
      	</web-resource-collection>
      	<!-- auth-constraint goes here if you require authentication -->
      	<user-data-constraint>
      		<transport-guarantee>CONFIDENTIAL</transport-guarantee>
      	</user-data-constraint>
      </security-constraint>
    4. Salvare e chiudere il file.
  5. Cambiare l'indirizzo del server interno:
    1. Andare su /opt/RICOH/DataCollector e modificare il file config.json come utente root:
      sudo gedit /opt/RICOH/DataCollector/config.json
    2. Sostituire la riga "webAddress": "http://localhost:19280", con "webAddress": "https://localhost:8443",.
    3. Salvare e chiudere il file.
  6. Avviare il servizio RICOH Supervisor Data Collector:
    sudo systemctl start RicohSupervisorDataCollector
  7. Verificare che le richieste vengano inoltrate alla connessione sicura:
    1. Aprire una finestra di un browser web supportato.
    2. Immettere questo URL nella barra degli indirizzi:

      http://server_address:port_number/DataCollector

      dove server_address è il nome host o l'indirizzo IP del computer in cui è installato RICOH Supervisor Data Collector e port_number è la porta del server Web.

      Quando la pagina viene caricata, l'indirizzo deve cambiare in https://server_address:port_number/DataCollector.

Quando gli utenti accedono al sistema, sono indirizzati al protocollo sicuro senza dover intraprendere le azioni. Tuttavia, se si utilizza un certificato auto-firmato o se il certificato non è legato in maniera particolare al server, il browser web emette un'avvertenza che il certificato non è attendibile.

Accertarsi di ripetere la procedura per abilitare l'HTTPS ogni volta che il certificato sta per scadere. È inoltre necessario ripetere questa procedura ogni volta che si esegue il processo di installazione per reinstallare, aggiornare o riparare RICOH Supervisor Data Collector.

Dopo aver riparato RICOH Supervisor Data Collector, se non si desidera più abilitare l'HTTPS, è necessario modificare nuovamente l'indirizzo del server interno in HTTP:

  1. Andare su /opt/RICOH/DataCollector e modificare il file config.json come utente root:
    sudo gedit /opt/RICOH/DataCollector/config.json
  2. Sostituire la riga "webAddress": "http://localhost:8443", con "webAddress": "https://localhost:19280",.
  3. Salvare e chiudere il file.
  4. Riavviare il servizio RICOH Supervisor Data Collector.