[KB7857] Configurar uma conexão HTTPS/SSL para o ESET PROTECT On-Prem (Linux)

NOTA:

Esta página foi traduzida por um computador. Clique em inglês em Idiomas nesta página para exibir o texto original. Se você encontrar algo que não esteja claro, por favor entre em contato com o suporte local.

Problema

Solução

Solução relacionada: Usuários do Windows

Usuários do Rocky Linux Virtual Appliance

Se você é usuário do Rocky Linux Virtual Appliance, ajuste o número da porta do conector para 443.

Leia mais sobre Agente de gerenciamento da ESET com certificado do Rocky Linux ESET PROTECT Virtual Appliance.

HTTPS

Por motivos de segurança, recomendamos que você configure o ESET PROTECT On-Prem para usar HTTPS.

Use um certificado existente

A mensagem de erro “Usando conexão não criptografada! Configure o servidor web para usar HTTPS” pode aparecer ao acessar o ESET PROTECT On-Prem via HTTP. Isso ocorre após a instalação do ESET PROTECT On-Prem.

As etapas abaixo referem-se aos certificados para o Apache Tomcat, que são usados para garantir conexões HTTPS seguras. Saiba mais sobre as certificações do ESET PROTECT On-Prem.

  1. Mova o arquivo de certificado (por exemplo, certificate_file.pfx) para a pasta de instalação do Apache Tomcat (por exemplo, /etc/tomcat/).

  2. Abra o arquivo Server.xml localizado na pasta de instalação do Apache Tomcat e edite-o da seguinte forma:

    • Apache Tomcat 9

      • Se não houver um <‎Connector após <‎Service name="Catalina">, copie a sequência a seguir e cole-a após <‎Service name="Catalina">.

        Use seus próprios valores para keystoreFile, keystorePass e 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"
                       />
      • Se <‎Connector estiver presente após <‎Service name="Catalina">, use seus próprios valores para os parâmetros listados abaixo.

        • keystoreFile – Forneça o caminho completo para o arquivo de certificado (.pfx, .keystore ou outro). Se você usar um certificado que não seja JKS (por exemplo, um arquivo .pfx ), exclua o keyAlias (ele está presente no Server.xml por padrão) e adicione o keystoreType adequado.
        • keystorePass –Forneça a senha do certificado.
        • keystoreType–Especifique o tipo de certificado.
    • Apache Tomcat 10

      Edite a tag <Connector da seguinte maneira:

      Use seus próprios valores para os parâmetros listados abaixo.

      • certificateKeystoreFile–Forneça o caminho completo para o arquivo do certificado.
      • certificateKeystorePassword– Forneça a senha do certificado.

      <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. Reinicie o serviço Tomcat:

    sudo systemctl restart tomcat
    • Se você usar um arquivo .keystore, utilize o caminho para o arquivo (keystoreFile="/etc/tomcat/tomcat.keystore") e defina keyAlias (keyAlias="tomcat") em vez de keystoreType.

    • Se você quiser desativar o HTTP:

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

      Usuários que tenham o SELinux ativado e recebam uma mensagem de certificado inválido podem precisar executar o comando `restorecon` para restaurar o contexto de segurança do SELinux:

      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

Crie um novo certificado e obtenha sua assinatura

Use uma conexão HTTPS/SSL segura para o ESET PROTECT On-Prem.

  1. Crie um keystore com um certificado SSL. É necessário ter o Java instalado .

    O Apache Tomcat requer Java:
    • Verifique se o Java, o ESET PROTECT On-Prem e o Apache Tomcat têm a mesma arquitetura de bits.

    • Se você tiver várias versões do Java instaladas no seu sistema, recomendamos que desinstale as versões anteriores e mantenha apenas a versão mais recente do Java.

    • As atualizações públicas do Oracle Java SE para uso empresarial, comercial ou em produção exigem uma licença comercial. Se você não adquirir uma licença do Java SE, poderá usar este guia para migrar para uma alternativa gratuita.

    O Java inclui o keytool, que permite criar um certificado por meio da linha de comando.

    1. É necessário gerar um novo certificado para cada instância do Tomcat (caso haja várias instâncias do Tomcat) para garantir que, se um certificado for comprometido, as outras instâncias do Tomcat permaneçam seguras. Abaixo está um exemplo de comando para criar um keystore com um certificado SSL.

    2. Navegue até o local exato do arquivo do keytool, por exemplo, /usr/lib/jvm/”java version”/jre/bin (o diretório depende do sistema operacional e da versão do Java) e execute o comando:

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

      O caminho do arquivo /etc/tomcat/tomcat.keystore é apenas um exemplo; escolha seu próprio destino seguro e acessível.

      Parâmetros -storepass e -keypass

      Os valores para -storepass e -keypass devem ser os mesmos.

  2. Exporte o certificado do keystore. Abaixo está um exemplo de comando para exportar a solicitação de assinatura de certificado do keystore:

    sudo keytool -certreq -alias tomcat -file "/etc/tomcat/tomcat.csr" -keystore "/etc/tomcat/tomcat.keystore" -ext san=dns:ESETPROTECT
    Substitua os valores adequadamente
    • Substitua o valor “/etc/tomcat/tomcat.csr” do parâmetro -file pelo caminho e nome de arquivo reais para onde você deseja exportar o certificado.

    • Substitua o valor ESETPROTECT do parâmetro -ext pelo nome de host real do servidor no qual o Apache Tomcat com o ESET PROTECT On-Prem está em execução.

  3. Obtenha o certificado SSL assinado pela Autoridade Certificadora Raiz (CA) de sua escolha.

    Você pode prosseguir para a etapa 6 se planeja importar uma CA raiz posteriormente. Se optar por seguir esse caminho, seu navegador da web poderá exibir avisos sobre um certificado autoassinado e você precisará adicionar uma exceção para se conectar ao ESET PROTECT On-Prem via HTTPS.

  4. Importe o certificado raiz e o certificado intermediário da sua CA para o seu keystore. Esses certificados geralmente são disponibilizados pela entidade que assinou o seu certificado. Isso é necessário porque a resposta do certificado é validada usando certificados confiáveis do 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. Ao receber o certificado assinado pela CA raiz, importe a chave pública da CA e o certificado (tomcat.cer) para o seu keystore. Veja abaixo um exemplo de comando que importa um certificado assinado para o keystore:

    sudo keytool -import -alias tomcat -file "/etc/tomcat/tomcat.cer" -keystore "/etc/tomcat/tomcat.keystore"
    Substitua os valores adequadamente

    Substitua o valor /etc/tomcat/tomcat.csr do parâmetro -file pelo caminho e nome de arquivo reais do certificado assinado.

    Se você quiser usar um certificado existente (por exemplo, um certificado da empresa), siga estas instruções.

  6. Edite o arquivo de configuração server.xml para que a tag <‎Connector seja escrita de forma semelhante ao exemplo abaixo:

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

    Essa modificação também desativa recursos não seguros do Tomcat, mantendo apenas o HTTPS habilitado (parâmetro`scheme=` ). Por motivos de segurança, talvez seja necessário editar o arquivo `tomcat-users.xml` para excluir todos os usuários do Tomcat e alterar o arquivo `ServerInfo.properties` para ocultar a identidade do Tomcat.

  7. Reinicie o serviço do Apache Tomcat. O ESET PROTECT On-Prem pode usar o nome de serviço tomcat9.

    sudo systemctl restart tomcat
    A conexão segura ainda está falhando no Linux

    Conteúdo importante aqui.

    A seguinte mensagem de erro pode aparecer no diretório /var/....../tomcat: “falha ao inicializar o ponto final associado ao ProtocolHandler ["http-bio-443"].”

    Se o problema persistir, altere a porta no arquivo server.xml para um valor superior a 1024, pois portas abaixo de 1024 podem não estar acessíveis a usuários que não sejam root. Se, por algum motivo, você precisar usar a porta 443, ainda é possível alterar o valor e, em seguida, redirecionar a porta.

    Siga as etapas abaixo para habilitar o redirecionamento de porta (por exemplo, da porta 443 para a porta 8443):

    1. Permitir acesso remoto ao Console da Web:

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

      Como alternativa, você pode abrir e editar o arquivo de configuração do firewall (nano /etc/sysconfig/iptables) e adicionar esta linha à seção que começa com *nat e termina com COMMIT:

      -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports |8443)
    2. Remova a porta 8080 para desativar o HTTP:

      sudo iptables -D INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
    3. Salve as regras do firewall:

      iptables-save > /etc/network/iptables.rules
    4. Desative o SELinux. As instruções fornecidas podem variar de acordo com a sua distribuição Linux.