mirror of https://github.com/apache/lucene.git
SOLR-13798: SSL: Adding Enabling/Disabling client's hostname verification config
This commit is contained in:
parent
5c860391ef
commit
494d823e9d
|
@ -129,6 +129,8 @@ Improvements
|
||||||
|
|
||||||
* LUCENE-8984: MoreLikeThis MLT is biased for uncommon fields (Andy Hind via Anshum Gupta)
|
* LUCENE-8984: MoreLikeThis MLT is biased for uncommon fields (Andy Hind via Anshum Gupta)
|
||||||
|
|
||||||
|
* SOLR-13798: SSL: Adding Enabling/Disabling client's hostname verification config (Cao Manh Dat)
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
|
|
@ -209,6 +209,11 @@ if [ "$SOLR_SSL_ENABLED" == "true" ]; then
|
||||||
if [ -n "$SOLR_SSL_NEED_CLIENT_AUTH" ]; then
|
if [ -n "$SOLR_SSL_NEED_CLIENT_AUTH" ]; then
|
||||||
SOLR_SSL_OPTS+=" -Dsolr.jetty.ssl.needClientAuth=$SOLR_SSL_NEED_CLIENT_AUTH"
|
SOLR_SSL_OPTS+=" -Dsolr.jetty.ssl.needClientAuth=$SOLR_SSL_NEED_CLIENT_AUTH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION" ] ; then
|
||||||
|
SOLR_SSL_OPTS+=" -Dsolr.jetty.ssl.verifyClientHostName=HTTPS"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "$SOLR_SSL_WANT_CLIENT_AUTH" ]; then
|
if [ -n "$SOLR_SSL_WANT_CLIENT_AUTH" ]; then
|
||||||
SOLR_SSL_OPTS+=" -Dsolr.jetty.ssl.wantClientAuth=$SOLR_SSL_WANT_CLIENT_AUTH"
|
SOLR_SSL_OPTS+=" -Dsolr.jetty.ssl.wantClientAuth=$SOLR_SSL_WANT_CLIENT_AUTH"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -122,6 +122,8 @@ REM Require clients to authenticate
|
||||||
REM set SOLR_SSL_NEED_CLIENT_AUTH=false
|
REM set SOLR_SSL_NEED_CLIENT_AUTH=false
|
||||||
REM Enable clients to authenticate (but not require)
|
REM Enable clients to authenticate (but not require)
|
||||||
REM set SOLR_SSL_WANT_CLIENT_AUTH=false
|
REM set SOLR_SSL_WANT_CLIENT_AUTH=false
|
||||||
|
REM Verify client hostname during SSL handshake
|
||||||
|
REM set SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION=false
|
||||||
REM SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
REM SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
||||||
REM this to false can be useful to disable these checks when re-using a certificate on many hosts
|
REM this to false can be useful to disable these checks when re-using a certificate on many hosts
|
||||||
REM set SOLR_SSL_CHECK_PEER_NAME=true
|
REM set SOLR_SSL_CHECK_PEER_NAME=true
|
||||||
|
|
|
@ -139,6 +139,8 @@
|
||||||
#SOLR_SSL_NEED_CLIENT_AUTH=false
|
#SOLR_SSL_NEED_CLIENT_AUTH=false
|
||||||
# Enable clients to authenticate (but not require)
|
# Enable clients to authenticate (but not require)
|
||||||
#SOLR_SSL_WANT_CLIENT_AUTH=false
|
#SOLR_SSL_WANT_CLIENT_AUTH=false
|
||||||
|
# Verify client's hostname during SSL handshake
|
||||||
|
#SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION=false
|
||||||
# SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
# SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
||||||
# this to false can be useful to disable these checks when re-using a certificate on many hosts
|
# this to false can be useful to disable these checks when re-using a certificate on many hosts
|
||||||
#SOLR_SSL_CHECK_PEER_NAME=true
|
#SOLR_SSL_CHECK_PEER_NAME=true
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
<Set name="TrustStorePassword"><Ref refid="trustStorePassword"/></Set>
|
<Set name="TrustStorePassword"><Ref refid="trustStorePassword"/></Set>
|
||||||
<Set name="NeedClientAuth"><Property name="solr.jetty.ssl.needClientAuth" default="false"/></Set>
|
<Set name="NeedClientAuth"><Property name="solr.jetty.ssl.needClientAuth" default="false"/></Set>
|
||||||
<Set name="WantClientAuth"><Property name="solr.jetty.ssl.wantClientAuth" default="false"/></Set>
|
<Set name="WantClientAuth"><Property name="solr.jetty.ssl.wantClientAuth" default="false"/></Set>
|
||||||
|
<Set name="EndpointIdentificationAlgorithm"><Property name="solr.jetty.ssl.verifyClientHostName"/></Set>
|
||||||
<Set name="KeyStoreType"><Property name="solr.jetty.keystore.type" default="JKS"/></Set>
|
<Set name="KeyStoreType"><Property name="solr.jetty.keystore.type" default="JKS"/></Set>
|
||||||
<Set name="TrustStoreType"><Property name="solr.jetty.truststore.type" default="JKS"/></Set>
|
<Set name="TrustStoreType"><Property name="solr.jetty.truststore.type" default="JKS"/></Set>
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,8 @@ SOLR_SSL_TRUST_STORE_PASSWORD=secret
|
||||||
SOLR_SSL_NEED_CLIENT_AUTH=false
|
SOLR_SSL_NEED_CLIENT_AUTH=false
|
||||||
# Enable clients to authenticate (but not require)
|
# Enable clients to authenticate (but not require)
|
||||||
SOLR_SSL_WANT_CLIENT_AUTH=false
|
SOLR_SSL_WANT_CLIENT_AUTH=false
|
||||||
|
# Verify client's hostname during SSL handshake
|
||||||
|
SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION=false
|
||||||
# SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
# SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
||||||
# this to false can be useful to disable these checks when re-using a certificate on many hosts
|
# this to false can be useful to disable these checks when re-using a certificate on many hosts
|
||||||
SOLR_SSL_CHECK_PEER_NAME=true
|
SOLR_SSL_CHECK_PEER_NAME=true
|
||||||
|
@ -101,7 +103,7 @@ SOLR_SSL_TRUST_STORE_TYPE=JKS
|
||||||
When you start Solr, the `bin/solr` script includes the settings in `bin/solr.in.sh` and will pass these SSL-related system properties to the JVM.
|
When you start Solr, the `bin/solr` script includes the settings in `bin/solr.in.sh` and will pass these SSL-related system properties to the JVM.
|
||||||
|
|
||||||
.Client Authentication Settings
|
.Client Authentication Settings
|
||||||
WARNING: Enable either SOLR_SSL_NEED_CLIENT_AUTH or SOLR_SSL_WANT_CLIENT_AUTH but not both at the same time. They are mutually exclusive and Jetty will select one of them which may not be what you expect.
|
WARNING: Enable either SOLR_SSL_NEED_CLIENT_AUTH or SOLR_SSL_WANT_CLIENT_AUTH but not both at the same time. They are mutually exclusive and Jetty will select one of them which may not be what you expect. SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION should be set to true if you only want requests from authenticated host-names to be accepted.
|
||||||
|
|
||||||
Similarly, when you start Solr on Windows, the `bin\solr.cmd` script includes the settings in `bin\solr.in.cmd` - uncomment and update the set of properties beginning with `SOLR_SSL_*` to pass these SSL-related system properties to the JVM:
|
Similarly, when you start Solr on Windows, the `bin\solr.cmd` script includes the settings in `bin\solr.in.cmd` - uncomment and update the set of properties beginning with `SOLR_SSL_*` to pass these SSL-related system properties to the JVM:
|
||||||
|
|
||||||
|
@ -121,6 +123,8 @@ REM Require clients to authenticate
|
||||||
set SOLR_SSL_NEED_CLIENT_AUTH=false
|
set SOLR_SSL_NEED_CLIENT_AUTH=false
|
||||||
REM Enable clients to authenticate (but not require)
|
REM Enable clients to authenticate (but not require)
|
||||||
set SOLR_SSL_WANT_CLIENT_AUTH=false
|
set SOLR_SSL_WANT_CLIENT_AUTH=false
|
||||||
|
REM Verify client hostname during SSL handshake
|
||||||
|
set SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION=false
|
||||||
REM SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
REM SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
||||||
REM this to false can be useful to disable these checks when re-using a certificate on many hosts
|
REM this to false can be useful to disable these checks when re-using a certificate on many hosts
|
||||||
set SOLR_SSL_CHECK_PEER_NAME=true
|
set SOLR_SSL_CHECK_PEER_NAME=true
|
||||||
|
|
Loading…
Reference in New Issue