yopp
Не особо
p
Коллеги, добрый день! Появилось требование шифровать данные в БД. На странице с описанием интерпрайз версии предлагают связаться с предстваителями компании для того чтобы узнать цену https://www.mongodb.com/products/mongodb-enterprise-advanced Может кто-то из вас знает какой примерно порядок цифр? И чем можно заменить шифрование данных средствами mongo enterprise пакета? И какой срок использования trial версии?
Mikhail
Как может быть дб без шифрования?
Mikhail
Энтерпрайз монга – это монга на своем сервере видимо
p
Encrypted Storage Engine - encrypt your data at rest вот фича интерпрайз версии
p
Энтерпрайз монга – это монга на своем сервере видимо
что значит на своем сервере? она у меня в компании локально стоит уже
Mikhail
Я не знаю, что предоставляется в пакете энтерпрайз, но ни одна дб не хранит данные в открытом виде
p
$6500 в год за сервер
спасибо! а триал какое время действует, не в курсе?
yopp
И по умолчанию и передают даже в открытом виде
p
как я понял, шифрование всегда интерпрайз фича, в том числе и у МС и не дешевая
λ
А монга так вообще без авторизации из коробки. Потому и была история про "утечки данных с монг" :)
λ
Люди просто не конфигурировалли должным образом и светили портом в мир.
λ
Я думаю они все открыты. Только что лежат не в читаемом виде.
p
если файл открыть в блокноте, то разобрать нельзя, но что с шифрованием не ясно англоязычные названия полей видны, кирилица не читается. сейчас еще раз посмотрел!
Mikhail
Ну для получения данных надо авторизоваться. Получается шифрование бд, задеплоенной локально, это шифрование от своих сотрудников
Mikhail
Возможно для чувствительных данных это имеет смысл
Mikhail
Почему бы тогда не сделать (де)шифрующий слой в приложении
Mikhail
$6500 в год, когда есть много опенсорсных оешений
p
тогда robo3T пользоваться не получится)
λ
Почему это?
p
если мы про per-field encryption и я правильно понял
p
предлагается перед тем как класть данные в базу шифровать какждое поле документа
λ
Ну как я понимаю шифруются дисковые данные, что бы даже стащив /var/ ничего не вынялось
p
Ну как я понимаю шифруются дисковые данные, что бы даже стащив /var/ ничего не вынялось
да вот буду с админами разговаривать, может у них есть средства шифрования дисков, но тогда отпадает защита от самих админов. да и средства эти примерно такую же цену имеют
p
скорее всего заставят в mssql перейти
Nick
а что вам надо шифроватьто?
Nick
и зачем, какие требовния?
p
требования самые общие: хранение конфиденциальных данных ИС в зашифрованом виде. это практически цитата. хотелось одним переходом на другую версию закрыть это требование. но думаю придется колхозить шифрование по полям для некоторых коллекций
Nick
а требования где?
Nick
кто не должен иметь доступ
Nick
кто может иметь
Nick
кто отвечает за храненине ключей
Nick
есть вероятность что защита от "админов" нереализуема
Nick
и нужно административно это решать
p
кто отвечает за храненине ключей
вообще не определено. пром документация очень своеобразная
Nick
вы видимо не поняли посыла, шифрование это безопасность, безопасность без расписывания всех мелочей не имеет смысла. так что начинайте с описания модели угроз
p
вообще не определено. пром документация очень своеобразная
прям вот использовать шифрование и все! нужно продемонстрировать наличие шифрования при приемке ИС)
Nick
список того что должно шифроваться определен?
Nick
самое простое - заверните все в ssl
p
тоже нет
на вопрос а что является ком тайной отвечают - все!
p
самое простое - заверните все в ssl
с передачей данных по сети понятно более или менее. с хранением думаю что делать
Nick
а зачем? вы же говорите вам формально нужно, ссл формально шифрует, дальше административными методами разграничиваете доступ к серверам и бд
p
а если админ папку скопирует
Nick
на всякий случай "административными методами" означает что пишется инструкция, где расписано что можно а что нельзя и кому. исполнители-админы чтонить подписывают и обязуются соблюдать
Nick
и вот это "админ папку скопирует" уже идет как нарушение и дальше привлекайте как угодно
p
да в конце концов ключи у них все равно окажутся
p
я понял посыл, спасибо!
Nick
про это и разговор
Nick
и да повверх всего этого настаривается аудит дял фиксирвоаиня всех действий в системе, права там режутся, спец юзеры заводятся для обслуживания и т.п. сложная и мутная тема и без самих админов особо ничего не сделаешь, поэтмоу лучше чтобы настраивали все люди отличные от тех что будут чтото в системе делать, дабы не оставалось лазеек. но эт уже если прям ваще все серьезно надо
Tonylook
😂
Nick
@dd_bb
yopp
С одной стороны конечно хорошо что о безопасности думают, с другой вот это «дали наряд шифроваться» профанация :(
p
С одной стороны конечно хорошо что о безопасности думают, с другой вот это «дали наряд шифроваться» профанация :(
так и есть. везде где я работал ИБ занимались люди в погонах) а если не такие люди, то и ИБ нет как таковой)
λ
Странное у вас ИБ
λ
Вот @yatoba отлично пишет. Нам бы таких 🤘🏻
Nick
Ибшник из меня таксебе. Прост на работе тож криптухи хватает и хочешь не хочешь а общие принципы запоминаются
yopp
Я ещё раз предложение повторю: я буду в Москве всю следующую неделю. Можно провести митап. Я дам обзор по монге. Если у вашей компании есть помещение для митапов, напишите мне.
Nick
У нас нет к сожалению
yopp
Поспрашивай, может у кого-то из друзей есть
Aga
Здравствуйте, товарищи. Как можно получить все записи, отсортированные по rating'у с большего к меньшему?
Nick
find({}).sort({rating:-1})
Aga
И последний вопрос, как грамотно сделать получение и обновление рейтингов двух записей?
Aga
По одному для каждой записи отдельно получать?
Aga
И потом по одному для каждой обновлять? Не слишком затратно?
Aga
@dd_bb, ты вроде разбираешься в вопросах затратности 🙂
Андрей
Нужен агригатный запрос который выдаст массив айдишников родителей. Сейчас делаю это через "$graphLookup": { "from": "elements", "startWith": "$parent", "connectFromField": "parent", "connectToField": "_id", "as": "parents" } А потом чищу в python через item["parents"] = [el['_id'] for el in item['parents']] Разумеется в цикле для каждого элемента. Можно ли как-то эту логику засунуть в сам запрос?
Андрей
Также можно ли в этом же зпросе отфильтровать записи в которых не будет встречен определённый id в массиве parents