Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Подключение к БД  [new]
Denis1991
Member

Откуда:
Сообщений: 392
Здраствуйте! Постараюсь покороче обьяснить.
Есть проект написаный на c#. Установлен у пользователей на ПК. В папке установленного проекта главный модуль(по сути окошко с меню и настройками) и куча библиотек, которые этот модуль открывает как windows приложение. Есть несколько основных библиотек, где есть строка соединения с БД ну и куча методов. Врятли пользователь взломает dll. Но все же возникла задача каким-то способом обезопасить сервер. Может я не там спрашиваю, но все же есть ли у кого-то идеи?
22 апр 15, 09:20    [17547012]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Elic
Member

Откуда:
Сообщений: 29976
Denis1991
строка соединения с БД ... взломает
Если речь про пароль, то грех не взломать.

RTFM
22 апр 15, 09:25    [17547026]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
безопасник_
Guest
Denis1991,

самый лучший способ обезопасить сервер - выдавать пользователю минимально необходимый для работы набор прав. Ну и возможно вести протокол действий. :)
22 апр 15, 09:27    [17547035]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Denis1991
Member

Откуда:
Сообщений: 392
безопасник_, прав у пользователей и так минимум для работы. Суть в том, чтобы пользователь не мог считать строку соединения с БД. Сейчас программа напрямую обращается к серверу.
22 апр 15, 09:30    [17547051]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
-2-
Member

Откуда:
Сообщений: 15330
Denis1991
бчтобы пользователь не мог считать строку соединения с БД
что там опасного, пароль? пусть пользователь сам вводит пароль или довериться аутентификации ОС.
22 апр 15, 09:38    [17547106]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Denis1991
Member

Откуда:
Сообщений: 392
-2-, он не должен знать пароль к базе данных. Доступ у него есть, но открыть PL/SQL Developer ввести логин-пароль он не должен. Сейчас ПО делает конект к БД за него. Он просто получает данные на экран. Нужно обезопасить строку соеденения.
22 апр 15, 09:55    [17547206]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Ганнибал бен Гисгон Магонид
Member [заблокирован]

Откуда: рПТ
Сообщений: 2267
Нет, нужно запретить доступ к БД из приложения, отличного от вашего.
22 апр 15, 10:00    [17547242]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
безопасник_
Guest
Ганнибал бен Гисгон Магонид
Нет, нужно запретить доступ к БД из приложения, отличного от вашего.

а это возможно?

как я понял клиентский ПК им не подконтролен.
22 апр 15, 10:07    [17547285]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Elic
Member

Откуда:
Сообщений: 29976
Denis1991
он не должен знать пароль к базе данных. Сейчас ПО делает конект к БД за него.
Картонная безопасность. А правильнее - полное отсутствие оной вообще.
22 апр 15, 10:10    [17547300]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Denis1991
Member

Откуда:
Сообщений: 392
Elic, когда писался проект на безопасность было всем наплевать. Сейчас стукнуло в голову, что нужно что-то делать.
22 апр 15, 10:12    [17547306]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Denis1991
Доступ у него есть, но открыть PL/SQL Developer ввести логин-пароль он не должен.

Никогда не замечал за обычными пользователями желания запустить PL/SQL Developer :)
Тем паче, что в нем он все равно сможет сделать только то, на что у него есть права.
А зашивать пароль в приложение - это дело такое. Поменяет DBA этот пароль - и "Гуд бай Америка".
22 апр 15, 10:13    [17547308]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Denis1991
Member

Откуда:
Сообщений: 392
tru55, пользователи кнопки найти не могут. Не то чтобы что-то запускать. НО так сказали сделать. А на счет смены каких либо параметров, то это не проблема. Сервер же не чужой)
22 апр 15, 10:16    [17547325]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Ганнибал бен Гисгон Магонид
Member [заблокирован]

Откуда: рПТ
Сообщений: 2267
безопасник_
Ганнибал бен Гисгон Магонид
Нет, нужно запретить доступ к БД из приложения, отличного от вашего.

а это возможно?

как я понял клиентский ПК им не подконтролен.


Ну, например, завести пользователя на приложение, дать ему выполнять только одно приложение, в виндоус файрводе запретить все коннекты на сервер, кроме как от пользователя приложения и запускать со сменой пользователя через runas.
22 апр 15, 10:23    [17547355]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
снифер.
Guest
Denis1991
что-то делать.
продолжая традицию разработки этого поделия, решили приставить стальную дверь к соломеному шалашу.
пусть подьзователи подпишут бумажку об ответственности за порчу собственности и настрой аудит.
22 апр 15, 10:28    [17547391]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
безопасник_
Guest
[quot Ганнибал бен Гисгон Магонид]
безопасник_
Ну, например, завести пользователя на приложение, дать ему выполнять только одно приложение, в виндоус файрводе запретить все коннекты на сервер, кроме как от пользователя приложения и запускать со сменой пользователя через runas.

в древних версиях просто переименовывали склплюс.exe в приложение.exe. щас это все пофиксили?

это у вас должны быть опечатаны все сетевые розетки в стенах(чтоб шнурик не поменяли) и все компы опломбированы.

Куда как проще персональный логин и персональная ответственность за его сохранность.

В данном случае проще этого пользователя сделать бесправным(только для коннекта) и завести прикладных пользователей в системе
22 апр 15, 10:52    [17547502]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7126
Если oracle db висит на MS Win - самое простое настроить OS authorization
Если не на win то тоже можно, но уже с притопами-прихлопами

SQL> show parameters os

NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------
...
os_authent_prefix                    string      OPS$
...
SQL> select  osuser from v$session where sid=(select sid from v$mystat where rownum < 2);

OSUSER
------------------------------
DOMAIN\user.name

SQL> create user "OPS$DOMAIN\USER.NAME" identified externally;

User created.

SQL> grant connect to "OPS$DOMAIN\USER.NAME";

Grant succeeded.

SQL> connect /@tns
Connected.
SQL> show user
USER is "OPS$DOMAIN\USER.NAME"
22 апр 15, 12:34    [17548064]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Ганнибал бен Гисгон Магонид
Member [заблокирован]

Откуда: рПТ
Сообщений: 2267
Vadim Lejnin
Если oracle db висит на MS Win - самое простое настроить OS authorization
Если не на win то тоже можно, но уже с притопами-прихлопами

SQL> show parameters os

NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------
...
os_authent_prefix                    string      OPS$
...
SQL> select  osuser from v$session where sid=(select sid from v$mystat where rownum < 2);

OSUSER
------------------------------
DOMAIN\user.name

SQL> create user "OPS$DOMAIN\USER.NAME" identified externally;

User created.

SQL> grant connect to "OPS$DOMAIN\USER.NAME";

Grant succeeded.

SQL> connect /@tns
Connected.
SQL> show user
USER is "OPS$DOMAIN\USER.NAME"


Это даст возможность не ходить под sql*plus'ом?
22 апр 15, 12:35    [17548078]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
Denis1991
Есть несколько основных библиотек, где есть строка соединения с БД

Я последний раз в ADO.NET заглядывал не помню когда. Но уже тогда была возможность строки соединения хранить в зашифрованных секциях файла конфигурации.

Что-то из этого было сделано?
22 апр 15, 13:02    [17548318]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
Denis1991
Member

Откуда:
Сообщений: 392
suPPLer, спасибо. Но это не Ado.net
22 апр 15, 14:32    [17548988]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
Denis1991
Но это не Ado.net

А через что реализована работа с БД?
22 апр 15, 14:43    [17549066]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
портовый грузчик
Guest
Что именно вы собрались шифровать, адрес сервера?
22 апр 15, 15:04    [17549235]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2420
>Denis1991, сегодня, 09:20 [17547012]
>...каким-то способом обезопасить сервер...

У меня почти аналогичная задача:

1. есть некоторое множество приложений написанных на разных языках (от С++ до C# и Delfi).
2. Приложения имеют доступ, в принципе, каждое к своей базе данных.
3. Приложения должны получить строку соединения в момент загрузки, как параметр из arg[]

Как решаю:

1. На сервере (физическом, виртуальном) строю Хранилище приложений, состоящее:
- из базы данных,
- расшаренной папки файлового сервера (хранит упакованные WinRar с ключом каталоги приложений),
- WCF сервиса, осуществляющего:
- аутентификацию пользователя по {хеш_Имя,хеш_Пароль},
- возвращяющего список доступных пользователю приложений,
- возвращающего список параметров загрузки и запуска выбранного приложения ( включая, path доступа к файлу архива,
ключ шифрования, строку соединения и т.п.),
2.Для рабочих станций создаю приложение загрузки
- вводит {Имя,Пароль},
- хеширует их,
- запрашивает аутентификацию у WCF сервиса,
- получает и отображает список доступных приложений,
- при выборе приложения, запрашивает список параметров загрузки и запуска выбранного приложения у WCF сервиса
- проверяет наличие упаковки данного приложения с данной версией в локальном кеше, если нет, то подгружает упаковку в кеш
( возможно, чистит кеш)
- загружает с распаковкой приложение в рабочий каталог (можно использовать Ram диск)
- запускает, минимизируясь и переходя с состояние ожидания, загруженное приложение с паредачей последнему arg[]

С уважением,
Владимир.
p.s. WinRAR упаковка C# приложения удивительно компактна. .exe + 10 .dll приложения обслуживания базы данных Хранилища всего 120 кбайт.
22 апр 15, 15:38    [17549516]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
ArtNick
Member

Откуда:
Сообщений: 1227
Denis1991
Elic, когда писался проект на безопасность было всем наплевать. Сейчас стукнуло в голову, что нужно что-то делать.

Оно и видно. Если клиент устанавливает сессию БД- до свидания безопасность. Если стукнуло в голову- требуй денег на изменение архитектуры пока не отпустило.
22 апр 15, 16:09    [17549699]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к БД  [new]
то и посрать не отойти
Guest
ArtNick
Если клиент устанавливает сессию БД
а если бд сессию клиента?
22 апр 15, 17:21    [17550173]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить