[KB7857] Configurar una conexión HTTPS/SSL para ESET PROTECT On-Prem (Linux)

NOTA:

Esta página ha sido traducida por un ordenador. Haga clic en Inglés bajo Idiomas en esta página para mostrar el texto original. Si encuentra algo que no está claro, por favor, póngase en contacto con su soporte local.

Problema

Solución

Solución relacionada: Usuarios de Windows

Usuarios de Rocky Linux Virtual Appliance

Si es usuario de Rocky Linux Virtual Appliance, ajuste el número de puerto del conector a 443.

Más información sobre Agente de Gestión ESET con certificado de Rocky Linux ESET PROTECT Virtual Appliance.

HTTPS

Por motivos de seguridad, le recomendamos que configure ESET PROTECT On-Prem para utilizar HTTPS.

Utilice un certificado existente

Aparece el mensaje de error "¡Utilizando conexión no cifrada! Por favor, configure el servidor web para utilizar HTTPS" puede aparecer al acceder a ESET PROTECT On-Prem a través de HTTP. Esto ocurre después de la instalación de ESET PROTECT On-Prem.

Los pasos siguientes hacen referencia a los certificados para Apache Tomcat, que se utilizan para garantizar conexiones HTTPS seguras. Lea más sobre los certificados de ESET PROTECT On-Prem.

  1. Mueva el archivo del certificado (por ejemplo certificate_file.pfx) a un directorio de configuración de Tomcat (por ejemplo /etc/tomcat/).

  2. Abra el archivo Server.xml ubicado en /etc/tomcat/. La ubicación puede variar en función de la distribución de Linux.

    • Si no hay <Connector after <Service name="Catalina"> en Server .xml, copie la siguiente cadena en Server.xml. Utilice sus propios valores para keystoreFile, keystorePass y 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_CON_AES_128_CBC_SHA256, TLS_RSA_CON_AES_128_GCM_SHA256, TLS_RSA_CON_AES_128_CBC_SHA, TLS_RSA_CON_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" />
    • Si <Connector> está presente después de <Service name="Catalina"> en Server.xml, sustituya los valores de los parámetros enumerados a continuación por sus valores:

      • keystoreFile - Proporcione la ruta completa al archivo del certificado (.pfx, .keystore u otro). Si utiliza un certificado no JKS (por ejemplo, un archivo .pfx ), elimine keyAlias (está presente en Server.xml por defecto) y añada el keystoreType adecuado.
      • keystorePass - Proporcione la frase de contraseña del certificado.
      • keystoreType - Especifique el tipo de certificado.

  3. Reinicie el servicio Tomcat:

    sudo systemctl restart tomcat
    • Si utiliza un archivo .keystore, utilice la ruta al archivo(keystoreFile="/etc/tomcat/tomcat.keystore") y defina keyAlias(keyAlias="tomcat") en lugar de keystoreType.

    • Si desea desactivar HTTP:

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

      Los usuarios que tengan SELinux habilitado y reciban un indicador de certificado no válido pueden necesitar ejecutar el comando restorecon para restaurar el contexto de seguridad SELinux:

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

Crear un nuevo certificado y firmarlo

Utilice una conexión HTTPS/SSL segura para ESET PROTECT On-Prem.

  1. Cree un almacén de claves con un certificado SSL. Debe tener Java instalado.

    Apache Tomcat requiere Java:
    • Compruebe que Java, ESET PROTECT On-Prem y Apache Tomcat tienen el mismo bit.

    • Si tiene varias versiones de Java instaladas en su sistema, le recomendamos que desinstale las versiones anteriores de Java y conserve sólo la más reciente.

    • Las actualizaciones públicas de Oracle JAVA SE para uso empresarial, comercial o de producción requieren una licencia comercial. Si no adquiere una licencia de JAVA SE, puede utilizar esta guía para pasar a una alternativa sin coste.

    Java incluye keytool, que permite crear un certificado a través de la línea de comandos.

    1. Debe generar un nuevo certificado para cada instancia de Tomcat (si tiene varias instancias de Tomcat) para garantizar que si un certificado se ve comprometido, las demás instancias de Tomcat seguirán siendo seguras. A continuación se muestra un ejemplo de comando para crear un almacén de claves con un certificado SSL.

    2. navegue hasta la ubicación exacta del archivo keytool, por ejemplo /usr/lib/jvm/"java version"/jre/bin (el directorio depende del sistema operativo y de la versión de Java) y ejecute el comando:

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

      La ruta del archivo /etc/tomcat/tomcat.keystore Es sólo un ejemplo; elija su propio destino seguro y accesible.

      -parámetros storepass y -keypass

      Los valores de -storepass y -keypass deben ser iguales.

  2. Exporte el certificado desde el almacén de claves. A continuación se muestra un ejemplo de comando para exportar la solicitud de firma de certificado desde el almacén de claves:

    sudo keytool -certreq -alias tomcat -file "/etc/tomcat/tomcat.csr" -keystore "/etc/tomcat/tomcat.keystore" -ext san=dns:ESETPROTECT
    Sustituya los valores adecuadamente
    • Sustituya el valor "/etc/tomcat/tomcat.csr" del parámetro -file por la ruta y el nombre de archivo reales donde desea que se exporte el certificado.

    • Sustituya el valor ESETPROTECT del parámetro -ext por el nombre de host real del servidor en el que se ejecuta Apache Tomcat con ESET PROTECT On-Prem.

  3. Obtenga el certificado SSL firmado con la Autoridad de Certificación Raíz (CA) de su elección.

    Puede continuar con el paso 6 si planea importar una CA raíz más adelante. Si decide proceder de esta forma, su navegador web puede mostrar advertencias sobre un certificado autofirmado y deberá agregar una excepción para conectarse a ESET PROTECT On-Prem a través de HTTPS.

  4. Importe el certificado raíz y el certificado intermedio de su CA a su almacén de claves. La entidad que firmó su certificado suele poner a su disposición estos certificados. Es necesario porque la respuesta del certificado se valida utilizando certificados de confianza del almacén de claves.

    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. Cuando reciba el certificado firmado con la CA raíz, importe la clave pública de la CA y el certificado(tomcat.cer) a su almacén de claves. A continuación se muestra un ejemplo de comando que importa un certificado firmado en el almacén de claves:

    sudo keytool -import -alias tomcat -file "/etc/tomcat/tomcat.cer" -keystore "/etc/tomcat/tomcat.keystore"
    Sustituya los valores adecuadamente

    Sustituya el valor /etc/tomcat/tomcat.c sr del parámetro -file por la ruta y el nombre de archivo reales del certificado firmado.

    Si desea utilizar un certificado existente (por ejemplo, un certificado de empresa), siga estas instrucciones.

  6. Edite el archivo de configuración server.xml para que la etiqueta <Connector> se escriba de forma similar al ejemplo siguiente:

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

    Esta modificación también desactiva las características no seguras de Tomcat, dejando sólo HTTPS habilitado( parámetroscheme= ). Por razones de seguridad, es posible que también tenga que editar tomcat-users.xml para eliminar todos los usuarios de Tomcat y cambiar ServerInfo.properties para ocultar la identidad del Tomcat.

  7. Reinicie el servicio Apache Tomcat. ESET PROTECT On-Prem puede utilizar el nombre de servicio tomcat9.

    sudo systemctl restart tomcat
    La conexión segura sigue fallando en Linux

    El contenido importante va aquí.

    El siguiente mensaje de error puede aparecer en el directorio /var/....../tomcat: "failed to initialize end point associated with ProtocolHandler ["http-bio-443"]"

    Si el problema persiste, cambie el puerto en el archivo server.xml a un valor superior a 1024, ya que los puertos por debajo de 1024 pueden no ser accesibles para usuarios no root. Si, por alguna razón, tienes que utilizar el puerto 443, aún puedes cambiar el valor y luego redireccionar el puerto.

    Siga los pasos que se indican a continuación para habilitar el redireccionamiento de puertos (por ejemplo, del puerto 443 al puerto 8443):

    1. Permita el acceso remoto a la Consola Web:

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

      Alternativamente, puede abrir y editar el archivo de configuración del cortafuegos(nano /etc/sysconfig/iptables) y añadir esta línea a la sección que comienza con *nat y termina con COMMIT:

      -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports |8443)
    2. Elimine el puerto 8080 para deshabilitar HTTP:

      sudo iptables -D INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
    3. Guarde las reglas del cortafuegos:

      iptables-save > /etc/network/iptables.rules
    4. Desactive SELinux. Las instrucciones proporcionadas pueden variar en función de su distribución de Linux.