|
Защита данных
|
|||
---|---|---|---|
#18+
Привет всем! Встал вопрос такого характера: Как защитить базу Постгреса? т.е. есть база но надо дать доступ к ней только одному человеку и что самое интересное не давать доступ для root и postgres'а под Linux. На локальной машине особого труда зайти под рутом не составит имея в наличии компакт с инсталяцией Linux и как результат доступ к базе. А возможно ли вообще сделать на базу пароль для юзера и postgres'а. Или запретить доступ к базе postgres'у вообще. Какими вообще способами можно защитить данные? Заранее благодарен всем! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2003, 15:20 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Для постгреса запретить можно, но это уже х@#ня получается (извиняюсь за мой французский). Рут к базе и так не доступается. НО. файлы базы ледат в сыром виде. Без шифровки. Даже если создать базу с паролем. Так вот, имея права доступа к каталогу базы данные вытягиваются. Я раскидать их потом не сильно сложно. Во всяком случае, если не в изначальную структуру, то просто вытянуть интересующие данные. Если я не ошибаюсь, руту нельзя запретить доступ куда-бы то ни было. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2003, 16:09 |
|
Защита данных
|
|||
---|---|---|---|
#18+
>Рут к базе и так не доступается. как же не доступается даже очень можно сделать su postres а потом psql basename и у тебя есть доступ к базе >файлы базы ледат в сыром виде. Без шифровки. Шифрование базы сделать не так уж и сложно >Даже если создать базу с паролем. т.е. с пароллем? Поподробнее можно. >Так вот, имея права доступа к каталогу базы данные вытягиваются. После шифрования не получиться >Если я не ошибаюсь, руту нельзя запретить доступ куда-бы то ни было. Вот именно с этим я и борюсь, даже не зная пароль можно загрузиться с компакта и сменить его на свой а потом есть полный доступ Ну разве это безопасность? Это как в твоем французском :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2003, 12:30 |
|
Защита данных
|
|||
---|---|---|---|
#18+
что ты собрался шифровать? Нанные должны лежать так как есть пока работает постгрес. А они лежат в сыром виде. по поводу базы с паролем посмотри ключи к createtable А вообще там безопастность французская (ну ты понял :)). Данные при желании я смогу выташить всегда. Структуру базы, может, не всегда получится, а сами данные вытаскивал и не раз. Так что соболезную. Ставь пароль на биос. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2003, 13:17 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Какой-то странный вопрос. Root всегда может ВСЕ, в пределах своей системы или это не root. И нифига ты ему не запретишь. Postgres - тоже может все в пределах базы.... То что лежит в каталоге ./usr/local/pgsql/data - все доступно ему. А если ты не доверяешь почему-то ни тому ни другому... например если ты хостишь базу на чужом серваке - криптуй данные на клиенте и ложи их криптованными на сервак. Можно это делать и на серваке и это даже правильней.... только надо помнить что рут может при сильном желании и tcpdump поюзать так что придется возиться и с ssl. Штатных средств для криптования самой базы в Постгресе нет небыло и похоже не будет. Если сервак твой, и ты опасаешься что при физическом доступе (сперев например винт) кто-то заделается рутом итд..... ставь файловую систему с криптованием, я в них ни уха ни рыла да и тут вопрос вообще уходит в оффтоп полнейший. 8) Кстати я кажется уже писал по схожему поводу что шифрование данных включая структуру баз - достоинство оччень немногих серверов и большинство - коммерческие. Из свободных это умел кажется SAP DB а может и нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2003, 19:53 |
|
Защита данных
|
|||
---|---|---|---|
#18+
>криптуй данные на клиенте и ложи их криптованными на сервак. "Вася Пупкин" -> "h23478sefgh7wh" select * from aaaa where name like ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2003, 13:19 |
|
Защита данных
|
|||
---|---|---|---|
#18+
2All: update customers set fname='D4S*#d3r4t92!h@f4ewэыуs' comment='df93-4t094hfg4bg3g39d0c40opkfsdf' where id=@ssd3dfdff; Что касаемо select-ов : create view customers as select @@fname,@@phones, @@comment,@!lastbarg from _customers where @@fname ~~'%Вася%' and phone ~~'%2124510%' Осталось только пара замечаний: --Структуру базы мне прятать нет надобности. --ssl - классная штука Читайте ./pgsql/doc/ssl-tcp.html --Пользовательские операторы тоже прикольная штука! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2003, 15:47 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Приведенный пример мне непонятен, где ты хранишь КЛЮЧ? Ты можешь как угодно шифровать данные и серверу на это наплевать, ПОКА ты используешь только "=". Что будет когда ты захочешь узнать price >1000 или сделать выборку за определенный период? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2003, 19:01 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Причем тут "=" ? *) Безразлично какая операция - расшифрованные данные выдает оператор @@ Что касаемо выборок вот например select @@cur_event from evh_tod where (@@edate >'20.09.2003'')and (@@edate <now() ) Ключ сервер получает от клиента по ssl. Как он выглядит где и сколько он хранится - это уже мое ноу-хау. И особо подчеркну - потери производительности при такой шифровке ОЧЕНЬ БОЛЬШИЕ. Любая файловая система с криптованием даст выигрыш раза в два. А вообще в каждом конкретном случаем приходиться изобретать свой велосипед.... А если кому-то влом - юзайте Оракл/MS SQL - там наверняка за пару килобаксов чегото предложат. 8) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2003, 21:11 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Притом, что если одна строка однозначно кодируется в другую, то серверу все равно какую из них искать, и тут можно строить индексы. А вот с @@ я не уверен, отсюда и "ОЧЕНЬ БОЛЬШИЕ" потери производительности. НО это все не имеет ровным счетом никакого значения, потому что ключ ХРАНИТСЯ НА СЕРВЕРЕ. Это не защита! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2003, 09:33 |
|
Защита данных
|
|||
---|---|---|---|
#18+
>Какой-то странный вопрос. Ничего странного, надо было только сразу объяснить для чего это :) Так вот пока наша фирма была маленькой то никому до нас и дела не было, но начала она расти и доросла до нехилых размеров и соответственно денег. Начала привлекать к себе внимание как гос. так и других теневых структур. В первую очередь стал вопрос о том как обезопасить информацию базы в которой есть все, от денег до связей и т.д. Мне как админу стало боязно за свою жизнь, мало ли пальцы в двери или еще что-то, особо за это мне не платят так что я подумал "Ну их нафиг" :) И решил сделать так, чтоб доступ к базе имело ограниченное число людей. И что самое интересное root не имел бы доступа вообще. Вот собственно в чем весь вопрос. Спасибо всем ответившим! Прийдеться сделать криптование, а ключ записать на компакт пусть с собой таскают :) Так мне будет спокойнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2003, 17:17 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Вопрос странный именно потому что я никогда не ждал от свободных серверов мощных защитных средств. Их ИМХО никто там реализовывать пока и не будет. Потребность не созрела. А ключ который хранится на серевере - он для ШИФРОВАНИЯ..... И он доступен всем. Пользователи таскают на картисах ( похаченные проездные для метро ;) , благо один знакомый железячник помог с ридерами шаровыми и добыл доку на драйвер. Карточки кстати заинтересованные люди уже копировали на пробу - получили клевый облом. Компакт оттиражировать обычно проще :) Остальное описано в соотв литературе в 1978 году. . RTMF RSA/DES datasheet до просветления, ибо дао описанное в открытом форуме не есть дао 8) Все. Это форум не по защитам и криптосистемам а я не бесплатный консультант по защитам да и не спец в криптографии. То что мы делали делалось для конкретной задачи коммерческой структуры это не панацея и не Express Course for impatent Так что тему я считаю закрытой Резюме: -Защиты данных в Постгресе нет. -Сделать ее самому нельзя (спасибо leningard за понимание) Ж:) ! -Вывод : если хочешь крутую защиту данных - пользуйтесь СУБД "Линтер" http://www.relex.ru/rus/index.php ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2003, 18:23 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Вот это выводы! Позвольте немного уточнить, может я что-то не понимаю 1 Защита информации БД без защиты окружения (как ОС, так и физический доступ к серверам) - занятие весьма занятное, но и весьма специфичное на мой взгляд. То есть, если планируется серьезная защита данных, то надо к ней серьезно подходить, поэтому предположим, что на предприятии Х все сделано нормально, стоит UNIX-like система, которая правильно админится и левые товарисчи за здорово живешь root-ом по ней не лазят. Также они никак не получат физический доступ к серверу. Остается выяснить какие могут быть дыры для особо интересующихся товарисчей внутри предприятия, которым доступ к БД закрыт полностью (просто не заводили их в БД как юзеров) или имеют доступ к некоторым частям инфы, а также совершенно левых товарисчей, которые настырно рвутся к БД через сети ощего пользования (серьезное предприятие, как правило географически распределено и может пользовать инет) 2 Защита от прослушки канала - юзай SSL. 3 Доступ к файлам кластера БД есть только у рута и постгреса, причем при сформированной и работающей БД пользователь постгрес в системе не нужен, то есть шелла ему не даем. 4 Разделение доступа к объектам внутри БД делается прямыми руками, или кто считает, что в PоstgreSQL криво реализован дискреционный контроль доступа, пишите, аргументируйте, мне это интересно. Интересны комментарии к такому подходу, а то сразу выоды, что постгрес в плане защиты гол как сокол как-то не катят ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2003, 14:19 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Имея права рута постгрес можно вскрыть как консервную банку, ведь данные лежат в сыром виде. Является ли это аргументом? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2003, 16:03 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Если подошли к серваку, выдернули питанку, вынули винт принесли к себе, подключили и смогли прочитать хоть одну строку из "защищенной" таблицы, то это не является защитой! Отсюда не следует, что если этого не удалось, то она защищена. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2003, 19:57 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Ой как много эмоций.... Ну подумайте какая "безопастность" и "защита" по на этом свете? Круче всего спрятан/зашифрован файл который ты прописал нулями. ;) А вообще-то есть возможность не хранить на сервере ключи для дешифровки. Это так же глупо как класть их под коврик ;) Клиент с ключами приходит и уходит НО если кто-то от рута будет сидеть на сервере и снимет (чем-ни-будь-вроде-tcpdump) "слепок" ключа - пиши пропало... и не нужно снимать винт - это ничего вообщето и не даст. Главное - перехватить ключ - это возможно в двух точках. Канал под SSL я за неимением реальных примеров взлома считаю надежным. Остаются клиент и сам сервер - получив дамп проходивших в момент авторизации пакетов можно получить и ключ. Вот и все - схема защиты примитивна. Реализация - возможна. Взлом возможен и достаточно дорог что бы спать спокойно. Кстати я забыл упосянуть что при удачном падении в postmastera в core можно теоретически отловить ключ правда сделать без рута на серваке это пока проблематично.... дырки позоволявшие валить серваки 7.0.-7.1 не особо широко известны да и большинство исправлено. Вывод - ну унес винт - воюй с ним на здоровьечко. Если пофартит и запуститься процедура дешифровки (а она вообщето любит работать только на родном сервере и отдебажить ее будет похоже проблематично) - масса возможностей для bruteforce. Ломай - подбирай-жди.... Ух утомила меня эта проза..... Может кто-то менее ленивый расскажет Leningrad как пользоваться RSA+DES? Я просто не могу припомнить урл подходящий..... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2003, 22:57 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Ну вот, опять! Я же написал - права рута на сервер вам никто не положит на блюдечко с голубой каемочкой!!! И сам сервер стоит в опечатанной комнате, куда доступ может получить только самый главный специалист по данному серверу и то, помучается еще с оформлением разрешения на доступ к телу сервера :) То есть защита СУБД - это защита СУБД, и она не должна отстреливаться от нехороших дядек с отверками, которые унесут винт. А также она не должна посылать рута, который все сломает ей нафиг. Это обязанности других уровней защиты! Уважаемый Shweik, можно поподробнее, как Вы будете вытаскивать ключ, полученный tcpdump-ом в момент авторизации? Разве в момент авторизации SSL не работает? К тому же вспомните, что постгрес поддерживает Kerberos, это хоть и замороченее разбираться, но и солжнее ломать! Есть еще возражения, что постгрес на своем уровне защиты рулит??? (Я не беру в расчет задачи, когда вам нужна такая специфическая защита, чтобы СУБД стоял на левом серваке и сам оборонялся от рутов, дядек с отверками и сам бы держал вилку сервера в розетке, чтобы никто его не выключил) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2003, 11:34 |
|
Защита данных
|
|||
---|---|---|---|
#18+
2 dd рулит как и мускуль. 2 Shweik для соотв. структур нули вскрываются на ура. Не советую, rsa от 4096 покатит, а вот des смени на что-то поновее аля IDEA. p.s. В соседнем форуме подобное уже обсуждалось, амофф ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2003, 21:04 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Да окститесь, мужики ;) - я ж не от ЦРУ с Моссад защищаюсь и вообще такая защита - это как бронедверь - мастер вскроет за полчаса а шпана пройдет мимо разве что потыкавшись безтолку краской обляпает. А что касаем рулит-не рулит - я скажу так что практически любая СУБД имеет достаточные средства для авторизации удаленных хостов/пользователей однако обратная сторона этого - защиту от локального доступа почти все СУБД сбрасывают на широкие плечи ОС. И я считаю что это достаточно мудрое решение тк если локальный доступ можно перекрыть и чисто организационными мерами (охрана/сейфы идт) . то удаленную авторизацию делать должен только сам сервер и никто тут не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2003, 17:14 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Да окститесь, мужики ;) - я ж не от ЦРУ с Моссад защищаюсь и вообще такая защита - это как бронедверь - мастер вскроет за полчаса а шпана пройдет мимо разве что потыкавшись безтолку краской обляпает. А что касаем рулит-не рулит - я скажу так что практически любая СУБД имеет достаточные средства для авторизации удаленных хостов/пользователей однако обратная сторона этого - защиту от локального доступа почти все СУБД сбрасывают на широкие плечи ОС. И я считаю что это достаточно мудрое решение тк если локальный доступ можно перекрыть и чисто организационными мерами (охрана/сейфы идт) . то удаленную авторизацию делать должен только сам сервер и никто тут не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2003, 17:16 |
|
Защита данных
|
|||
---|---|---|---|
#18+
>Я же написал - права рута на сервер вам никто не положит на блюдечко с голубой >каемочкой!!! И сам сервер стоит в опечатанной комнате, куда доступ может получить >только самый главный специалист по данному серверу и то, помучается еще с >оформлением разрешения на доступ к телу сервера :) Теперь еще раз когда приходят ребята из хороших структур то им доступ к серваку дадут очень быстро, а далее когда у тебя(админа) перед лицом будет дуло ты и рутовский пароль тоже легко даш, жить то хотца. Да и ради чего мне его скрывать, ради моей крохотной зарплаты, абсурд. На крайний случай локально на машине можно свободно сменить рутовский пароль на другой, на Linux достаточно загрузиться с компакта в режиме восстановления(умеют даже новички). Хранить ключ на компе, тогда его и отыскать не очень сложно(для админа). Если держать его отдельно, тоже найти можно, только нажать надо посильнее на кого и как следует(опять же на админа). Другой вопрос если доступ к базе закрыт паролем который знает один человек и если он его скажет то это его проблемы, а не админа. Меня интерисовал именно такой вариант. Пока сделал скрипт который при запуске снимает дамп базы, потом его упаковывает с паролем который вводит человек, и удаляет саму базу с сервака. Это оказался самый простой способ, но самый неудобный в восстановлении. Подскажите вариант поинтересней выслушаю все предложения. Еще раз спасибо всем за внимание проявленное к этой проблеме. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 10:00 |
|
Защита данных
|
|||
---|---|---|---|
#18+
Смотрим тут /usr/ports/security/cfs Читаем pkg-comment: A cryptographic file system implemented as a user-space NFS server Это почти тоже самое что делаешь ты только чуть глобальней. Неудобство одно - при ребуте и монтировании раздела нужно будет указать пароль. Неудобно? Зато секьюрно 8> Зато весь каталог data лежит криптованный и скорость падает незначительно. Например на PII-233 задержка отклика уже почти незаметна. А дамп криптовать а потом базу дропать..... дюже геморойно..... К тому же насколько я понял про pg_resetxlog t ты небось забыл а ведь в WAL -логе может проскочить интересная инфа 8) А обрезание WAL-лога тоже времени требует.... ИМХО CFS как решение круче и проще будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 12:57 |
|
|
start [/forum/topic.php?fid=53&fpage=363&tid=2008096]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
48ms |
get forum data: |
3ms |
get page messages: |
104ms |
get tp. blocked users: |
2ms |
others: | 254ms |
total: | 505ms |
0 / 0 |