Этот сайт посвящается администрированию баз данных OpenEdge Progress.
Не корысти ради, а познания для!

С уважением,
Валерий Башкатов
Сайт разработан при участии компании Progress Technologies, официального дистрибьютора Progress Software Corp. на территории стран СНГ и Латвии.

RSS RSS подписка на обновления сайта

Поиск по сайту

Лучшие материалы

Orphus System
На сайте функционирует система коррекции ошибок. Обнаружив неточность в тексте, выделите её и нажмите Ctrl+Enter



Результаты опроса: Нужны ли книги по Progress OpenEdge на русском языке? (опрос проводился с мая 2009 по ноябрь 2010)

Да, нужны. Потому что будет легче понять материал - 268
Нет, не нужны. Достаточно материалов на английском языке - 10
Не знаю, мне всё равно - 6

А знаете ли вы что..



Защита данных - Обеспечение безопасности




Основы баз данных OpenEdge
Защита данных
   Стратегия резервного копирования (backup)
   Востановление базы данных
   After-imaging
   Обеспечение безопасности
     Установка ID пользователя и пароля
        ID пользователя в OpenEdge
        Пароль OpenEdge
        Проверка ID пользователя и пароля
     Способы аутентификации в базах данных OE Progress
        Таблицы ABL
        Таблицы SQL
        Таблицы ABL и SQL
     Безопасность соединения
        Определение списка пользователей.
        Определение администратора безопасности
        Удаление пользователя
        Изменение пароля
     Безопасность схемы базы данных
     Безопасность базы на уровне операционной системы
   Auditing
   Репликация данных
   Failover Clusters
Поддержка и мониторинг базы данных
Команды запуска и останова
Параметры запуска баз данных
Утилиты OpenEdge RDBMS
Виртуальные системные таблиц (VST)


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

Внимание! При любых изменениях в настройках безопасности для базы данных, перед началом работ, обязательно сформируйте резервную копию базы. Т.к. в случае не предвиденной ситуации, вы, возможно, будете не в состоянии более управлять базой, например, если ошибетесь с правами доступа администратора. В этом случае, вы можете восстановить ее из резервной копии.


Установка ID пользователя и пароля

Любое соединение с базой данных ассоциируется с ID пользователя. Каждый уровень безопасности использует ID пользователя для определения прав его доступа.

На первом уровне определяется, разрешить всем пользователям подключаться к базе данных, или только конкретным людям в соответствии со списком авторизованных ID. Этот уровень называется – уровень безопасности соединения. Каждый ID пользователя, может быть защищен паролем, чтобы исключить возможность несанкционированного использования ID.

Если список разрешенных пользователей не будет установлен, база данных унаследует ID пользователя или возьмет имя из операционной системы.

В Unix системах, база данных может использовать ID пользователя операционной системы. В этом случае ID пользователя операционной системы должно соответствовать правилам установленным для ID пользователя OE Progress.

Для внесения списка разрешенных ID для базы данных необходимо заполнить user list в меню Data Administration Security. База данных хранит этот список в системной таблице _user, скрытой от обычных пользователей. После этого, при подключении к базе данных, необходимо обязательно указать ID и пароль пользователя. Как только в список будет добавлен хотя бы один пользователь, база данных больше не сможет наследовать ID или использовать ID операционной системы.

В диалоговом режиме, пользователю будет предложен соответствующий интерфейс для ввода ID и пароля. При программном подключении необходимо использовать параметры User ID (-U) и Password (-P).

ID пользователя в OpenEdge

ID пользователя, это строка состоящая максимум из 12 символов, принадлежащая конкретной базе данных OpenEdge. ID может содержать любые печатные символы за исключением: #, *,! и @. ID также не чувствителен к регистру. ID так же может быть указан как пустой “”, но этого нельзя сделать с помощью Data Dictionary.


Пароль OpenEdge

Пароль может состоять не более чем из 16 символов и принадлежит ID пользователя. При добавлении пароля пользователю, он кодируется с использованием функции ENCODE. Поскольку ENCODE возвращает различные значения для символов верхнего и нижнего регистра, пароль, в отличи от ID, чувствителен к регистру.


Проверка ID пользователя и пароля

Когда установлен список ID, RDMS всегда запрашивает ID и пароль для подключения. Обычно приложения это делает с помощью процедур входа. Стандартная стартовая процедура это PROSTART, которая автоматически запускает процедуру входа при каждом подключении к базе данных. Если же приложение использует другую процедуру входа, разработчик должен позаботиться, чтобы запускать процедуру входа из нее.

Процедура входа использует функцию SETUSERID, для проверки ID и пароля введенных пользователем. Пользователь при этом имеет три попытки ввода логина и пароля. И если пользователь три раза ошибется с вводом, то функция SETUSERID отключит пользователя от базы данных. Если же введенные данные верны, функция разрешит продолжить соединение с базой данных для указанного ID.

Если же приложение не использует процедуру входа, или пользователь обходит ее, например путем нажатия клавиши END-ERROR при запросе логина и пароля, будет установлен так называемый «пустой» ID. Пока вы не можете помешать такому поведению базы данных, для установки соединения, но вы можете помешать получению данных таким пользователем, путем установки compile-time и run-timeограничений.


Способы аутентификации в базах данных OE Progress

Для ограничения доступа к базе данных с целью изменения и удаления файлов базы данных, необходимо установить соответствующего администратора базы данных и установить права доступа пользователям. Процесс установки прав зависит от того, какие таблицы имеет ваша база данных: только таблицы ABL, только таблицы SQL, или и то и другое.


Таблицы ABL

По умолчанию, пользователи базы данных не определены. Назначить администратора базы данных можно через Data Dictionary, установив необходимый ID и соответствующие привилегии другим пользователям. ABL DBA может читать, писать, создавать и удалять права на таблицу _user.


Таблицы SQL

SQL администратором является человек с записью sysdbauth в базе данных. SQL DBA имеет доступ ко всем мета данных и данным в базе данных. Для поддержки внутренней схемы, по умолчанию DBA установлен sysprogress. Тем не менее, OpenEdge ограничивает использование sysprogress.

Когда вы создаете базу данных с помощью команд PROCOPY или PRODB, новая база данных не содержит каких-либо записей в _User, а DBA устанавливается ID пользователя , создавшего базу данных. Этот человек может войти базу данных и используя оператор GRANT установить дополнительного SQL DBA, а также используя операторы CREATE USER и DROP USER, добавлять и удалять ID пользователей.


Таблицы ABL и SQL

Когда вы создаете базу данных с помощью PROCOPY или PRODB, ваш ID используется автоматически для определения вас как DBA, но только в том случае, если нет записей в таблице _User или DBA (кроме sysprogress) в исходной базе данных.

Поэтому, как создатель базы данных вы можете следующее:
  • использовать Data Dictionary для определения ID ABL DBA, с целью установки прав привилегий доступа.
  • войти базу данных и используя оператор GRANT установить дополнительного SQL DBA, а также используя операторы CREATE USER и DROP USER, добавлять и удалять ID пользователей.

Безопасность соединения

Безопасность соединения определяет что только авторизованные пользователи смогут подключиться к базе данных. Для обеспечения безопасного соединения, вам необходимо установить список пользователей, и назначить одного или более администраторов. Как только безопасность соединения будет установлена, пользователи не являющиеся администраторами будет ограничены в использовании меню Security, и смогут только изменять свой пароль и запускать отчет по пользователям.

Примечание: OpenEdge поддерживает возможность использования SSL (Secure Sockets Layer) для обеспечения безопасного соединения в клиент-серверных приложениях.


Определение списка пользователей.

Когда в первый раз определяется список пользователей, доступ к базе данных ни чем не ограничен. Тем не менее, как только определен администратор (DBA), только он сможет добавлять пользователей в список. Добавление пользователей происходит следующим образом:

1.    Зайдите в графическом режиме в Data Administration или, если вы работает в символьном режиме, используйте Data Dictionary. Выберите Admin -> Security->Edit User List. Edit User List откроет диалоговое окно.
2.    Нажмите кнопку Add, будет открыто диалоговое окно Add User.

Внимание: Помните, что ID пользователя и его имя не чувствительны к регистру, а пароль чувствителен. Для отмены ввода, вы в любое время можете нажать кнопку Cancel или клавишу END-ERROR.
3.    Введите ID пользователя
4.    Введите имя пользователя. Здесь вы можете вводить любой текст.
5.    Введите пароль и нажмите Ok. Вам будет предложено повторить пароль для проверки.
6.    Введите пароль повторно. Если пароль не будет соответствовать ранее введенному, пользователь не будет добавлен в список, в противном случае, в списке появится новая запись.
7.    Для добавления следующего пользователя, нажмите кнопку Add.

Примечание: нельзя изменить User ID и Password в Edit User List, там можно только добавлять пользователей. Тем не менее, вы можете изменить Логин  и пароль путем удаления записи и создания ее заново. Изменять без удаления можно только User Name.

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

Если пользователь забыл свой пароль, вы можете установить ему новый только удалив его записи из списка пользователей и создав ее заново.


Определение администратора безопасности

После того, как список пользователей определен, необходимо определить из них хотя бы одного администратора безопасности, а лучше нескольких. Администратор безопасности отвечает за обеспечение безопасности информации в базе данных. Обычно администратор базы данных одновременно является и администратором безопасности. OpenEdge позволяет определять администратора безопасности, только если вы подключились к базе не под пустым пользователем, или ваш ID указан в списке пользователей. Вы можете определить себя или других пользователей в качестве администратора безопасности.

Только администраторы безопасности могут иметь доступ к меню Security:
 
  • Edit User List
  • Change/Display Data Security
  • Security Administrators
  • Disallow Blank User Id Access

Остальные пользователи имеют доступ только к меню Change Your Password и Quick User Report. Определение администратора безопасности не ограничивает других пользователей в создании таблиц и полей в базе данных.

Определить администратора безопасности можно в диалоговом окне Security Administrator. Доступ к диалоговому окну можно получить по следующему пути: Admin -> Security-> Security Administrators, или выбрав CallAdmin из диалоговых окон Edit User List или Edit Data Security в символьном режиме.

Порядок ввода ID администратор безопасности:
1.    Выберите Admin -> Security -> Security Administrators. Появится диалоговое окно Security Administrators.
2.    Введите ID пользователя. Здесь вы можете ввести несколько ID пользователей, но вы должны обязательно добавить свой собственный ID. В противном случае вы получите сообщение:

You cannot change a security field to exclude yourself.

Для разделения ID используйте запятую «,». Если же вы используйте пробел в строке, все ID будут восприняты как часть одного ID.
3.    Когда ввод будет завершен, нажмите Ok. Вам будет предложено проверить введенные данные.
4.    Нажмите Yes для сохранения или No для возврата в диалоговое окно Security Administrators. Если вы выберите Yes, вы выйдете в основное меню, и указанные ID будут сохранены в базу данных.


Удаление пользователя

Только администратор безопасности может удалять пользователя из списка.

Для удаления нужно выполнить следующее:

1.    Выберите Admin -> Security -> Edit User List, из Data Administration, если используете графический интерфейс, или Data Dictionary – если символьный. Откроется диалоговое окно Edit User.
2.    Выберите пользователя для удаления и нажмите Delete. Вам будет задан вопрос о подтверждении удаления. Так же вы не сможете удалить свою собственную запись, пока все остальные записи не будут удалены.
3.    Проверьте, что запись была удалена.

Если вы удалите всех пользователей из списка, вам будет задан вопрос о необходимости удалить все ограничения безопасности для базы данных. Если вы выберите удаление, все пользователи, подключающиеся к базе данных, получат права администратора безопасности. Если выберите NO, вы должны добавить одного или несколько пользователей в список пользователей, прежде чем выйдите в основное меню.


Изменение пароля

Для изменения своего пароля, пользователю не нужно привилегий администратора безопасности. Для этого он должен сделать следующее:
 
1.    выбрать Admin -> Security -> Change Your Password. Будет выдано предупреждение о смене пароля.
2.    ввести новый пароль, помня, что пароль чувствителен к регистру, и повторить ввод для проверки.

Администратор безопасности может сменить пароль пользователю только удалив его запись из списка пользователей и создав ее заново.

Внимание: Не пытайтесь обойти Data Dictionary или Data Administration с целью изменить пароль. Ваш ID может заблокироваться в базе.


Безопасность схемы базы данных

Безопасность схемы гарантирует, что только авторизованные пользователи могут изменять таблицы, поля и индексы базы данных. Для установления безопасности схемы, используйте утилиту Data Dictionary Freeze/Unfreeze для блокировки или заморозки описания таблиц, полей и индексов в базе данных, чтобы не авторизованные пользователи не могли выполнять любые изменения их. Изменение схемы приводит изменению временных меток или CRC (Cyclic Redundancy Check), тем самым делая не возможным работы всех процедур, ссылающихся на базу. После того как схема базы будет заморожена, ни один пользователь не сможет внести изменения в нее.

Вы можете разморозить замороженную таблицу для внесения изменений, таких как добавление или удаление полей, индексов или изменения их описания.

Для замораживания и размораживания таблицы сделайте следующее:
 
1.    Выберите Utilities -> Freeze/Unfreeze, появится список таблиц определенных в базе данных, отсортированный в алфавитном порядке.
2.    Выберите необходимую таблицу в диалоговом окне Freeze/Unfreeze Table.
3.    Определите статус таблицы и нажмите Ok.

Как администратор безопасности, вы можете определять пользователей, которым разрешено замораживать и размораживать таблицы базы данных. Для этого пользователь должен иметь доступ на can-write таблицы _File и can-write на поле _File_Frozen.


Безопасность базы на уровне операционной системы

Каждая операционная система обеспечивает необходимые меры безопасности, которые можно использовать для защиты базы данных.

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

Защита файлов базы данных, с использованием операционной системы, запрещает доступ пользователю к базе данных вне приложения ABL, или с помощью оператора CONNECT из ABL сессии, но это не мешает ему запускать сеансы ABL во многопользовательском или однопользовательском режимах.

Для того чтобы защитить файлы базы данных, создайте ее под конкретным ID и установите права на файлы следующей Unix командой:

chmod 600 db-name

Эта команда гарантирует, что только владелец базы данных может непосредственно иметь доступ к ней.





Главная |  Статьи |  Книги |  Гостевая |  Ссылки |  От автора |  Download ProKb


������ ᠩ� pr Online ProKB Blogger Welcome to Russian Progress Users Group at Facebook Welcome to Russian Progress Users Group at LinkedIn
© 2009 - 2011 Все права на материалы, находящиеся на сайте www.openedge.ru, охраняются в соответствии с законодательством РФ, в том числе, об авторском праве и смежных правах.
При любом использовании материалов сайта ссылка на источник обязательна.