[KB7857] Einrichten einer HTTPS/SSL-Verbindung für ESET PROTECT On-Prem (Linux)

HINWEIS:

Diese Seite wurde von einem Computer übersetzt. Klicken Sie auf Englisch unter Sprachen auf dieser Seite, um den Originaltext anzuzeigen. Sollten Sie etwas unklar finden, wenden Sie sich bitte an Ihren lokalen Support.

Problem

Lösung

Verwandte Lösung: Windows Benutzer

Benutzer von Rocky Linux Virtual Appliance

Wenn Sie eine Rocky Linux Virtual Appliance verwenden, stellen Sie die Portnummer des Connectors auf 443 ein.

Lesen Sie mehr über ESET Management Agent mit Zertifikat von Rocky Linux ESET PROTECT Virtual Appliance.

HTTPS

Aus Sicherheitsgründen empfehlen wir Ihnen, ESET PROTECT On-Prem für die Verwendung von HTTPS einzurichten.

Verwenden Sie ein vorhandenes Zertifikat

Die Fehlermeldung "Using unencrypted connection! Bitte konfigurieren Sie den Webserver für die Verwendung von HTTPS" kann beim Zugriff auf ESET PROTECT On-Prem über HTTP erscheinen. Dies tritt nach der Installation von ESET PROTECT On-Prem auf.

Die folgenden Schritte beziehen sich auf Zertifikate für Apache Tomcat, die verwendet werden, um sichere HTTPS-Verbindungen zu gewährleisten. Lesen Sie mehr über ESET PROTECT On-Prem-Zertifikate.

  1. Verschieben Sie die Zertifikatsdatei (zum Beispiel certificate_file.pfx) in ein Tomcat-Konfigurationsverzeichnis (zum Beispiel /etc/tomcat/).

  2. Öffnen Sie die Datei Server.xml, die sich in /etc/tomcat/ befindet. Der Speicherort kann je nach Linux-Distribution variieren.

    • Wenn in der Datei Server.xml kein <Connector nach <Service name="Catalina"> vorhanden ist, kopieren Sie die folgende Zeichenfolge in die Datei Server.xml. Verwenden Sie Ihre eigenen Werte für keystoreFile, keystorePass und 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_MIT_AES_256_CBC_SHA384, TLS_ECDHE_RSA_MIT_AES_256_GCM_SHA384, TLS_ECDHE_RSA_MIT_AES_256_CBC_SHA,
                              TLS_RSA_MIT_AES_128_CBC_SHA256, TLS_RSA_MIT_AES_128_GCM_SHA256, TLS_RSA_MIT_AES_128_CBC_SHA, TLS_RSA_MIT_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" />
    • Wenn <Connector nach <Service name="Catalina"> in Server.xml vorhanden ist, ersetzen Sie die Werte der unten aufgeführten Parameter durch Ihre Werte:

      • keystoreFile - Geben Sie den vollständigen Pfad zur Zertifikatsdatei (.pfx, .keystore, oder andere) an. Wenn Sie ein Nicht-JKS-Zertifikat verwenden (z. B. eine .pfx-Datei ), löschen Sie den keyAlias (er ist in Server.xml standardmäßig vorhanden) und fügen Sie den richtigen keystoreType hinzu.
      • keystorePass - Geben Sie die Passphrase des Zertifikats an.
      • keystoreType - Geben Sie den Zertifikatstyp an.

  3. Starten Sie den Tomcat-Dienst neu:

    sudo systemctl restart tomcat
    • Wenn Sie eine .keystore-Datei verwenden, geben Sie den Pfad zu dieser Datei an(keystoreFile="/etc/tomcat/tomcat.keystore") und definieren Sie keyAlias(keyAlias="tomcat") anstelle von keystoreType.

    • Wenn Sie HTTP deaktivieren möchten:

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

      Benutzer, die SELinux aktiviert haben und ein ungültiges Zertifikatsflag erhalten, müssen möglicherweise den Befehl restorecon ausführen, um den SELinux-Sicherheitskontext wiederherzustellen:

      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

Erstellen Sie ein neues Zertifikat und lassen Sie es signieren

Verwenden Sie eine sichere HTTPS/SSL-Verbindung für ESET PROTECT On-Prem.

  1. Erstellen Sie einen Keystore mit einem SSL-Zertifikat. Sie müssen Java installiert haben.

    Apache Tomcat benötigt Java:
    • Stellen Sie sicher, dass Java, ESET PROTECT On-Prem und Apache Tomcat die gleiche Bitrate haben.

    • Wenn Sie mehrere Java-Versionen auf Ihrem System installiert haben, empfehlen wir Ihnen, frühere Java-Versionen zu deinstallieren und nur die neueste Java-Version zu verwenden.

    • Oracle JAVA SE Public Updates für den geschäftlichen, kommerziellen oder produktiven Einsatz erfordern eine kommerzielle Lizenz. Wenn Sie keine JAVA SE-Lizenz erwerben, können Sie this guide verwenden, um zu einer kostenfreien Alternative zu wechseln.

    Java enthält das Keytool, mit dem Sie ein Zertifikat über die Befehlszeile erstellen können.

    1. Sie müssen für jede Tomcat-Instanz (wenn Sie mehrere Tomcat-Instanzen haben) ein neues Zertifikat erstellen, um sicherzustellen, dass im Falle einer Kompromittierung eines Zertifikats die anderen Tomcat-Instanzen sicher bleiben. Im Folgenden finden Sie ein Beispiel für einen Befehl zur Erstellung eines Keystore mit einem SSL-Zertifikat.

    2. navigieren Sie zum genauen Speicherort der keytool-Datei, zum Beispiel /usr/lib/jvm/"java version"/jre/bin (das Verzeichnis hängt vom Betriebssystem und der Java-Version ab), und führen Sie den Befehl aus:

      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"

      Der Dateipfad /etc/tomcat/tomcat.keystore ist nur ein Beispiel; wählen Sie Ihr eigenes sicheres und zugängliches Ziel.

      -storepass und -keypass Parameter

      Die Werte für -storepass und -keypass müssen identisch sein.

  2. Exportieren Sie das Zertifikat aus dem Keystore. Nachfolgend finden Sie ein Beispiel für einen Befehl zum Exportieren der Zertifikatssignaturanforderung aus dem Schlüsselspeicher:

    sudo keytool -certreq -alias tomcat -file "/etc/tomcat/tomcat.csr" -keystore "/etc/tomcat/tomcat.keystore" -ext san=dns:ESETPROTECT
    Ersetzen Sie die Werte entsprechend
    • Ersetzen Sie den Wert "/etc/tomcat/tomcat.csr" für den Parameter -file durch den tatsächlichen Pfad und Dateinamen, unter dem das Zertifikat exportiert werden soll.

    • Ersetzen Sie den Wert ESETPROTECT für den Parameter -ext durch den tatsächlichen Hostnamen des Servers, auf dem Ihr Apache Tomcat mit ESET PROTECT On-Prem läuft.

  3. Lassen Sie das SSL-Zertifikat von einer Root-Zertifizierungsstelle (CA) Ihrer Wahl signieren.

    Sie können mit Schritt 6 fortfahren, wenn Sie später eine Root-Zertifizierungsstelle importieren möchten. Wenn Sie sich für diesen Weg entscheiden, zeigt Ihr Webbrowser möglicherweise Warnungen über ein selbstsigniertes Zertifikat an und Sie müssen eine Ausnahme hinzufügen, um eine Verbindung zu ESET PROTECT On-Prem über HTTPS herzustellen.

  4. Importieren Sie das Stammzertifikat und das Zwischenzertifikat Ihrer CA in Ihren Keystore. Diese Zertifikate werden in der Regel von der Stelle zur Verfügung gestellt, die Ihr Zertifikat signiert hat. Dies ist notwendig, da die Zertifikatsantwort mit vertrauenswürdigen Zertifikaten aus dem Schlüsselspeicher validiert wird.

    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. Wenn Sie das signierte Zertifikat der Root CA erhalten haben, importieren Sie den öffentlichen Schlüssel der CA und das Zertifikat(tomcat.cer) in Ihren Keystore. Im Folgenden finden Sie ein Beispiel für einen Befehl, der ein signiertes Zertifikat in den Keystore importiert:

    sudo keytool -import -alias tomcat -file "/etc/tomcat/tomcat.cer" -keystore "/etc/tomcat/tomcat.keystore"
    Ersetzen Sie die Werte entsprechend

    Ersetzen Sie den Wert /etc/tomcat/tomcat.csr für den Parameter -file durch den tatsächlichen Pfad und Dateinamen des signierten Zertifikats.

    Wenn Sie ein vorhandenes Zertifikat (z. B. ein Unternehmenszertifikat) verwenden möchten, folgen Sie diesen Anweisungen.

  6. Bearbeiten Sie die Konfigurationsdatei server.xml so, dass der Tag <Connector ähnlich wie im folgenden Beispiel geschrieben wird:

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

    Mit dieser Änderung werden auch die nicht sicheren Tomcat-Funktionen deaktiviert, so dass nur HTTPS aktiviert ist( Parameterscheme= ). Aus Sicherheitsgründen müssen Sie möglicherweise auch tomcat-users.xml bearbeiten, um alle Tomcat-Benutzer zu löschen, und ServerInfo.properties ändern, um die Identität des Tomcat zu verbergen.

  7. Starten Sie den Apache Tomcat-Dienst neu. ESET PROTECT On-Prem kann den Dienstnamen tomcat9 verwenden.

    sudo systemctl restart tomcat
    Sichere Verbindung schlägt unter Linux immer noch fehl

    Wichtige Inhalte finden Sie hier.

    Die folgende Fehlermeldung kann im Verzeichnis /var/....../tomcat erscheinen: "failed to initialize end point associated with ProtocolHandler ["http-bio-443"]."

    Wenn das Problem weiterhin besteht, ändern Sie den Port in der Datei server.xml auf einen höheren Wert als 1024, da Ports unter 1024 für Nicht-Root-Benutzer möglicherweise nicht zugänglich sind. Wenn Sie aus irgendeinem Grund Port 443 verwenden müssen, können Sie den Wert immer noch ändern und den Port dann weiterleiten.

    Führen Sie die folgenden Schritte aus, um die Portumleitung zu aktivieren (z. B. von Port 443 auf Port 8443):

    1. Erlauben Sie den Fernzugriff auf die Web-Konsole:

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

      Alternativ können Sie auch die Firewall-Konfigurationsdatei öffnen und bearbeiten(nano /etc/sysconfig/iptables) und diese Zeile in den Abschnitt einfügen, der mit *nat beginnt und mit COMMIT endet:

      -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports |8443)
    2. Entfernen Sie Port 8080, um HTTP zu deaktivieren:

      sudo iptables -D INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
    3. Speichern Sie die Firewall-Regeln:

      iptables-save > /etc/network/iptables.rules
    4. Deaktivieren Sie SELinux. Die Anweisungen können je nach Linux-Distribution unterschiedlich sein.