Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Delphi |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
GrigoriyFomin Member Откуда: Сообщений: 152 |
Хотел бы узнать мнение стороннее. Есть программа, которая используется FireBird для хранения данных. Как правильно хранить пароль на подключение к базе? Я пока храню в инишке рядом с EXE в открытом виде, так как злоумышленников нет, а вот на будущее. Пароль может быть разный - в экзе его не пропишешь. Понятно, что любой пароль можно вытащить - вопрос времени, но если выбирать между очень просто и очень сложно - хранить в виде хэша или как? |
12 фев 21, 01:40 [22279815] Ответить | Цитировать Сообщить модератору |
rgreat Member Откуда: Сообщений: 6563 |
Сделай трехзвенку/онлайн сервисы и не храни пароль от БД.
Сообщение было отредактировано: 12 фев 21, 01:38 |
12 фев 21, 01:45 [22279817] Ответить | Цитировать Сообщить модератору |
DimaBr Member Откуда: Сообщений: 11981 |
Зачем хранить пароль ? Пользователь должен его вводить. |
12 фев 21, 01:45 [22279818] Ответить | Цитировать Сообщить модератору |
ъъъъъ Member Откуда: Сообщений: 1769 |
Пароль у FireBird всегда один и тот же: masterkey. Что его хранить. |
||||
12 фев 21, 01:49 [22279821] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64865 Блог |
Ты так говоришь, будто "трёхзвенка/онлайн сервисы" не хранят пароль от БД. |
||||
12 фев 21, 01:59 [22279825] Ответить | Цитировать Сообщить модератору |
rgreat Member Откуда: Сообщений: 6563 |
softwarer, Пароли от БД хранятся на сервере, что, согласись, совсем не то же самое по сравнению с прямым доступом к БД прямо с клиента. Ну а возможностей ограничить вредоносное влияние злоумышленника, имея прослойку между БД и клиентом - навалом. Сообщение было отредактировано: 12 фев 21, 01:57 |
12 фев 21, 02:02 [22279827] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64865 Блог |
Безотносительно Firebird - правильно его вообще не хранить. Если программа подразумевает интерактивную работу пользователя - она должна работать под этим пользователем. Либо он сам вводит свой пароль, либо логин через AD, либо что-нибудь в этом духе. Если программа выполняет автономные автоматические действия - ей нужно, во-первых, максимально зарезать права и разрешить только крупноблочные специфические действия - то есть, по сути, разрешить запускать только те самые автоматические функции, которые не дадут злоумышленнику ничего ценного. Во-вторых, использовать опять же доменную аутентификацию, ldap итп. Если они никак... если права достаточно малы, можно захардкодить пароль от бесправного аккаунта (хотя это всё равно дыра в безопасности, которую квалифицированный злоумышленник сможет расширить). Если же права велики - лучше заставить админа руками вводить пароль каждый раз, когда он требуется. |
||||
12 фев 21, 02:10 [22279830] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64865 Блог |
Не соглашусь. Риск определяется не тем, "сервер" или "клиент", а исключительно возможностями злоумышленника по доступу к компу с программой. Топикстартер их не уточнил, и если речь не идёт об экзотическом варианте "клиент через интернет стучится к БД", то они в целом эквивалентны. |
||||
12 фев 21, 02:15 [22279831] Ответить | Цитировать Сообщить модератору |
ъъъъъ Member Откуда: Сообщений: 1769 |
GrigoriyFomin, пока обсуждение не зашло слишком далеко, обрати внимание на Trusted autentification: https://firebirdsql.org/rlsnotesh/rnfb210-wintrusted.html Никаких паролей "для коннекта к серверу" не хранится. При коннекте сервер получает имя пользователя, подтверждённое системой безопасности windows. |
12 фев 21, 02:21 [22279832] Ответить | Цитировать Сообщить модератору |
rgreat Member Откуда: Сообщений: 6563 |
![]() А то что доступ к компу с клиентом у злоумышленника (или просто дурака) есть - это понятно по условиям задачи. В общем: "DROP DATABASE XXX;" - в студию! Ну или "DELETE FROM YYY;" если прав не хватает. Сообщение было отредактировано: 12 фев 21, 02:34 |
||||
12 фев 21, 02:36 [22279834] Ответить | Цитировать Сообщить модератору |
YuRock Member Откуда: Донецк Сообщений: 4403 |
Можно еще в этот же инишник добавить ключик IsCode, и если IsCode=1, то вместо password=masterkey должно быть password=04affddef38a2540hh704affddef38a2540hh704affddef38a2540hh7 Этот hex - пароль в зашифрованном виде каким-нибудь AES128 ключом зашитым или вычисляемым в программе. К паролю перед шифрованием можно какие-нибудь рандомы добавить хитрые (а после расшифровки - убрать. Понятное дело, от взлома это не поможет. Только немного замедлит. Это самый худший вариант. На втором месте по худшести - вводить пароль. На третьем - использовать windows-аутентификацию. Возможно, эти пункты можно следует поменять местами, но мне таки кажется, что пароль от акка винды угнать сложнее (впрочем, достаточно запустить прогу из-под этого акка, так что не факт). На четвертом - самый безопасный вариант - не открывать базу наружу сервера. Использовать свою аутентификацию через хэши/сессии. Но это уже не двухзвёнка. |
||||
12 фев 21, 04:21 [22279842] Ответить | Цитировать Сообщить модератору |
ъъъъъ Member Откуда: Сообщений: 1769 |
YuRock>достаточно запустить прогу из-под этого акка И как пароль будет "угнан"? Поделись секретом. |
12 фев 21, 09:01 [22279864] Ответить | Цитировать Сообщить модератору |
Док Member Откуда: Казань Сообщений: 6964 |
+100500 В случае ТС почти самый идеальный вариант. Если вход в винду запаролирован :) |
||||
12 фев 21, 09:37 [22279871] Ответить | Цитировать Сообщить модератору |
Fr0sT-Brutal Member Откуда: Сообщений: 587 |
В современной Опере менеджер паролей при попытке показать сохраненные пароли выводит форму виндовой аутентификации. Неплохое решение. |
12 фев 21, 11:36 [22279928] Ответить | Цитировать Сообщить модератору |
X11 Member Откуда: Kharkiv, Ukraine Сообщений: 15029 |
хоть немного шифровать будет полезно |
12 фев 21, 12:00 [22279940] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64865 Блог |
Это из разряда "зарекался же спорить о безопасности с теми, кто никогда ничего не ломал". Сам дурак. |
||||
12 фев 21, 12:02 [22279943] Ответить | Цитировать Сообщить модератору |
YuRock Member Откуда: Донецк Сообщений: 4403 |
|
||||
12 фев 21, 13:04 [22279984] Ответить | Цитировать Сообщить модератору |
YuRock Member Откуда: Донецк Сообщений: 4403 |
|
||||
12 фев 21, 13:07 [22279986] Ответить | Цитировать Сообщить модератору |
ъъъъъ Member Откуда: Сообщений: 1769 |
Потому и спрашиваю, что не понял. Разъясни. |
||||||||
12 фев 21, 14:20 [22280025] Ответить | Цитировать Сообщить модератору |
YuRock Member Откуда: Донецк Сообщений: 4403 |
|
||||||||
12 фев 21, 14:40 [22280041] Ответить | Цитировать Сообщить модератору |
ъъъъъ Member Откуда: Сообщений: 1769 |
Объясни же, о чем тут:
? |
||||||||||
12 фев 21, 14:53 [22280050] Ответить | Цитировать Сообщить модератору |
_Vasilisk_ Member Откуда: Украина, Харьков Сообщений: 12572 |
|
||||
12 фев 21, 22:45 [22280317] Ответить | Цитировать Сообщить модератору |
ъъъъъ Member Откуда: Сообщений: 1769 |
Поди пойми, о чем он баит. |
||||||||
12 фев 21, 23:38 [22280329] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64865 Блог |
Отметим, что "брутальная" защита начинается с того, что текущему пользователю блокируется возможность запуска всяких левых шняг. А адекватная - с соображения "пусть запускает, всё равно права отстроены так, что он и через IBExpert не получит доступа к тому, к чему не должен". |
||||||||
12 фев 21, 23:57 [22280336] Ответить | Цитировать Сообщить модератору |
Dimitry Sibiryakov Member Откуда: Сообщений: 52445 |
Вот только топикстартеру хотя бы автологин под именем "User" для начала отключить... Posted via ActualForum NNTP Server 1.5 |
13 фев 21, 01:25 [22280356] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Все форумы / Delphi | ![]() |