[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

Verwante oplossing: Windows gebruikers

Rocky Linux Virtual Appliance gebruikers

Als je een Rocky Linux Virtual Appliance gebruiker bent, pas dan het poortnummer van de connector aan naar 443.

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

HTTPS

Om veiligheidsredenen raden wij aan om ESET PROTECT On-Prem in te stellen om HTTPS te gebruiken.

Gebruik een bestaand certificaat

De foutmelding "Gebruikt niet-versleutelde verbinding! Gelieve de webserver te configureren om HTTPS te gebruiken" kan verschijnen bij toegang tot ESET PROTECT On-Prem via HTTP. 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 garanderen. Lees meer over ESET PROTECT On-Prem certificeringen.

  1. Verplaats het certificaatbestand (bijvoorbeeld certificate_file.pfx) naar een Tomcat configuratiemap (bijvoorbeeld /etc/tomcat/).

  2. Open het bestand Server.xml in /etc/tomcat/. De locatie kan variëren afhankelijk van de Linux-distributie.

    • Als er geen <Connector na <Service name="Catalina"> in Server.xml staat, kopieer dan de volgende string naar Server.xml. 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"> in Server.xml, vervang dan de waarden van onderstaande parameters door jouw waarden:

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

  3. Herstart de Tomcat-service:

    sudo systemctl restart tomcat
    • Als je 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 je HTTP wilt uitschakelen:

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

      Gebruikers die SELinux hebben ingeschakeld en een ongeldige certificaatvlag 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. Java moet geïnstalleerd zijn.

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

    • Als u meerdere Java-versies op uw systeem hebt geïnstalleerd, raden wij u aan eerdere Java-versies te verwijderen en alleen de nieuwste Java te behouden.

    • Oracle JAVA SE publieke updates voor zakelijk, commercieel of productiegebruik vereisen een commerciële licentie. Als u geen JAVA SE licentie aanschaft, kunt u this guide gebruiken om over te stappen op een gratis alternatief.

    Java bevat de keytool, waarmee je een certificaat kunt aanmaken via de commandoregel.

    1. Je moet voor elke Tomcat-instantie (als je meerdere Tomcat-instanties hebt) een nieuw certificaat aanmaken om ervoor te zorgen dat als één certificaat wordt gecompromitteerd, de andere Tomcat-instanties veilig blijven. Hieronder staat een voorbeeldcommando 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 version"/jre/bin (de directory hangt af van het OS en de Java versie) en voer het commando uit:

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

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

      -storepass en -keypass parameters

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

  2. Exporteer het certificaat uit de sleutelbewaarplaats. Hieronder staat een voorbeeldcommando om het certificaat sign request te exporteren uit de keystore:

    sudo keytool -certreq -alias tomcat -file "/etc/tomcat/tomcat.csr" -keystore "/etc/tomcat/tomcat.keystore" -ext san=dns:ESETPROTECT
    Waarden op de juiste manier vervangen
    • Vervang de waarde "/etc/tomcat/tomcat.csr" voor de -file parameter door het daadwerkelijke pad en de bestandsnaam waar je het certificaat wilt exporteren.

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

  3. Laat het SSL-certificaat ondertekenen bij de Root Certificate Authority (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 verder te gaan, kan uw webbrowser waarschuwingen weergeven over een zelfondertekend certificaat en moet u een uitzondering toevoegen om verbinding te maken met ESET PROTECT On-Prem via HTTPS.

  4. Importeer het root-certificaat en intermediate-certificaat van uw CA naar uw keystore. Deze certificaten worden meestal beschikbaar gesteld door de entiteit die uw certificaat heeft ondertekend. Het is nodig omdat het certificaat antwoord 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 hebt ontvangen, importeer je de publieke sleutel van CA en het certificaat(tomcat.cer) in je keystore. Hieronder staat een voorbeeldcommando dat een ondertekend certificaat importeert in de keystore:

    sudo keytool -import -alias tomcat -file "/etc/tomcat/tomcat.cer" -keystore "/etc/tomcat/tomcat.keystore"
    Waarden op de juiste manier vervangen

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

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

  6. Bewerk het configuratiebestand server.xml zodat de tag <Connector wordt geschreven zoals 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 de niet-veilige functies van Tomcat uit, waardoor alleen HTTPS ingeschakeld blijft(scheme= parameter). Om veiligheidsredenen moet je misschien ook tomcat-users.xml bewerken om alle Tomcat-gebruikers te verwijderen en ServerInfo.properties wijzigen om de identiteit van de Tomcat te verbergen.

  7. Herstart de Apache Tomcat service. ESET PROTECT On-Prem kan de servicenaam tomcat9 gebruiken.

    sudo systemctl herstart tomcat
    Beveiligde verbinding mislukt nog steeds op Linux

    Belangrijke inhoud komt hier.

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

    Als het probleem aanhoudt, verander dan de poort in het server.xml bestand naar een waarde hoger dan 1024, omdat poorten lager dan 1024 mogelijk niet toegankelijk zijn voor niet-root gebruikers. Als je om een of andere reden poort 443 moet gebruiken, kun je de waarde nog steeds wijzigen en de poort vervolgens doorsturen.

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

    1. Sta toegang tot webconsole op afstand toe:

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

      Als alternatief kun je het firewall configuratiebestand 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 firewall regels op:

      iptables-save > /etc/network/iptables.rules
    4. SELinux uitschakelen. De instructies kunnen verschillen afhankelijk van je Linux-distributie.