問題
- 暗号化されていない接続を 使用しています!HTTP 経由で ESET PROTECT にアクセスする場合は、HTTPS を使用するように Web サーバーを設定して ください。これは、ESET PROTECT のインストール後に発生します。
- 既存の証明書を使用する
- 新しい証明書を作成し、署名する
解決方法
既存の証明書を使用する
- 証明書ファイル(
certificate_file.pfxなど
)をTomcatの設定ディレクトリ(/etc/tomcat/など
)に移動します。 etc/tomcat/に
あるServer.xml
ファイルを開きます。場所はLinuxディストリビューションによって異なります。
- S
erver.xmlに
<Connector
after<Service name="Catalina">が
ない場合は、以下の文字列をServer.xmlに
コピーする。keystoreFile
、keystorePass
、およびkeystoreType
には独自の値を使用する:
- S
<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" />。
Server.xmlの
<Service name="Catalina">の
後に<Connector
>がある場合は、以下のパラメータの値を任意の値に置き換える:
keystoreFile
- 証明書ファイル(.pfx
、.keystore
、またはその他)へのフル パスを指定します。JKS以外の証明書(たとえば、.pfx
ファイル)を使用する場合は、keyAliasを
削除し(デフォルトでServer.xmlに
存在する)、適切なkeystoreTypeを
追加します。
keystorePass
- 証明書のパスフレーズを指定します。
keystoreType
-証明書のタイプを指定します。
- 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" /> HTTPを無効にする場合は、次のようにします。
新しい証明書を作成し、署名する
ESET PROTECT の安全な HTTPS/SSL 接続 を使用します。
- SSL証明書付きのキーストアを作成します。Javaが インストールされている必要があります。
Javaには、コマンドラインで証明書を作成できるkeytoolが含まれています。1つの証明書が危険にさらされても他のtomcatインスタンスが安全であることを保証するために、(複数のtomcatインスタンスがある場合は)tomcatインスタンスごとに新しい証明書を生成する必要があります。
以下は、SSL証明書付きのキーストアを
作成するサンプル・コマンドです:
keytoolファイルの正確な場所、例えば/usr/lib/jvm/"java version"/jre/bin
(ディレクトリはOSとJavaバージョンによって異なります)に移動し、コマンドを実行します:
/etc/tomcat/tomcat.keystoreは
一例です。キーストアから
証明書をエクスポートする。以下は、キーストアから
証明書署名要求をエクスポートするサンプル・コマンドです:
- 任意のルート認証局(CA)で署名されたSSL証明書を取得します。
ルート認証局を後でインポートする場合は、ステップ 6 に進むことができます。この方法を選択した場合、ウェブブラウザに自己署名証明書に関する警告が表示されることがあり、HTTPS経由でESET PROTECTに接続するための例外を追加する必要があります。 - 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
)をキーストアに
インポートします。以下は、署名付き証明書をキーストアに
インポートするコマンドのサンプルです:
既に存在する証明書(例えば会社の証明書)を使用する場合は、以下の手順に従ってください。
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のIDを隠す必要がある場合もあります。
- Apache Tomcatサービスを再起動します。ESET PROTECT は
tomcat9
というサービス名を使用する場合があります。
sudo systemctl restart tomcat