Informix Logo


Informix, Oracle, DB2,: и зашита от несанкционированного доступа


Вырезки из дискуссии в ukr.comp.dbms.informix

Участники дискуссии:
"Azat Baidauletov" azatb@mail.ru
Purish Sergey jurt@pravex.kiev.ua
"Dmitry Krivosheyenko" ulisse@formweb.com
"Vladimir Pritulenko" Vladimir.Pritulenko@informix.com
"Oleg Pronin" opronin@usa.com
"Shulzhenko Vasyl" <vasilis@softline.kiev.ua>
Yurik Shestakov yu@frigate.kiev.ua


Привет Все!
Тут до патрона дошли сведения что мол оракл можно запросто использовать через Инет, и что мол у него есть некая спец защита от несанкционированного доступа. Чесс говоря я пока трудно представляю на каком таком уровне - защита - то собственно??
Но тем не менее вопрос возник - А у информикса что для таковых целей предусмотрено?
( просто встает вопрос подключать области через инет.)

Азат


Вспоминается что информикс опирается на безопасность операционной системы
в целом, и следовательно сервер смотрящий в мир должен быть хорошо прикрыт
с точки зрения OS, тут помогут и фаирвол и просто идеология построения системы.

(Это к тому что, как бы нибыл наворочен в защите информикс да и оракл тоже,
человек получивший root'a сделает все что надо) А для работы с интернетом есть web-connect, скрещивая его со стандартными www серверами получаеш, все что пожелаеш. А тут стандартная защита, с помощью html еще никого не поломали :))
--
Best Regards, Sergey


Приветствую!

1. что касается рута, то в оракле нет _внешнего_ юзера (то есть юзера OC) который имеет права DBA к любой базе (типа user informix). Там вообще другая идеология безопасности - внутри оракла существуют собственные юзера-логины со своими паролями. Так что имея рута можно только добраться до собственно файлов с данными в внутреннем формате БД - конечно можно их скопировать, переместить, подменить для другого инстанса, но это уже "хак" а не несанкционированное считывание.

2. У оракла есть штатная возможность разрешить коннектится только с указанных тобой IP адресов. Аналогичную фичу можно сделать так: Написать прокси который будет слушать порт 1525 (стандартный порт информикса) и пропускать пакеты с только определенных IP, "разрешенные" пакеты отправлять скажем на порт 30000. А информиксу сказать что он слушает 30000 с localhost. (в файле sqlhosts). Или еще интерестнее при этом чтобы прокси слушала к примеру 20000 и все твои "правильные" клиенты ходили на этот порт (это для предотвращения целенаправленного поиска пакетов на порту 1525)

Но опять же, смотря от чего защищаться - это защита от тупого взлома путем анализа пакетов информикса на предмет содержащихся в них паролей коннекта к OC. Если речь идет о открытии части данных БД в инете - надо использовать middleware, как говорит Сергей.

Оракл имеет гораздо больше возможностей по обеспечению безопасности, хотя полезность большинства из них вопрос достаточно спорный, но к сожалению у информикса нет и того (описывать красоту вражьих фич я не буду - оффтопик все таки :) Самое на мой взгляд плохое в концепции безопасности от информикса (я не имею ввиду опцию Informix Secure - я просто ее не видел, и есть ли она сейчас вообще, и если в ней что-то кроме логирования действий пользователей?) это переложение идентификациии и аутотентификации на ОС - мы имеем гемморой, c тем, что каждого пользователя информикса необходимо заводить в OC (задача в общем случае СИСадмина а не ДБадмина), да и паролики пользователей OC при этом в пакетах информикса бегают в незащищенном виде (начиная с 7.30 есть фича их слегка прикриптовать)

Я к чему веду - получив пароль юзера имеем логон на хост. Получив логон на хост - при наличии нерадивого сисадмина/не поставленных последних патчей OC по безопасности и т.п. имеем в теории логон рута. Далее, либо физически копируем данные из файлов/raw или же получаем логон информикса и красивенько лезем в любую базу и вынимаем то чего нам надо.

К сожалению, из ведущих 5 CУБД только информикс не имеет собственную систему идентификации и аутентификации пользователей (DB2, O, MS, S их имеют). Более того, на RedHat 6 для информикса приходится выключать shadow (не понятно чей баг) и пароли пользователей лежат в просто в passwd (а раскриптовать их не так уж и сложно как кажется на первый взгляд) 

Я это все к тому, что при открытия хоста на котором стоит информикс в инете, надо обратить внимание в первую очередь на защищенность OC, и по возможности прикрыть чем-то порт информикса.

Если же вопрос стоит о открытии данных с информикса который стоит на хосте недоступном извне, то это совсем другая песня, и тут все не так плохо :)

--
Regards,
Dmitry Krivosheyenko
E-mail: ulisse@formweb.com
ICQ UIN:17396761


> оракл имеет
> гораздо больше возможностей по обеспечению безопасности, хотя полезность
> большинства из них вопрос достаточно спорный, но к сожалению у информикса
> нет и того (описывать красоту вражьих фич я не буду - оффтопик все таки :)
> Самое на мой взгляд плохое в концепции безопасности от информикса (я не имею
> ввиду опцию Informix Secure - я просто ее не видел, и есть ли она сейчас
> вообще, и если в ней что-то кроме логирования действий пользователей?) это
> переложение идентификациии и аутотентификации на ОС - мы имеем гемморой, c
> тем, что каждого пользователя информикса необходимо заводить в OC (задача в
> общем случае СИСадмина а не ДБадмина), да и паролики пользователей OC при
> этом в пакетах информикса бегают в незащищенном виде (начиная с 7.30 есть
> фича их слегка прикриптовать)

Зачем заводить пользователя? Тем более если речь в первую очередь про Инет. Ну хоть убей, не верю я, что системы типа yahoo или CNN заводят пользователя только для того, чтобы обратиться к данным в базе. Там же миллионы пользоветелей. Простейшая реализация? Табличка из двух полей, в одном поле имя, в другом пароль (криптуй сам любым своим или чужим алгоритмом). После этого при входе любым заранее заведенным пользователем (у которого вообще может не быть прав ни на что, кроме как на чтение этой таблички из двух полей) и проверки соответствия, устанавливаешь авторизацию сессии и ... ну в смысле делаешь, что хочешь. С одной стороны вроде как дырка, а с другой - какая приятная штука. Главное - использовать это правильно. Ну типа: set session authorization to "Dima". Потом гранты нужные ему. И вот "живой" пользователь.

> Я к чему веду - получив пароль юзера имеем логон на хост. Получив логон на
> хост - при наличии нерадивого сисадмина/не поставленных последних патчей OC
> по безопасности и т.п. имеем в теории логон рута. Далее, либо физически
> копируем данные из файлов/raw или же получаем логон информикса и красивенько
> лезем в любую базу и вынимаем то чего нам надо.

Так если так рассуждать, то можно и в Оракуле файл паролей вскрыть и дальше делать что хош. Я к тому, что против лома ... Просто базовыми средствами врядле кто ограничивается, и нужно изобрести свой лом, или его подобие. 

> К сожалению, из ведущих 5 CУБД только информикс не имеет собственную систему
> идентификации и аутентификации пользователей (DB2, O, MS, S их имеют).

К сожалению ли?

> Более того, на RedHat 6 для информикса приходится выключать shadow (не понятно чей
> баг) и пароли пользователей лежат в просто в passwd (а раскриптовать их не
> так уж и сложно как кажется на первый взгляд)

Тут я промолчу. Но судя по популярности Линуха и в первую очередь в Инете, я бы все таки так смело не заявлял. Может Линух взламывается, но врядле раскриптованием паролей. Насколько я помню, в Юниксе механизм шифрации пароля односторонний, и вывернуть его назад нелегкая (в смысле неразрешимая) задача.

>
> Я это все к тому, что при открытия хоста на котором стоит информикс в
инете,
> надо обратить внимание в первую очередь на защищенность OC, и по
возможности
> прикрыть чем-то порт информикса.

Согласен. Хотя, если быть откровенным до конца, во-первых порт Информикса
еще нужно вычислить, а во вторых ... Все молчу :-) Проблемы с закрытием вам
известны как никому, судя по направленности ваших разработок.

>
> Если же вопрос стоит о открытии данных с информикса который стоит на хосте
> недоступном извне, то это совсем другая песня, и тут все не так плохо :)
>

Для информации и с целью ознакомления (не рекламы :-)). Зайдите на
www.silicon.com
и зарегистрируйтесь. Проект на Информиксе. Кто работал с ВЕБ блейдом увидят
в строке адреса знакомую нотацию. И конечно никто никого не заводит в ОС.
Ну и конечно проект на Информиксе - Security First Network Bank.
(www.sfnb.com).
Все сделки через Инет. Все деньги в Информиксе. И тут уж не до шуточек.


PS. А вообще вопрос защиты очень большой, и наверное это тема совершенно
третьей конференции. Это я не ктому, что про это не стоит говорить. Просто
ну очень много уровней есть еще до Информикса.

С уважением,
Владимир


> Абсолютно верно. Мне кажется что нельзя мешать в одну кучу вопросы
> сетевой безопасности и безопасности базы данных. Мне нравится четко
> проводимая Informix политика в этом вопросе. Informix - это СУБД и
> несвойственными СУБД операциями не занимается, предоставляя свободу
> выбора пользователю и не перегружая излишками сам Informix.

Совершенно согласен, при этом, в отличие от Oracle - оставляет некоторую
свободу для разработки дополнительных средств (не предоставляя при этом
нормального языка, кроме ESQL\C).

Что же касается "поддержки работы с shadow", так на HP-UX10.20 shadow вообще
нет,
и пароль лежит в файле passwd. Не хочу этим сказать, что это нормально,
но Вам прийдется признать, что HP-UX в настоящий момент один из
самых популярный OC, особенно в финансовом мире. Парадокс? Решать Вам.
Что же касается проблем защиты - по-моему более неприятный момент:
- это необходимость .rhost (доверительность) для работы между двумя
серверами
- передача пароля в системных вызовах ESQL/C идет в открытую.
По моему ставить вопрос о том, что сервер БД должен находится на первом
рубеже
при работе с интернет - так вам любую машину сломают - только скажите,
что у вас стоит :-)))
> Защитой сети должен заниматься специализированный софт и специалист по
> этой защите, Informix же должен обеспечивать защиту данных НА УРОВНЕ
> базы данных, что он и делает.
И это наиболее популярный метод защиты данных от несанкционированного
доступа.
> Мне кажется, что вся доморощенная сетевая защита Oracle, для специалиста
> по безопасности не представляет серьезного препятствия, так что и Oracle
> без дополнительной защиты я бы ставить в Сетку не рискнул.
Тут по этой нити приводился пример с Oracle+FreeBSD, который был на
начальном этапе якобы взломан :-))) с паролем "oracle:oracle" и тд :-))) и
указывалось
на вину сисадмина :-)))
DBA при этом (создавший такой хитрый пароль) не виноват?
Да тут, на мой вгляд, все отличились (те, кто отдавал эту ошибку сервера
конечному пользователю, тот кто придумал такую хитрую систему контроля
и аутентификации и тд)
Дальнейшие утверждения вообще спорны -где проще завладеть данными: в Oracle
или в Informix?
Если пользователь informix не является DBA для данной базы - то насколько я
знаю - пустой номер.
Вопрос о том "да я системные таблицы посмотрю" и тд. Тогда возникает вопрос
чем?
(если я dbaccess|dbexport|dbimport после установки и настройки удалю
как говорили не так давно "как класс").
Далее полемику можно развивать - но его так не решить.
Нужны более конкретные условия и постановка задачи (в том числе и вопрос
денег).

> Если же вопрос в экономии на безопасности, "то вольному воля, спасенному
> рай" ;-)
> > > Я это все к тому, что при открытия хоста на котором стоит информикс
> в
> > инете,
> Не должен стоять Informix прямо на Сетке, не должен.
И выдавать свои ошибки наружу тоже не должен :-)))
>
> >
> > PS. А вообще вопрос защиты очень большой, и наверное это тема
> совершенно
> > третьей конференции. Это я не ктому, что про это не стоит говорить.
> Просто
> > ну очень много уровней есть еще до Информикса.
> И опять согласен. Informix - это ПОСЛЕДНЯЯ ступенка защиты, но никак
> не первая, и нужно использовать защиту ДО Informix'a.
Но при этом и ориентация на работу в trusted окружении (наличие .rhost )
все-таки как-то настораживает :-)))

Олег


> Абсолютно верно. Мне кажется что нельзя мешать в одну кучу вопросы
> сетевой безопасности и безопасности базы данных. Мне нравится четко
> проводимая Informix политика в этом вопросе. Informix - это СУБД и
> несвойственными СУБД операциями не занимается, предоставляя свободу
> выбора пользователю и не перегружая излишками сам Informix.
> Защитой сети должен заниматься специализированный софт и специалист по
> этой защите, Informix же должен обеспечивать защиту данных НА УРОВНЕ
> базы данных, что он и делает.


Евгений, тут я с тобой не согласен. Мне это напоминает недавние (года
полтора назад) гордые заявления Sybase о ненужности и вредности блокировок
на уровне записи
(у них до 11.9 не было row-level locking, и этот баг маркетологами выдавался
за фичу - причем настолько грамотно и красиво давили - заслушаться, точнее
зачитаться можно было). Потом после того как row-level у них появился - весь
ихний сайт запестрел рекламой новой фичи - как это классно и как это
полезно.

Да "Informix же должен обеспечивать защиту данных НА УРОВНЕ базы данных, что
он и делает" - это все классно, но почему-то в вопросах безопасности
остальные СУБД к защите данных подошли немного более шире.
Естественно, как сказал Владимир, против лома ... Но зачем же самим
подсовывать этот лом? хотя не лом, а мааленькую иголочку с помощью которой
можно проковырять (при удачном раскладе ессно) мааленькую дырочку а затем со
всей дури хакнуть и получить дырень через которую можно унести все что
угодно.

Я это говорю ни к тому, что дескать информикс не обеспечивает там чего-то
страшно необходимое, что делают другие, ДА, все эти навороты только
загромождают сервер - тот же оракл яркое тому подтверждение - сделали
чудовище которое пожирает огромное количество памяти и медленно разгоняется
(хотя потом быстро бегает - наверное по инерции :) )

> Мне кажется, что вся доморощенная сетевая защита Oracle, для специалиста
> по безопасности не представляет серьезного препятствия, так что и Oracle
> без дополнительной защиты я бы ставить в Сетку не рискнул.

Согласен. Но все-же я бы не был столь категоричен насчет "_доморощенной_
сетевой защиты" - у них навернуто достаточно сильно.

> Если же вопрос в экономии на безопасности, "то вольному воля, спасенному
> рай" ;-)
>
> > > Я это все к тому, что при открытия хоста на котором стоит информикс
> в
> > инете,
> Не должен стоять Informix прямо на Сетке, не должен.

Опять-же никто не спорит :)
Но если нет дополнительного тазика для выноса информикса во внутрь :) что
тогда делать?
И почему я должен приобретать/настраивать/администрить дополнительные
продукты, если можно приобрести "шампунь и кондиционер в одном флаконе"?

Мне кажется никто бы не проиграл, появись у Информикса что-то кроме
Integrated security (не зря наверное в sysusers есть поле password)
Те же MS SQL и DB2 предлагают два подхода (свою систему security и security
основанную на security OS)

--
Regards,
Dmitry Krivosheyenko
E-mail: ulisse@formweb.com
ICQ UIN:17396761


Года три назад, когда наш НБУ рассматривал Информикс и вопрос безопасности
стоял одним из первых, у меня был на руках очень интересный обзор Gartner
Group (надеюсь, что все знают), где комплексно рассматривался вопрос
обеспечения безопасности для СУБД-лидеров. К сожалению, у меня был только
печатный вариант, который не сохранился (хотя на их сайте можно, думаю,
поискать) и помню я только основные положения.
Так вот лидерами, как ни странно, были две СУБД - Информикс и Оракл, у
которых проповедовался совершенно разный подход. Оракл, где только можно,
встраивает свои собственные системы защиты, а вот Информикс предоставляет
средства/возможности для встраивания средств сторонних производителей, не
без оснований утверждая, что безопасность должна обеспечиваться лучшими, в
данном классе, продуктами. Система аудита, если я правильно помню, была
лучшей у Инф. Напомню, что уровень B1(или B2 ?) первым обеспечил Инф.,
правда это был специализированный продукт, который сейчас не выпускается,
если я правильно помню.
Оракл лучше в этом плане подходит для начальных систем, но уже серьезная
production system не будет полагаться на Оракловскую security, а будет
вынуждена все равно ставить серьезную систему третьего производителя.
Хотя, бесспорно, было бы очень удобно в Информиксе иметь возможность
переключаться на авторизацию ОС или Информикс, в зависимости от своих нужд.

--

С уважением,

Руководитель учебного центра Софтлайн
Василий Шульженко


>> И опять согласен. Informix - это ПОСЛЕДНЯЯ ступенка защиты, но никак
>> не первая, и нужно использовать защиту ДО Informix'a.
OP> Но при этом и ориентация на работу в trusted окружении (наличие .rhost )
OP> все-таки как-то настораживает :-)))

Хм, я себе не представляю случая, когда нужно через Internet
делать соединение между клиентом и сервером, и при этом его
нельзя пробрасывать через ssh ?
Через ssh работает "на ура". Вот тебе и секурность с шифрованием.

-- 
// yurik shestakov


В RH5.2 небыло shadow. А с ssh2 мысль добротная, в комбинации с фаирволом
получается система на которой в мир открыт Apache & ssh2. Запрещаеш root, оставляеш
sudo с логированием и прочими фичами, юзеров которые приходят на www в отдельную
табличку и максимум функций stored procedure.А в общем хоть в лево хоть в право, но
без
общей концепции и грамотных админов ............. :)))

--
Best Regards, Sergey


Украинская баннерная сеть
 

[Home]

Сайт поддерживается группой пользователей Информикс на Украине.

Hosted by NO-more.