[KB7857] Een HTTPS/SSL-verbinding instellen voor ESET PROTECT On-Prem (Linux)

OPMERKING:

Deze pagina is vertaald door een computer. Klik op English onder Languages op deze pagina om de originele tekst weer te geven. Als u iets onduidelijk vindt, neem dan contact op met uw lokale support.

Probleem

Oplossing

Gerelateerde oplossing: Windows-gebruikers

Gebruikers van de Rocky Linux Virtual Appliance

Als u een gebruiker van de Rocky Linux Virtual Appliance bent, stelt u het poortnummer van de connector in op 443.

Lees meer over ESET Management Agent met certificaat van Rocky Linux ESET PROTECT Virtual Appliance.

HTTPS

Om veiligheidsredenen raden we u aan ESET PROTECT On-Prem zo in te stellen dat HTTPS wordt gebruikt.

Gebruik een bestaand certificaat

De foutmelding „Er wordt een onversleutelde verbinding gebruikt! Configureer de webserver om HTTPS te gebruiken“ kan verschijnen wanneer u ESET PROTECT On-Prem via HTTP opent. Dit gebeurt na de installatie van ESET PROTECT On-Prem.

De onderstaande stappen hebben betrekking op certificaten voor Apache Tomcat, die worden gebruikt om veilige HTTPS-verbindingen te waarborgen. Lees meer over ESET PROTECT On-Prem-certificaten.

  1. Verplaats het certificaatbestand (bijvoorbeeld certificate_file.pfx) naar de installatiemap van Apache Tomcat (bijvoorbeeld /etc/tomcat/).

  2. Open het bestand Server.xml in de installatiemap van Apache Tomcat en bewerk het bestand als volgt:

    • Apache Tomcat 9

      • Als er geen <‎Connector staat na <‎Service name="Catalina">, kopieer dan de volgende tekst en plak deze na <‎Service name="Catalina">.

        Gebruik je eigen waarden voor keystoreFile, keystorePass en 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"
                       />
      • Als <‎Connector aanwezig is na <‎Service name="Catalina">, gebruik dan uw eigen waarden voor de onderstaande parameters.

        • keystoreFile – Geef het volledige pad naar het certificaatbestandop(.pfx, .keystore of ander). Als u een niet-JKS-certificaat gebruikt (bijvoorbeeld een .pfx-bestand ), verwijder dan de keyAlias (deze staat standaard in Server.xml ) en voeg het juiste keystoreType toe.
        • keystorePass–Geef de wachtwoordzin van het certificaatop.
        • keystoreType – Geef het certificaattype op.
    • Apache Tomcat 10

      Bewerk de <Connector -tag als volgt:

      Gebruik je eigen waarden voor de hieronder vermelde parameters.

      • certificateKeystoreFile–Geef het volledige pad naar het certificaatbestandop.
      • certificateKeystorePassword – Geef de wachtwoordzin voor het certificaat op.

      <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. Start de Tomcat-service opnieuw op:

    sudo systemctl restart tomcat
    • Als u een .keystore -bestand gebruikt, gebruik dan het pad naar het bestand (keystoreFile="/etc/tomcat/tomcat.keystore") en definieer keyAlias (keyAlias="tomcat") in plaats van keystoreType.

    • Als u HTTP wilt uitschakelen:

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

      Gebruikers bij wie SELinux is ingeschakeld en die een melding over een ongeldig certificaat krijgen, moeten mogelijk het commando `restorecon` uitvoeren om de SELinux-beveiligingscontext te herstellen:

      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

Maak een nieuw certificaat aan en laat het ondertekenen

Gebruik een beveiligde HTTPS/SSL-verbinding voor ESET PROTECT On-Prem.

  1. Maak een keystore aan met een SSL-certificaat. Hiervoor moet Java geïnstalleerd zijn.

    Apache Tomcat vereist Java:
    • Controleer of Java, ESET PROTECT On-Prem en Apache Tomcat dezelfde bitness hebben.

    • Als er meerdere Java-versies op uw systeem zijn geïnstalleerd, raden we u aan eerdere Java-versies te verwijderen en alleen de nieuwste versie van Java te behouden.

    • Voor openbare updates van Oracle JAVA SE voor zakelijk, commercieel of productiegebruik is een commerciële licentie vereist. Als u geen JAVA SE-licentie aanschaft, kunt u deze handleiding gebruiken om over te stappen op een kosteloos alternatief.

    Java bevat de tool ‘keytool’, waarmee u via de opdrachtregel een certificaat kunt aanmaken.

    1. U moet voor elke Tomcat-instantie (als u meerdere Tomcat-instanties hebt) een nieuw certificaat genereren om ervoor te zorgen dat, mocht één certificaat gecompromitteerd raken, de andere Tomcat-instanties veilig blijven. Hieronder vindt u een voorbeeldopdracht om een keystore met een SSL-certificaat aan te maken.

    2. Navigeer naar de exacte locatie van het keytool-bestand, bijvoorbeeld /usr/lib/jvm/”java-versie”/jre/bin (de map is afhankelijk van het besturingssysteem en de Java-versie) en voer de opdracht uit:

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

      Het bestandspad /etc/tomcat/tomcat.keystore is slechts een voorbeeld; kies zelf een veilige en toegankelijke bestemming.

      De parameters -storepass en -keypass

      De waarden voor -storepass en -keypass moeten hetzelfde zijn.

  2. Exporteer het certificaat uit de keystore. Hieronder staat een voorbeeldopdracht om het certificaataanvraagbestand uit de keystore te exporteren:

    sudo keytool -certreq -alias tomcat -file "/etc/tomcat/tomcat.csr" -keystore "/etc/tomcat/tomcat.keystore" -ext san=dns:ESETPROTECT
    Vervang de waarden naar behoefte
    • Vervang de waarde "/etc/tomcat/tomcat.csr" voor de parameter -file door het daadwerkelijke pad en de bestandsnaam waarnaar u het certificaat wilt exporteren.

    • Vervang de waarde ESETPROTECT voor de parameter -ext door de daadwerkelijke hostnaam van de server waarop uw Apache Tomcat met ESET PROTECT On-Prem draait.

  3. Laat het SSL-certificaat ondertekenen door de root-certificaatautoriteit (CA) van uw keuze.

    U kunt doorgaan naar stap 6 als u van plan bent om later een Root CA te importeren. Als u ervoor kiest om op deze manier door te gaan, kan uw webbrowser waarschuwingen weergeven over een zelfondertekend certificaat en moet u een uitzondering toevoegen om via HTTPS verbinding te maken met ESET PROTECT On-Prem.

  4. Importeer het rootcertificaat en het tussencertificaat van uw CA in uw keystore. Deze certificaten worden doorgaans ter beschikking gesteld door de instantie die uw certificaat heeft ondertekend. Dit is noodzakelijk omdat de certificaatreactie wordt gevalideerd met behulp van vertrouwde certificaten uit de 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. Wanneer je het ondertekende certificaat met de Root CA ontvangt, importeer dan de openbare sleutel van de CA en het certificaat (tomcat.cer) in je keystore. Hieronder staat een voorbeeldopdracht waarmee je een ondertekend certificaat in de keystore importeert:

    sudo keytool -import -alias tomcat -file "/etc/tomcat/tomcat.cer" -keystore "/etc/tomcat/tomcat.keystore"
    Vervang de waarden waar nodig

    Vervang de waarde /etc/tomcat/tomcat.csr voor de parameter -file door het daadwerkelijke pad en de bestandsnaam van het ondertekende certificaat.

    Als u een bestaand certificaat wilt gebruiken (bijvoorbeeld een bedrijfscertificaat), volg dan deze instructies.

  6. Bewerk het configuratiebestand server.xml zodat de tag <‎Connector er ongeveer zo uitziet als in het onderstaande voorbeeld:

    <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"/>

    Deze wijziging schakelt ook niet-beveiligde Tomcat-functies uit, waardoor alleen HTTPS ingeschakeld blijft (parameter`scheme=` ). Om veiligheidsredenen moet u mogelijk ook het bestand `tomcat-users.xml` bewerken om alle Tomcat-gebruikers te verwijderen en het bestand `ServerInfo.properties` aanpassen om de identiteit van de Tomcat te verbergen.

  7. Start de Apache Tomcat-service opnieuw op. ESET PROTECT On-Prem gebruikt mogelijk de servicenaam tomcat9.

    sudo systemctl restart tomcat
    Beveiligde verbinding mislukt nog steeds op Linux

    Hier komt belangrijke inhoud.

    De volgende foutmelding kan verschijnen in de map /var/....../tomcat: "failed to initialize end point associated with ProtocolHandler ["http-bio-443"]."

    Als het probleem zich blijft voordoen, wijzig dan de poort in het bestand server.xml in een waarde hoger dan 1024, omdat poorten onder 1024 mogelijk niet toegankelijk zijn voor niet-rootgebruikers. Als u om welke reden dan ook poort 443 moet gebruiken, kunt u de waarde nog steeds wijzigen en vervolgens de poort doorsturen.

    Volg de onderstaande stappen om poortomleiding in te schakelen (bijvoorbeeld van poort 443 naar poort 8443):

    1. Toegang tot de webconsole op afstand toestaan:

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

      Je kunt ook het configuratiebestand van de firewall openen en bewerken (nano /etc/sysconfig/iptables) en deze regel toevoegen aan de sectie die begint met *nat en eindigt met COMMIT:

      -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports |8443)
    2. Verwijder poort 8080 om HTTP uit te schakelen:

      sudo iptables -D INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
    3. Sla de firewallregels op:

      iptables-save > /etc/network/iptables.rules
    4. Schakel SELinux uit. De instructies hiervoor kunnen verschillen, afhankelijk van uw Linux-distributie.