问题
- 通过 HTTP 访问 ESET PROTECT On-Prem 时,会收到“正在使用未加密的连接!请配置 Web 服务器以使用 HTTPS”的警告消息
- 使用现有证书
- 创建新证书并获取签名
解决方案
相关解决方案:Windows 用户
使用现有证书
通过 HTTP 访问 ESET PROTECT On-Prem 时,可能会出现“正在使用未加密的连接!请配置 Web 服务器以使用 HTTPS”的错误消息。此情况发生在安装 ESET PROTECT On-Prem 之后。
以下步骤涉及 Apache Tomcat 的证书,这些证书用于确保安全的 HTTPS 连接。了解有关ESET PROTECT On-Prem 证书的更多信息。
-
将证书文件(例如
certificate_file.pfx)移动到 Apache Tomcat 安装文件夹(例如/etc/tomcat/)。 -
打开位于 Apache Tomcat 安装文件夹中的
Server.xml文件,并按以下方式编辑该文件:-
Apache Tomcat 9
-
如果
<Service name="Catalina">之后没有<Connector,请复制以下字符串并将其粘贴到<Service name="Catalina">之后。请根据实际情况填写
keystoreFile、keystorePass和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" /> -
如果
<Service name="Catalina">之后存在<Connector,请为以下参数填写您自己的值。keystoreFile——提供证书文件(.pfx、.keystore或其他格式)的完整路径。 若使用非 JKS 证书(例如.pfx文件),请删除keyAlias(该项默认存在于Server.xml中),并添加正确的keystoreType。keystorePass——提供证书密码短语。keystoreType——指定证书类型。
-
-
Apache Tomcat 10
按以下方式编辑
<Connector标签:请为以下参数填写您自己的值。
certificateKeystoreFile——提供证书文件的完整路径。certificateKeystorePassword–提供证书密码短语。
<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>
-
-
重启 Tomcat 服务:
sudo systemctl restart tomcat
-
-
如果您使用
.keystore文件,请使用该文件的路径(keystoreFile="/etc/tomcat/tomcat.keystore"),并定义keyAlias(keyAlias="tomcat")代替keystoreType。 -
若要禁用 HTTP:
<!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
-
创建新证书并获取签名
为 ESET PROTECT On-Prem 使用安全的 HTTPS/SSL 连接。
-
创建包含SSL 证书的密钥库。您必须已安装 Java 。
Java 包含keytool 工具,可让您通过命令行创建证书。
-
您必须为每个 Tomcat 实例(如果您有多个 Tomcat 实例)生成一个新的证书,以确保如果一个证书遭到泄露,其他 Tomcat 实例仍能保持安全。以下是创建
包含SSL 证书的密钥库的示例命令。 -
导航至keytool文件的确切位置,例如
/usr/lib/jvm/“java 版本”/jre/bin(具体目录取决于操作系统和 Java 版本),然后运行以下命令:sudo keytool -genkeypair -alias "tomcat" -keyalg RSA -keysize 4096 -validity 3650 -keystore "/etc/tomcat/tomcat.keystore" -storepass "yourpassword" -keypass "您的密码" -dname "CN=未知, OU=未知, O=未知, L=未知, ST=未知, C=未知"文件路径
/etc/tomcat/tomcat.keystore仅供示例;请选择您自己安全且可访问的存储位置。
-
-
从
密钥库导出证书。以下是从密钥库导出证书签名请求(CSR)的示例命令:sudo keytool -certreq -alias tomcat -file "/etc/tomcat/tomcat.csr" -keystore "/etc/tomcat/tomcat.keystore" -ext san=dns:ESETPROTECT -
使用您选择的根证书颁发机构 (CA) 对 SSL 证书进行签名。
如果您计划稍后导入根 CA,可以跳至第 6 步。如果您选择按此方式操作,您的 Web 浏览器可能会显示有关自签名证书的警告,您需要添加一个例外才能通过 HTTPS 连接到 ESET PROTECT On-Prem。
-
将您的 CA 的根证书和中间证书导入到
密钥库中。这些证书通常由签署您证书的机构提供。此步骤是必要的,因为证书响应的验证需要使用密钥库中的受信任证书。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" -
当您收到由根证书颁发机构 (Root CA) 签名的证书后,请将该证书颁发机构的公钥和证书(
tomcat.cer)导入您的密钥库。以下是将已签名证书导入密钥库的示例命令:sudo keytool -import -alias tomcat -file "/etc/tomcat/tomcat.cer" -keystore "/etc/tomcat/tomcat.keystore"如果您想使用现有证书(例如公司证书),请按照以下说明操作。
-
编辑
server.xml配置文件,使<Connector标签的写法与以下示例类似:<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"/>此修改还会禁用 Tomcat 的非安全功能,仅保留 HTTPS 功能(
scheme=参数)。出于安全考虑,您可能还需要编辑tomcat-users.xml以删除所有 Tomcat 用户,并修改 ServerInfo.properties 以隐藏 Tomcat 的身份信息。 -
重启 Apache Tomcat 服务。ESET PROTECT On-Prem 可能使用服务名称
tomcat9。sudo systemctl restart tomcat