Здравствуйте, гость ( Вход | Регистрация )
mezmay | Дата 18.1.2014, 22:16 |
И у меня закралась мысль что все клиенты напрямую подключаются к БД. Нет, подключаются к серверу чата, ну а он работает с БД.А по сети они сейчас в открытом виде пересылаются? если да, то не вижу смысла во всём остальном, т.к отследить все сообщения отследить не составит труда. Как вариант, можно кодировать всё в base64 и уже потом отправлять. вариант лайтовы, но хоть уже что то будет. Сейчас перехожу на SSL сокеты, так что с пересылкой всё будет нормально. Остается тогда еще базу зашифровать из программы |
|
electronik | Дата 18.1.2014, 1:36 |
Цитата 1. Сейчас он на SQLite, хочу перейти на защищенную БД - MySql или PostgreSQL. Надо выбрать, исходя из всех требований Так а требования где?. А по сути, нужно делать на той, которую знаете. PostgreSQL и FireBird можно заюзать embedded версию, без инсталла. у последнего для связи юзается всего пара библиотек. Но при создании БД, нужно хорошо продумывать её структуру. Цитата Сейчас все сообщения хранятся в базе постоянно, то есть админ компа, на котором она (база) стоит, может читать все сообщения. Нормальная ли это практика для, например, корпоративного чата, в котором планируется довольно много личной переписки. Как вообще принято делать? давать админу доступ или нет? Это тонкая грань безопастности. Если например есть служюа безопастности, то она скорее захочет иметь полный доступ. Штатный админ не должен иметь доступ ко всей переписке, а вот IT-директор или Генеральный директор должен. Но если сделать разраничение прав, то где гарантия что админ скажет директору что можно читать всю переписку, или тихонько добавит себя в "мне всё можно читать" и на равне с директором будет читать всю переписку. Возможность должна быть, но по-умолчанию не доступна. И у меня закралась мысль что все клиенты напрямую подключаются к БД. Цитата 3. Как вообще можно скрыть от админа БД сообщения? Шифровать? Сразу удалять? (записывать сообщения в базу надо для реализации оффлайн-сообщений) А по сети они сейчас в открытом виде пересылаются? если да, то не вижу смысла во всём остальном, т.к отследить все сообщения отследить не составит труда. Как вариант, можно кодировать всё в base64 и уже потом отправлять. вариант лайтовы, но хоть уже что то будет. Цитата 5. Ну и вообще нужна БД, не требующая от меня, разработчика, много танцев с бубном... Однозначно оставляйте SQLite. В во всех остальных случаях Вам придётся заниматься технической поддержкой БД, а то еще хуже, её обслуживанием. |
|
Iron Bug | Дата 16.1.2014, 22:24 |
По некоторым вопросам: 1. Что касается конкретно MySQL, то после покупки их Oracle'ом он стал испытывать серьёзные проблемы с безопасностью и открытостью кода. Опенсорс комьюнити решило отказаться от него, теперь на многих Linux-платформах будет использоваться MariaDB, опенсорсный клон MySQL, поддерживаемый его оригинальными разработчиками. Некоторые дистрибутивы уже официально объявили о переходе с MySQL на MariaDB. Так что если и стоит выбирать базу, то с видами на будущее. 2. Если юзеров мучает паранойя, шифровать можно данные любой базы, любым методом. Просто будет гораздо больше кода и софтина будет медленнее работать. Имхо, SQLite - простая и удобная для мелких приложений база. К тому же, она бесплатная и опенсорсная. Для такого приложения не требуются никакие особые возможности БД, поэтому чем меньше возни для админа - тем больше шансов у такой софтины завоевать хоть какую-то популярность. |
|
Litkevich Yuriy | Дата 16.1.2014, 16:27 |
воспользоваться каким-нибудь Установщиком, с помощью его сценария проверять установлена ли уже нужная версия СУБД или нет, если нет, ставить из своего дистрибутива. | |
mezmay | Дата 16.1.2014, 8:10 |
остается вопрос по распространению (развертыванию) СУБД вместе с дистрибутивом программы-сервера чата | |
Litkevich Yuriy | Дата 15.1.2014, 22:19 |
но ведь не обязательно шифровать родными субд-ными средствами? ну конечно не обязательно. Особенно если ты возможностями СУБД не собираешься пользоваться, а просто используешь её как примитивное хранилище. И тебя устраивает зашифровать одно поле БД с текстом.Если же ты собираешься использовать возможности SQL, такие как соединения, вложенные запросы, тригеры и прочее, то запрос должен выполнятся над расшифрованными данными, а на клиенте ты этого не сделаешь (т.к. запрос выполняется самой СУБД без участия клиента). |
|
mezmay | Дата 15.1.2014, 21:30 |
Цитата Цитата Как вообще можно скрыть от админа БД сообщения? Шифровать? Шифровать. Думаю не надо пояснять что ключ не должен хранится в базе. Цитата Цитата Как распространять серьезную СУБД с дистрибутивом своей программы? А ее не нужно распространять. СУБД будет на сервере, а пользователь получит клиент. Защищает доступ к данным через логин-пароль Как вообще можно скрыть от админа БД сообщения? Шифровать? да, можно шифровать.Для SQLite есть SQLCipher. А для других СУБД сомнительно, что найдутся бесплатные инструменты. |
|
Litkevich Yuriy | Дата 15.1.2014, 20:32 |
хочу перейти на защищенную БД А что ты под этим понимаешь?Как вообще можно скрыть от админа БД сообщения? Шифровать? да, можно шифровать.Для SQLite есть SQLCipher. А для других СУБД сомнительно, что найдутся бесплатные инструменты. |
|
ilyabvt | Дата 15.1.2014, 16:34 |
Цитата давать админу доступ или нет? Разумеется нет. Цитата Как вообще можно скрыть от админа БД сообщения? Шифровать? Шифровать. Думаю не надо пояснять что ключ не должен хранится в базе. Цитата Как распространять серьезную СУБД с дистрибутивом своей программы? А ее не нужно распространять. СУБД будет на сервере, а пользователь получит клиент. |
|
mezmay | Дата 15.1.2014, 13:27 |
Делаю клиент-серверный чат, несколько вопросов по базам данных: 1. Сейчас он на SQLite, хочу перейти на защищенную БД - MySql или PostgreSQL. Надо выбрать, исходя из всех требований 2. Сейчас все сообщения хранятся в базе постоянно, то есть админ компа, на котором она (база) стоит, может читать все сообщения. Нормальная ли это практика для, например, корпоративного чата, в котором планируется довольно много личной переписки. Как вообще принято делать? давать админу доступ или нет? 3. Как вообще можно скрыть от админа БД сообщения? Шифровать? Сразу удалять? (записывать сообщения в базу надо для реализации оффлайн-сообщений) 4. Как распространять серьезную СУБД с дистрибутивом своей программы? Хотелось бы чтобы установка проходила в автомате (далее-далее-далее), и пользователю не требовалось бы самому, например, запускать какие-то службы или дополнительные проги типа pgadmin. 5. Ну и вообще нужна БД, не требующая от меня, разработчика, много танцев с бубном... |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.4.2024, 3:40 |