Dovecot FTS от Apache Solr: Как сделать secure Solr?

Я установил сервер Solr на моем Debian 10 VPS выполнять полнотекстовый поиск в моем архиве электронной почты с помощью почтовых клиентов. Я использую Dovecot в качестве сервера IMAP на том же хосте.

Пока все работает нормально.

Но вот чего я не понимаю: как защитить Solr?

По умолчанию каждый может получить доступ к моей панели администратора (и, возможно, к API) по http://example.com:8983

Чтобы закрыть дверь, я включил базовую аутентификацию, создав файл security.json согласно справочному руководству Solr https://solr.apache.org/guide/8_8/basic-authentication-plugin.html

{
    "authentication":{ 
    "blockUnknown": true, 
    "class":"solr.BasicAuthPlugin",
    "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}, 
    "realm":"My Solr users", 
    "forwardCredentials": false 
    },
    "authorization":{
    "class":"solr.RuleBasedAuthorizationPlugin",
    "permissions":[{"name":"security-edit",
        "role":"admin"}], 
    "user-role":{"solr":"admin"} 
    }
}

Хорошее: Это прекрасно работает, теперь люди должны пройти аутентификацию. Уродливый:

  1. Dovecot больше не может войти в Solr, больше не нужно искать в моем архиве электронной почты
  2. Остальной мир может войти со стандартными учетными данными пользователя "solr" и пароль "SolrRocks".

Насколько это глупо? Это защита?

Итак, кто может помочь мне настроить мои серверы Solr и Dovecot, на которые только я могу войти в административную панель, И Dovecot продолжает работать с Solr.

Я знаю, что могу просто отключить аутентификацию и просто заблокировать порт 8983 брандмауэром, но это не способ сделать это. Более того, я тоже не смогу войти в админку.

Спасибо за подсказку.

Мой Dovecot "90-plugins.conf":

plugin {
  fts = solr
  fts_autoindex = yes
  fts_solr = break-imap-search url=http://127.0.0.1:8983/solr/dovecot/ 
}
0
задан 18 May 2021 в 23:20
1 ответ

Dovecot прекрасно поддерживает аутентификацию TLS и HTTP Basic.

Это не обязательно должна быть реализация HBA, интегрированная с solr, вы также можете применить ее для всего http-доступа к экземпляру solr. Если ваш метод запуска solr (используется для быть веб-приложением java, в настоящее время автономным приложением) не дает вам нужных вам параметров, проксируйте его через nginx и настраивайте HBA там.

Поместите учетные данные в URL-адрес в вашем Dovecot conf:

url=https://user:password@hostname.example:8983/solr/dovecot/ 

Размещение на IP-адресе, защищенном брандмауэром, доступным только для Dovecot, по-прежнему имеет смысл.

Для локальных развертываний вам не нужно (и обычно не следует) размещать solr на маршрутизируемом интерфейсе. Вместо этого привяжите свой сервер к :: 1 / 127.0.0.1

0
ответ дан 28 July 2021 в 14:41

Теги

Похожие вопросы