Как не иметь конфиденциальных данных в Elastic search? - PullRequest
0 голосов
/ 14 декабря 2018

Я устанавливаю стек ELK для своей компании, мой двоюродный брат тоже использует его для своей компании, он программист, поэтому я спросил его, купил ли он Xpack, он ответил «нет», поскольку журналы mysql, которые он обрабатывает, не представляют ценности.Я знаю, что могу купить XPack или использовать Nginx для добавления аутентификации, но давайте предположим, что я не буду делать никакой аутентификации, как многие эластичные пользователи, у меня есть пара вопросов об этом сценарии.

Итак, у меня естьfilebeat, который отправляет журналы MySQL в logstash, который передает их в Elastic, поиск и аналитика выполняются в Kibana.

  • Как убедиться, что никакая информация о ценности не попадает в журналы, при этом сохраняя значимую аналитику.Моя компания разрабатывает ERP, и в качестве клиентов у нее много компаний, поэтому, по крайней мере, вы будете иметь идентификатор компании и идентификатор пользователя в журналах, чтобы иметь какие-либо значимые данные, разве это не считается конфиденциальными данными?
  • Как сделать так, чтобы ни один неавторизованный пользователь не отправил запрос Post на эластичный поиск или доступ к Kibana?Вы запускаете их локально, а не в Интернете?
  • Отфильтровываете ли вы какие-либо секретные журналы перед отправкой в ​​Filebeat?

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

.

Ответы [ 3 ]

0 голосов
/ 14 декабря 2018

Пожалуйста, проверьте Search Guard (https://search -guard.com / ).Базовая версия (которая подходит для большинства случаев использования и определенно лучше, чем ничего) является бесплатной и с открытым исходным кодом (Лицензия Apache 2).

Отказ от ответственности: я работаю в Search Guard / floragunn GmbH

0 голосов
/ 14 декабря 2018

Если вам нужно предоставить некоторый доступ / привилегию, вы можете бесплатно использовать grafana вместо kibana.

Для доступа ES это похоже на любую защиту БД.Сконфигурируйте свой сервер, чтобы разрешить только некоторые IP-адреса на 9200 и 9300.

Вы также можете посмотреть: https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin для безопасного запроса на удаление (все еще бесплатный).

0 голосов
/ 14 декабря 2018

Как убедиться, что никакая информация о ценности не попадает в журналы, при этом сохраняя значимую аналитику.Моя компания разрабатывает ERP, и в качестве клиентов у нее много компаний, поэтому, по крайней мере, вы будете иметь идентификатор компании и идентификатор пользователя в журналах, чтобы иметь какие-либо значимые данные, разве это не считается конфиденциальными данными?

Если вы не хотите, чтобы конфиденциальные данные хранились в вашем эластичном поиске, вам нужно отфильтровать их или анонимно, например, вы можете использовать фильтр logstash для создания отпечатка пальца, объединяющего идентификатор компании и идентификатор пользователя.поля, или вы можете удалить любое поле с конфиденциальными данными из вашего сообщения.

Как сделать так, чтобы ни один неавторизованный пользователь не отправил запрос Post на эластичный поиск или доступ к Kibana?Вы запускаете их локально, а не в Интернете?

Без аутентификации это практически невозможно, вам потребуется полный контроль над тем, кто знает о вашем экземпляреasticsearch и кто может получить к нему доступ, если кто-то кроме вас имеетдоступ, они могут отправлять запросы к вашему экземпляру, чтобы избежать того, что вы можете использовать брандмауэр на своих серверах и разрешить доступ только к определенным IP-адресам.

Даже если вы принимаете некоторые меры предосторожности, запуск экземпляра Elasticsearch в рабочем режиме без каких-либоконтроль доступа не рекомендуется и является очень рискованным.

Вы должны использовать метод контроля доступа, это может быть X-Pack, NGINX или плагин, подобный Search Guard.

...