Возможно ли это вообще?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Arto
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 16.04.2002 (Вт) 18:23

Возможно ли это вообще?

Сообщение Arto » 20.01.2009 (Вт) 22:05

Здравствуйте
Возникла такая ситуация
Наши фирма работает в сфере водоснабжения и имеет 15 дочерних организаций В фирме должна быть разработана и внедрена программа, которая будет вести различный учет в этой сфере, программа должна быть написана на VB.NET + MS SQL. Этот же пакет должен быть установлен во всех 15 организациях, каждая из которых будет вести учет ей подконтрольных единиц. Еженедельно информация из этих организаций будет синхронизироваться с главным SQL сервером и обрабатываться.
Теперь суть самой проблемы
В программе есть параметры, которые может менять только и только Админ главного сервера, программно все это регулируется , а вот как можно избежать того чтоб админы дочерних предприятий не смогли бы у себя в обход программы, просто через Enterprise Manager открывать
нужные таблицы изменять данные, производить какие нибудь операции, которые программно выполнить было бы нельзя, а потом возвращать данные на свои места.

К примеру
Программно нельзя заключать новый договор с абонентом, у которого есть долг, т.е програ проверяет в соответствующей таблице поле долга , если там ноль, то можно заключить новый договор , если нет то нет. Так вот админ просто может открыть эту таблицу и ручками подправить значение на ноль, потом программно заключить новый договор и обратно вернуть этому полю прежнее значение.
Не знаю смог ли я внятно обьяснить
Жду любых предложений
С уважением...

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Возможно ли это вообще?

Сообщение MIT » 20.01.2009 (Вт) 22:09

Это скорее всего не в .NET, а в базы данных.
Решается разбиением прав редактирования базы, т.е. созданием учетных записей. Точнее не скажу - не знаю, но смысл этот.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Возможно ли это вообще?

Сообщение Williams » 20.01.2009 (Вт) 22:59

Задачи такого рода весьма сложны, недавно был аналогичный вопрос... Если делать одному, может уйти много времени
И вы думаете, что вас оставят в живых после прочтения этого поста?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Возможно ли это вообще?

Сообщение iGrok » 21.01.2009 (Ср) 0:01

Может, я не совсем в теме, но, ИМХО - MIT предложил верный вариант.

Доступ к БД по сложному паролю. Пароль зашить в софт. Админам не давать.
Админам сделать аккаунт для сервисного доступа к БД (архивация, и т.п.), запретить смену прав, выдать права только на просмотр объектов БД и запретить изменение..

Короче, решается нормальной настройкой доступа к БД.
label:
cli
jmp label

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Возможно ли это вообще?

Сообщение Williams » 21.01.2009 (Ср) 0:06

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

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Возможно ли это вообще?

Сообщение MIT » 21.01.2009 (Ср) 0:09

Williams писал(а):Если пароль в софте будет хранится, то про обфускацию не забыть.

Обфускация - это хорошо, но не думаю, что орда админов из 15 организаций придет к самому главному админу и станет декомпилировать его клиент, чтобы вытащить оттуда пароль.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: Возможно ли это вообще?

Сообщение Ramzes » 21.01.2009 (Ср) 0:11

Никак, я был в подобной ситуации, в качестве "удаленного админа", и что бы не придумывали программеры в центральном офисе, я ровно за пол дня обходил их защиту (связка C# + MS SqlServer 2000).

Arto
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 16.04.2002 (Вт) 18:23

Re: Возможно ли это вообще?

Сообщение Arto » 21.01.2009 (Ср) 8:20

iGrok писал(а):Может, я не совсем в теме, но, ИМХО - MIT предложил верный вариант.

Доступ к БД по сложному паролю. Пароль зашить в софт. Админам не давать.
Админам сделать аккаунт для сервисного доступа к БД (архивация, и т.п.), запретить смену прав, выдать права только на просмотр объектов БД и запретить изменение..


А как в SQL мне пароль на БД поставить

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Можно.

Сообщение Денис » 21.01.2009 (Ср) 9:31

Как этот вопрос решен в 1С?
Системой метаданных. Ты залезаешь в таблицы БД а там — какие-то числа, числа, числа. Вся бизнес-логика хранится отдельно от БД и обладает своей структурой разграничения прав. Можно попробовать замутить похожую систему. Дерзайте.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Arto
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 16.04.2002 (Вт) 18:23

Re: Возможно ли это вообще?

Сообщение Arto » 21.01.2009 (Ср) 9:42

Интересные предложения
попытаюсь разобраться

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Возможно ли это вообще?

Сообщение Roman Koff » 21.01.2009 (Ср) 10:13

Вообщето для этого существует контроллер домена и на его основе выдаются права на что угодно, в т.ч. и на базы данных MSSQL.

Если организация серьезная, то дешевле всего будет купить один раз готовое дорогое решение, а если не серьезная, то это хороший зароботок для главного системного админа (программиста) в замен на постоянный геморрой.
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: Возможно ли это вообще?

Сообщение Ramzes » 21.01.2009 (Ср) 10:47

Господа, а вы не забыли про то, что программа логинется к MS SQL (неважно как, Windows Authentication или SQL Server Authentication), используя этот логин, можно зайти в базу и что-то там сделать. Если копания не доверяет своим сотрудникам...
Как вараинт, трехуровневаое приложение, где клиент не работает с БД вообще, а сервер приложения недоступен простым смертным.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Возможно ли это вообще?

Сообщение Денис » 22.01.2009 (Чт) 9:31

Ramzes писал(а):Как вараинт, трехуровневаое приложение, где клиент не работает с БД вообще, а сервер приложения недоступен простым смертным.

Внезапно истина!
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24

    TopList