Как обойти передачу паролей в открытом виде при backup'е?

Как защититься от хаков, спрятать БД и прочие премудрости и настройки

Модератор: kdv

Ответить
Res Nullius
Сообщения: 3
Зарегистрирован: 27 июл 2005, 12:15

Как обойти передачу паролей в открытом виде при backup'е?

Сообщение Res Nullius » 27 июл 2005, 12:26

Добрый день, уважаемые!

Есть вопрос. Каждый день на сервере БД (Yaffil) идет резервное копирование данных с помощью утилиты GBAK. ПРоцесс запускается по расписанию с помощью командного файла, в котором содержится строка запуска GBAK. В этой строке явно указаны имя пользователя и, что самое неприятное, пароль пользователя, от имени которого быкапится база. Можно ли каким-то образом избежать передачи пароля в открытом виде?

Заранее благодарен за ваши ответы!

Klyk
Сообщения: 100
Зарегистрирован: 26 окт 2004, 23:28

Сообщение Klyk » 27 июл 2005, 23:58

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

Res Nullius
Сообщения: 3
Зарегистрирован: 27 июл 2005, 12:15

Сообщение Res Nullius » 11 авг 2005, 12:15

Спасибо за совет!
Эта мысль уже приходила нам в голову.
Следующий вопрос: а можно ли производить backup/restore не под SYSDBA, какие права надо выдать для этого пользователю?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 11 авг 2005, 14:18

Res Nullius писал(а):а можно ли производить backup/restore не под SYSDBA
Или SYSDBA, или OWNER

Res Nullius
Сообщения: 3
Зарегистрирован: 27 июл 2005, 12:15

Сообщение Res Nullius » 19 авг 2005, 13:44

Большое человеческое спасибо всем откликнувшимся!

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 27 фев 2006, 16:43

Klyk писал(а):избежать передачи пароля или хранения его в командном файле?
Я так понимаю ты про второе.
напиши мааленький такой .exe, который будет у тебя запускатся по расписанию (каким нить шидулером) и бэкапить базу. Тогда не будет пароль у тебя хранится в файле, который может прочитать кто угодно.
Приветствую всех! (давно не заходил...)
Сейчас возникла та-же проблема (см.выше) и пример с EXEшником не подходит, т.к. простым дизассемблером найти строку с параметром для архивации password=... достаточно реально, тем более что EXEшник маленький...

есть ли другие варианты скрыть пароль SYSDBA?

smu
Сообщения: 39
Зарегистрирован: 29 окт 2005, 10:12

Сообщение smu » 28 фев 2006, 21:59

andycat писал(а): ... т.к. простым дизассемблером найти строку с параметром для архивации password=... достаточно реально, тем более что EXEшник маленький...

есть ли другие варианты скрыть пароль SYSDBA?
Можно усложнить жизнь взломщику. Строки с паролем, 'password', 'user' открытым способом не хранить, а написать простенький алгоритм по расчету. Например

Код: Выделить всё

 var c: char; s: string;  ...
с := 'p';
s := с + Char(100 + 2) + Char (Byte(c) + 2) + ...;
....
// здесь вставим строку s для вызова GBAK 

побольше различных операторов сравнения и т.п. извращения. А затем можно пройтись упаковщиком. Защить данные на 100% не сможите, но усложнить процесс взлома - можно. Для защиты от псевдохакеров, пользующихся только HEX редактором, вполне подойдет

Georgi-47
Сообщения: 51
Зарегистрирован: 01 ноя 2004, 10:21

Сообщение Georgi-47 » 01 мар 2006, 12:54

С exe-шником лучше, но тоже не идеал. Есть способ преодоления - пишется небольшая программка с именем gbak.exe и кладется на место оригинального. Программка параметры записывает куда-то или шлет по почте, а для незаметности вызывает потом оригинальный gbak. Можно даже, наверное, потом саму себя как-то стереть исхитриться, а оригинал вернуть на место.

Выход, похоже, в том, чтобы использовать для выполнения backup программу, использующую компоненты, а не вызывающую gbak. В этой программе, желательно, чтобы пароль хранился в зашифрованном виде.
Таких программ есть несколько, да хоть в том же разделе download на ibase.ru.
Правда, не все программы удобны. Вернее, я бы даже сказал - все неудобны. И тут я не могу не посоветовать нашу программу :)
http://www.ibsafe.com
Правда, по теме она не до конца подходит, для собственно выполнения backup используется gbak.exe, потому что gbak может то, что не могут компоненты - укладывать backup-файл не на ту машину, где работает сервер БД.

Кстати, вот эта проблема с безопасностью - серьезный аргумент, чтобы включить в IBSafe возможность выполнения backup без gbak. Пишите по адресу на сайте, кому это нужно, тогда это попадет в разряд первоочередных планов.

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 02 мар 2006, 16:46

наверное все таки проще написать конкретно для конкретной базы архивирование/восстановление через компоненты и зашифровать пароль.

всем спасибо!

Ответить