Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
Здравствуйте. У меня есть программа на Delphi, я хочу соединиться с MS SQL Server. Ясное дело, что для этого мне нужен пароль. Учётная запись у меня одна (sa или любая другая с правами на чтение и запись).
Какие можете предложить пути?

Я пробовал через клиент-сервер, где сервер отдаёт пароль авторизовавшемуся клиенту по логину и паролю (уже внутренняя в бд структура безопасности), но это не совсем то. Как сервер поймёт, что это именно то клиентское приложение? Юзал сокеты. Я могу и своё состряпать и через сокет подключаться.

Какие есть варианты в моём случае или без моего случая (без клиент-сервера).
Прятать пароль в программе не хочу, поскольку хочу иметь возможность менять пароль от пользователя (имени входа) в бд, не перекомпилируя приложение.

Заранее спасибо!)
22 дек 15, 14:12    [18594193]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Glory
Member

Откуда:
Сообщений: 104760
enakenenaken
Ясное дело, что для этого мне нужен пароль.

Не обязательно. Есть доверительные соединения

enakenenaken
Учётная запись у меня одна (sa или любая другая с правами на чтение и запись).
Какие можете предложить пути?

Пути куда ? Видов авторизации у MSSQL всего 2. И все они описаны в хелпе

enakenenaken
Как сервер поймёт, что это именно то клиентское приложение?

Серверу все равно, что находится на той стороне соединения.

enakenenaken
Какие есть варианты в моём случае или без моего случая (без клиент-сервера).
Прятать пароль в программе не хочу, поскольку хочу иметь возможность менять пароль от пользователя (имени входа) в бд, не перекомпилируя приложение.

Откройте для себя Windows authentication
22 дек 15, 14:17    [18594247]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
Glory,

Я в курсе про Windows authentication.
Но я повторюсь, в SQL Server прописана одна учётная запись (нет желания создавать для каждого юзера учётку).
22 дек 15, 14:19    [18594259]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Glory
Member

Откуда:
Сообщений: 104760
enakenenaken
Но я повторюсь, в SQL Server прописана одна учётная запись (нет желания создавать для каждого юзера учётку).

Если у вас нет желания что-то делать, то ничего и неполучится.
Кнопки "сделай, как я хочу" у сервера нет
22 дек 15, 14:21    [18594283]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
Glory,

А кнопка такая и не нужна.
Создаются такие системы, где для подключения к SQL Server используется одна учётка. Просто, как это сделать, чтобы не спалить пользователям учётку и не хранить её статично в приложении в коде?
Вот в чём вопрос.
22 дек 15, 14:22    [18594301]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Glory
Member

Откуда:
Сообщений: 104760
enakenenaken
Создаются такие системы, где для подключения к SQL Server используется одна учётка. Просто, как это сделать, чтобы не спалить пользователям учётку и не хранить её статично в приложении в коде?
Вот в чём вопрос.

Очень трудно "не спалить" _встроенный_ логин sa
Нахрена - вот в чем более существенный вопрос.
22 дек 15, 14:24    [18594320]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
правильный проходящий.
Guest
enakenenaken
Glory,

А кнопка такая и не нужна.
Создаются такие системы, где для подключения к SQL Server используется одна учётка. Просто, как это сделать, чтобы не спалить пользователям учётку и не хранить её статично в приложении в коде?
Вот в чём вопрос.
И при чем тут сервер?
22 дек 15, 14:24    [18594322]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
AndyMandy
Member

Откуда: СПб
Сообщений: 196
enakenenaken
...Создаются такие системы, где для подключения к SQL Server используется одна учётка. Просто, как это сделать, чтобы не спалить пользователям учётку и не хранить её статично в приложении в коде?...

В 1С так сделано, в результате можно вертеть базой как хочешь и никто ничего не узнает.
22 дек 15, 14:25    [18594336]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
Glory,

Да можно и не sa использовать.
Без разницы. Вообще просто учётку как можно передать и не спалить?
Правильно, шифровать! Ну зашифрую я передачу пароля и логина от SQL Server, а то и целую строку
соединения с помощью RSA. А как понять, что сервер шифруется с RSA с правильным клиентом? Правильно, нужно как-то подлинность проверить. При чём мне нужно проверить подлинность не столько человека тут (человека мы проверили, мы не против ему предоставить доступ), а программу. Человеку мы дадим доступ, но не сам пароль.
22 дек 15, 14:26    [18594350]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
AndyMandy,

Да так много где сделано.
22 дек 15, 14:27    [18594357]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Glory
Member

Откуда:
Сообщений: 104760
enakenenaken
Без разницы. Вообще просто учётку как можно передать и не спалить?
Правильно, шифровать! Ну зашифрую я передачу пароля и логина от SQL Server, а то и целую строку
соединения с помощью RSA. А как понять, что сервер шифруется с RSA с правильным клиентом?

наверное надо начать читать в хелпе статьи, где описаны шифрованные соединения между клиентом и сервером

enakenenaken
При чём мне нужно проверить подлинность не столько человека тут (человека мы проверили, мы не против ему предоставить доступ), а программу. Человеку мы дадим доступ, но не сам пароль.

Еще раз основной вопрос - нахрена ? Вы думаете, что другой программе нельзя будет прикинуться вашей ?
22 дек 15, 14:30    [18594377]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
AndyMandy
Member

Откуда: СПб
Сообщений: 196
enakenenaken
....При чём мне нужно проверить подлинность не столько человека тут (человека мы проверили, мы не против ему предоставить доступ), а программу. ...

тогда вам нужна роль приложения
22 дек 15, 14:30    [18594384]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5975
Доменная группа для работы в программе->логин/пользователь/роль/необходимые доступы для этой доменной группы на сервере->включить нужных пользователей в эту доменную группу->подключаться с использованием windows-аутентификации
22 дек 15, 14:30    [18594388]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
Glory,

Нельзя прикинуться. Если программу подписать или другим способом проводить валидацию.
22 дек 15, 14:31    [18594401]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
AndyMandy,

А вот за это спасибо!) Под носом, а не видел!
22 дек 15, 14:32    [18594408]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 776
enakenenaken,

Ну, путей хранения статичного логина несколько: как параметр в системе, как параметр в конфиге, как параметр в реестре... Хоть на сайте делайте вебсервис, который будет логин/пароль возвращать, дело ваше. Ну, и методов шифрования тоже не мало... http://www.cyberforum.ru/delphi-beginners/thread283220.html
22 дек 15, 14:32    [18594411]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Glory
Member

Откуда:
Сообщений: 104760
enakenenaken
Нельзя прикинуться. Если программу подписать или другим способом проводить валидацию.

Подписать программу где ? В MSSQL что ли ? А зачем это MSSQL-ю то ?
22 дек 15, 14:33    [18594416]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
enakenenaken
Я в курсе про Windows authentication.
Но я повторюсь, в SQL Server прописана одна учётная запись (нет желания создавать для каждого юзера учётку).
Вы, похоже, не в курсе, что в SQL Server в качестве учетных записей можно использовать Windows-группы.

Про роль приложения вам тоже уже писали.
22 дек 15, 14:33    [18594423]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Glory
Member

Откуда:
Сообщений: 104760
enakenenaken
А вот за это спасибо!) Под носом, а не видел!

Вас в это тыкали носом еще в предыдущей теме
22 дек 15, 14:33    [18594425]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
Glory,

И вам спасибо!)
22 дек 15, 14:34    [18594431]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Glory
Member

Откуда:
Сообщений: 104760
enakenenaken
Glory,

И вам спасибо!)

Занимательно будет посмотреть на вас, когда локальный/доменный админ спокойно создаст соединение с сервером, невзирая на все ваши ухищерения.
22 дек 15, 14:41    [18594506]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
Glory,

???
22 дек 15, 14:43    [18594532]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
o-o
Guest
enakenenaken
Glory,

Я в курсе про Windows authentication.
Но я повторюсь, в SQL Server прописана одна учётная запись (нет желания создавать для каждого юзера учётку).

можно подумать, что для Windows authentication нужны кучи юзеров.
сделайте 1 учетку-виндовую группу,
в нее на уровне винды добавьте нужных юзеров.
на сервере будете видеть соединения каждого под его виндовой учеткой
22 дек 15, 14:43    [18594534]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
Glory
Member

Откуда:
Сообщений: 104760
enakenenaken
Glory,

???

Вы не знали, что защиты от админа не существует ?
22 дек 15, 14:46    [18594562]     Ответить | Цитировать Сообщить модератору
 Re: Безопасное соединение с базой данных через программу  [new]
enakenenaken
Member

Откуда: Нижний Новгород
Сообщений: 325
Glory,

Знаю. Куда деваться?
22 дек 15, 14:47    [18594583]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить