Пароль сертификата Solr Https Secure - PullRequest
0 голосов
/ 25 июня 2018

По умолчанию для настройки Solr на Https требуется сохранить пароль сертификата в виде обычного текста в «bin \ solr.in.cmd» (используя windows для размещения solr) А пароль сертификата выставляется на портале.

Как настроить Solr с помощью сертификата Https, чтобы сохранить пароль сертификата в безопасности?

Я хочу использовать личный сертификат, чтобы клиент доверял сертификату по умолчанию, а не самозаверяющему. Я подключаюсь через SolrNet из C #, в настоящее время без аутентификации, но в будущем могу посмотреть на Basic Authentication, которая поддерживается в провайдере, который упаковывает SolrNet.

Похоже на основную вещь, которую, как я думал, следует поддерживать? Не могу найти ни одну статью / документацию по этому вопросу. Кто-нибудь уже решил это?

Ближайшее, что я нашел:

Настройка свойств SOLR SSL

http://lucene.472066.n3.nabble.com/Prevent-the-SSL-Keystore-and-Truststore-password-from-showing-up-in-the-Solr-Admin-and-Linux-process-td4257422.html

Некоторые предложения использования jetty-https.xml и шифрования конфигурации там. Ищете более полный ответ.


обновление

Я наткнулся на следующие билеты Solr:

https://issues.apache.org/jira/browse/SOLR-10307

https://issues.apache.org/jira/browse/SOLR-8897

Где поддержка загрузки паролей сертификата из переменных среды была добавлена ​​в Solr 7.0 и 6.7 (которая еще не была выпущена). Я не думаю, что использование переменных среды намного лучше, но некоторый прогресс. Существует также ссылка на использование поставщика учетных данных Hadoop, но я не использую Hadoop, поэтому для меня это не применимо.

В комментариях к заявкам упоминается, что кто-то пробовал Jetty Password Utility, а пользовательский интерфейс Solr загружался через HTTPS. Однако API-интерфейс Collection не мог понять формат пароля.

Так что я до сих пор не могу настроить пароль сертификата для Solr, так что я чувствую себя в безопасности.

1 Ответ

0 голосов
/ 29 июня 2018

Для меня пароль сертификата не хранится на портале SOLR

см. Мои настройки

SSL

cd /path/to/solr/server/etc/

Следующая команда создаст файл хранилища ключей с именем solr-ssl.keystore.jks в текущем каталоге

keytool -genkeypair -alias solr-ssl -keyalg RSA -keysize 2048 -keypass secret -storepass secret -validity 9999 -keystore solr-ssl.keystore.jks -ext SAN=DNS:localhost,IP:@ipsolr,IP:127.0.0.1 -dname "CN=localhost, OU=xxx, O=xxx, L=xxx, ST=xxx, C=xxx"    

Преобразование сертификата и ключа в формат PEM для использования с Curl

keytool -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12

Следующее преобразованиехранилище ключей в формате PKCS12 в формате PEM с использованием openssl

openssl pkcs12 -in solr-ssl.keystore.p12 -out solr-ssl.pem

После перехода в ваш $ JAVA_HOME (в jre / lib / security)

curl --cacert /pah/to/solr/server/etc/solr-ssl.pem https://localhost:8983/solr/

Установка общих системных свойств, связанных с SSL

vi /etc/default/solr.in.sh

SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_KEY_STORE_PASSWORD=secret
SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_TRUST_STORE_PASSWORD=secret
SOLR_SSL_NEED_CLIENT_AUTH=false
SOLR_SSL_WANT_CLIENT_AUTH=false
SOLR_SSL_KEY_STORE_TYPE=JKS
SOLR_SSL_TRUST_STORE_TYPE=JKS

Перезапустить solr

service solr restart

Для аутентификации создать security.json в SOLR_HOME (/var / solr / data / для меня) Владелец: root Посмотрите пример для настройки security.json: есть ли у вас надежда

После защиты добавьте в solr.in.sh

SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:xxx"

, что позволяетответ на службу статуса solr, потому что с аутентификацией она недоступна

Для меня это работа, и я не вижу ееПароль сертификата на solr UI

...