Получение полных прав

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

Модератор: kdv

Ответить
JOHN_PROFF
Сообщения: 15
Зарегистрирован: 17 ноя 2006, 13:11

Получение полных прав

Сообщение JOHN_PROFF » 21 фев 2007, 15:49

Возможно ли человеку имеющему ограниченную учетную запись (открыт доступ не ко всем таблицам) получить полный доступ?
Так же у него есть доступ к ХП которая, в свою очередь, имеет доступ к закрытым для пользователя таблицам.

На серваке (win 2000) стоит FireBird 1.5.2
Пользователь, естественно, не имеет доступа к файлам сервера.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 21 фев 2007, 16:06

Ну так через ХП он этот доступ и поимеет.

JOHN_PROFF
Сообщения: 15
Зарегистрирован: 17 ноя 2006, 13:11

Сообщение JOHN_PROFF » 21 фев 2007, 16:40

Dimitry Sibiryakov писал(а):Ну так через ХП он этот доступ и поимеет.
Я немного не корректно сформулировал вопрос.

Есть такая система:
При каждом запуске программы1 генерируется случайтый текст, который передается ХП1. ХП1 добавляет новую запись в таблице Т1 (IP машины, случайтый текст)
У ХП1 есть права только на запись в таблицу Т1.
У мользователя нет никаких прав на эту таблицу.

Потом программа2 считывает данные из таблицы Т1 и для каждого IP в таблице Т2 генерирует некие данные. Т2 (некие данные, случайтый текст)

После всего этого программа1 запускает ХП2, передает ей случайтый текст и на выходе получает селект из таблицы Т2 select некие данные from T2 where случайный текст = случайный текст сгенерированный программой1.
У ХП2 есть права только на чтение из таблицы Т2.
У мользователя нет никаких прав на эту таблицу.

Теперь вопрос:
Может ли пользователь считать все данные из таблиц Т1 и Т2? Брутфорс исключен, т.к. если not exists(select некие данные from T2 where случайный текст = случайный текст сгенерированный программой1), то пользователю закрывается доступ.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 22 фев 2007, 07:55

Если обе эти программы работают от имени пользователя и некий злоумышленник знает пароль этого пользователя, то ему и не нужно считывать данные - он может забить Т1 (через ХП1) какими ему нужно данными и читать из Т2, используя эти данные.

JOHN_PROFF
Сообщения: 15
Зарегистрирован: 17 ноя 2006, 13:11

Сообщение JOHN_PROFF » 22 фев 2007, 23:50

Злоумышленник знает пароль программы1, но не знает пороль программы2 (вернее не к программе, а к серверу. Проги ходят под разными аками к базе (не SYSDBA)). То, о чем вы говорите у злоумышленника не получится, т.к. есть некоторые дополнительные меры, которые не позволят ему этого сделать, описывать их я не стал, т.к. к сабжу они не имеют отношения, да и разговор пойдет немного не в ту сторону.
Меня больше интересует есть ли дыры в самом сервере, позволяющие получить либо пароль SYSDBA, либо снять ограничения с учетной записи на чтение запрещенных таблиц, либо получить через сервер Firebird доступ к security.fdb.
ЗЫ
То, что он что то сможет проснифить и т.п. это другой вопрос.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 23 фев 2007, 09:21

позволяющие получить либо пароль SYSDBA
тьфу ты, блин, да не дешифруются пароли, НИКАК. подбором разумеется можно.
ибо снять ограничения с учетной записи на чтение запрещенных таблиц
это никак.
либо получить через сервер Firebird доступ к security.fdb.
всегда пожалуйста, кроме FB 2.0. только security.fdb можно же и переименовать.

JOHN_PROFF
Сообщения: 15
Зарегистрирован: 17 ноя 2006, 13:11

Сообщение JOHN_PROFF » 24 фев 2007, 05:51

kdv
Спасибо за конкретные ответы.

Остался только один вопрос:
Можно ли на уровне сервера присечь попытку брутфорса или поставить задержку секунд на 5 при соединении с базой (просьба не посылать к трехзвенке. Интересуют возможности только самого сервера)

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 24 фев 2007, 06:29

JOHN_PROFF писал(а):Можно ли на уровне сервера присечь попытку брутфорса или поставить задержку секунд на 5 при соединении с базой (просьба не посылать к трехзвенке. Интересуют возможности только самого сервера)
При подключении с неправильным паролем более трех раз, при четвертом подключении сервер делает паузу (~15 сек для FB 2).
Для FB 2.0 почитай разделы в Release Notes "Active protection from brute-force attack" и "Protection from Brute-force Hacking".

EvilsInterrupt
Сообщения: 66
Зарегистрирован: 29 авг 2006, 10:00

Сообщение EvilsInterrupt » 24 фев 2007, 09:27

JOHN_PROFF
1. Пароли максимум имеет 8 символов для IB\FB, отсюда скорость подбора меньше чем если бы не было этого ограничения.
2. Нельзя выбирать пароль только из цифр или букв - это правило
уже давно всем админам известно
3. В пароле желательно использовать и другие символы доступные для ввода: запята, тчк, :)

А вообще я уже пробовал увидеть пароль по сети, поставил Ethereal - это кул снифер, ввел пароль и пытался глянуть а не передается ли пароль, че то не увидел. Может плохо глядел?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 24 фев 2007, 11:17

че то не увидел. Может плохо глядел?
да уже просто надоело сотый раз объяснять, как пароль "передается" с клиента на сервер.

JOHN_PROFF
Сообщения: 15
Зарегистрирован: 17 ноя 2006, 13:11

Сообщение JOHN_PROFF » 24 фев 2007, 19:48

EvilsInterrupt писал(а):3. В пароле желательно использовать и другие символы доступные для ввода: запята, тчк, :)
И желательно что бы они первыми шли. Как правило во время перебора идут буквы, потом цифры, а потом знаки ;)

Ответить