問題
- HTTP経由でESET PROTECT On-Premにアクセスすると、「暗号化されていない接続を使用しています!HTTPSを使用するようにWebサーバーを設定してください」という警告メッセージが表示される
- 既存の証明書を使用する
- 新しい証明書を作成し、署名を取得する
解決策
関連する解決策:Windows ユーザー
既存の証明書を使用する
HTTP 経由で ESET PROTECT On-Prem にアクセスすると、「暗号化されていない接続を使用しています!HTTPS を使用するように Web サーバーを設定してください」というエラーメッセージが表示される場合があります。これは、ESET PROTECT On-Prem のインストール後に発生します。
以下の手順は、安全な HTTPS 接続を確保するために使用される Apache Tomcat 用の証明書に関するものです。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")を指定し、keystoreTypeの代わりにkeyAlias(keyAlias="tomcat")を定義してください。 -
HTTPを無効にする場合は:
<!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
-
新しい証明書を作成し、署名を取得する
ESET PROTECT On-Prem では、安全な HTTPS/SSL 接続を使用してください。
-
SSL 証明書を含むキーストアを作成します。Java がインストールされている 必要があります。
Java には、コマンドラインから証明書を作成できるkeytool が含まれています。
-
1つの証明書が侵害された場合でも、他のTomcatインスタンスのセキュリティが維持されるようにするため、(複数のTomcatインスタンスがある場合は)Tomcatインスタンスごとに新しい証明書を生成する必要があります。以下は、SSL証明書
を含むキーストアを作成するためのコマンド例です。 -
keytoolファイルの正確な場所(例:
/usr/lib/jvm/”java version”/jre/bin。ディレクトリは OS および Java のバージョンによって異なります)に移動し、次のコマンドを実行します。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"ファイルパス
/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" -
ルートCAによる署名付き証明書を受け取ったら、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