Your SlideShare is downloading. ×
  • Like
Firebird Security (in Russian) at Ansoft'2008 conference
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Firebird Security (in Russian) at Ansoft'2008 conference

  • 2,114 views
Published

Firebird Security (in Russian). Alex Peshkoff presentation at Ansoft conference in 2008. …

Firebird Security (in Russian). Alex Peshkoff presentation at Ansoft conference in 2008.
Covered history of security in Firebird and plans for 2.5 and 3.0 versions

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,114
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
16
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Использование Firebird под управлением ОС Linux. Безопасность и Firebird Александр Пешков (Firebird Foundation) peshkoff at mail.ru
  • 2. Использование Firebird под управлением ОС Linux
    • Исторический аспект - предшественники Firebird в течение долгого времени работали на Unix-подобных системах
    • 3. Изначально присущая Firebird масштабируемость
    • 4. Единый API, независимый от ОС
    • 5. Единый сетевой протокол
  • 6. Использование Firebird под управлением ОС Linux
    • Причины использования ОС Linux:
      • Использование возможностей Firebird, доступных только в Unix-системах (SHADOW в сети NFS)
      • 7. Достоинства, общие для всех программных продуктов с открытым кодом
      • 8. Лучшее сочетание с окружающей информационной структурой
      • 9. Надёжность
      • 10. Высокая скорость работы
      • 11. Финансовые соображения
  • 12. Использование Firebird под управлением ОС Linux
    • Расходы по использованию операционной системы:
      • Приобретение лицензионно чистой версии
      • 13. Установка и настройка
      • 14. Дальнейшее сопровождение
  • 15. Использование Firebird под управлением ОС Linux
    • Установка Firebird под Linux
      • Выбор архитектуры: Classic или SuperServer
      • 16. Использование пакетов, имеющихся в установленной версии Linux
      • 17. Использование бинарных пакетов на Sourceforge.net
      • 18. Использование исходных текстов и самостоятельная сборка бинарных файлов
  • 19. Использование Firebird под управлением ОС Linux
    • Особенности конфигурации
      • Русские имена файлов
      • 20. Чувствительность файлов конфигурации к регистру
      • 21. Связанные настройки inetd / xinetd для классик-сервера
      • 22. Ограничение несанкционированного доступа к Firebird
  • 23. Использование Firebird под управлением ОС Linux
    • Параметры файла конфигурации, специфические для Linux
      • BugcheckAbort – в том числе включает формирование дампов
      • 24. LockMemSize, EventMemSize – требуют более тщательной настройки для классик-сервера
      • 25. RemoteFileOpenAbility – возможность доступа к файлам на серверах NFS
  • 26. Использование Firebird под управлением ОС Linux
    • Параметры файла конфигурации, специфические для Linux (для версий ранее 2.5)
      • LockSemCount – количество семафоров для взаимодействия процессов между собой
      • 27. LockSignal – номер UNIX-сигнала, используемого для взаимодействия процессов между собой
  • 28. Безопасность и Firebird
    • Любая ошибка – нарушает нормальную работу, тем самым – вредит безопасности продукта
    • 29. Особенность ошибок, понимаемых под ошибками в безопасности вычислительной системы – допускают преднамеренное использование программного-аппаратного комплекса непредусмотренным образом
  • 30. Безопасность и Firebird
    • Начальные этапы развития InterBase – отсутствие современных требований к компьютерной безопасности (нет интернет, недостаточность аппаратных средств и другие причины)
    • 31. Порт для Windows 3.X
    • 32. Порт для Windows NT, сохранивший решения 3.X
    • 33. Нарушена архитектура OSRI
  • 34. OSRI (Open System Relational Interface) Провайдеры Yvalve Network listener Польз/программа (isql) Engine8_12 Engine13 Network redirector
  • 35. Развитие системы безопасности Firebird
    • 1.0 – 2002 год, исправлена уязвимость
      • “ politically correct”
    • 1.5 – 2004 год, исправлены уязвимости
      • Выполнение с правами root в linux (с рядом ограничений и в windows)
      • 36. Исполнение произвольного кода стандартными средствами SQL-сервера (External Table + UDF)
      • 37. Доступ к любой БД как к “сырому” файлу
      • 38. Ряд переполнений буферов
  • 39. Развитие системы безопасности Firebird
    • 2.0 – 2006 год, исправлены уязвимости
      • Возможность чтения хешей всех паролей из базы данных под любым логином
      • 40. Начата переработка кода с целью полностью устранить переполнения в строковых буферах
    • Новая возможность - изменение пользователем собственного пароля
  • 41. Развитие системы безопасности Firebird
    • 2.1 - в основном завершена борьба с переполнением буферов
    • 42. Новая возможность
      • Использование системы идентификации Windows для подключения к серверу Firebird (Trusted Authentication)
  • 43. Новое в системе безопас-ности в Firebird 2.5
    • Исправлены уязвимости
      • Атака на сервер с помощью больших пакетов со случайными данными снижала производительность сервера
      • 44. Использование длинного (более 32 символов) имени пользователя вызывало переполнение буфера
  • 45. Новое в системе безопас-ности в Firebird 2.5
    • Новые возможности
      • Возможность управления пользователями из языка SQL
      • 46. Новые возможности в операторах GRANT и REVOKE
      • 47. Системная роль RDB$ADMIN
      • 48. Управление отображением администраторов домена (windows) на роль RDB$ADMIN
  • 49. Новое в системе безопас-ности в Firebird 2.5
    • Возможность управления пользователями из языка SQL
    • CREATE USER name PASSWORD 'pw' FIRSTNAME 'first' MIDDLENAME 'middle' LASTNAME 'last'
    • 50. ALTER USER name PASSWORD 'pw' FIRSTNAME 'first' MIDDLENAME 'middle' LASTNAME 'last'
    • 51. DROP USER name
  • 52. Новое в системе безопас-ности в Firebird 2.5
    • Возможность управления пользователями из языка SQL
    • В версии 2.5 эти операторы всегда управляют пользователями в security2.fdb
    • 53. Alter User <Current_user> - доступно всем пользователям, остальные варианты – только SYSDBA
  • 54.
    • Новая возможность указывать GRANTED BY в операторах GRANT и REVOKE
      • Позволяет SYSDBA отменить права, данные другим пользователем
      • 55. Позволяет более точно отобразить права пользователей в SQL-скриптах
      • 56. Соотвествует стандартам языка SQL
    Новое в системе безопас-ности в Firebird 2.5
  • 57.
    • Пример использования GRANTED BY:
    sysdba: CREATE ROLE role1; GRANT role1 TO user1 WITH ADMIN OPTION; user1: GRANT role1 TO PUBLIC; sysdba: REVOKE role1 FROM PUBLIC GRANTED BY user1; Новое в системе безопас-ности в Firebird 2.5
  • 58.
    • Новая форма оператора REVOKE
    REVOKE ALL ON ALL FROM <user/role list>
      • Позволяет отменить все права, данные пользователю или роли
      • 59. Особенно удобно после удаления пользователя
    # gsec -del GUEST1 # isql employee SQL> REVOKE ALL ON ALL FROM GUEST1; Новое в системе безопас-ности в Firebird 2.5
  • 60. Новое в системе безопас-ности в Firebird 2.5
    • Системная роль RDB$ADMIN
    • GRANT “RDB$ADMIN” TO GUEST1
      • При подключении к этой базе данных с ролью RDB$ADMIN пользователь GUEST1 получает полные права администратора базы данных (SYSDBA)
    • REVOKE “RDB$ADMIN” FROM GUEST1
  • 61. Новое в системе безопас-ности в Firebird 2.5
    • Управление отображением администраторов домена на роль RDB$ADMIN
    • ALTER ROLE RDB$ADMIN SET / DROP AUTO ADMIN MAPPING
      • Это усеченная версия планируемой в Firebird 3 команды по настройке отображения объектов операционной системы (пользователи, группы) на объекты базы данных (пользователи, роли)
  • 62. Архитектура безопасности в Firebird 3.Х (план)
    • Настройка используемой для иденти-фикации базы данных (или самой себя)
    • 63. Использование плагинов для иденти-фикации пользователей
    • 64. Настройка отображения любых объектов ОС на роли и пользователей базы данных
  • 65. Архитектура безопасности в Firebird 3.Х (план)
    • Настройка используемой для идентификации базы данных в файле конфигурации
    <database alias1> FileName = $(root)/db/data1.fdb Security = $(root)/db/secure.fdb </database> <database inside> FileName = /raid/data.fdb Security = self </database> <database *> FileName = $(arg0) Security = $(root)/security2.fdb </database>
  • 66. Архитектура безопасности в Firebird 3.Х (план)
    • Использование плагинов для иденти-фикации пользователей
    • Trusted authentication из 2.1
    • 67. Trusted на основе совпадения пары ключей: public – в базе данных, private – у клиента или другого сервера
    • 68. Проверка пароля в LDAP, PAM и т.п.
    • 69. Неограниченная длина пароля
    • 70. Использование CHAP
  • 71. Архитектура безопасности в Firebird 3.Х (план)
    • Настройка отображения любых объектов ОС на роли и пользователей базы данных
    • Настройка из SQL
      • ALTER ROLE name ADD OS_NAME 'os_name'
      • 72. ALTER USER name ADD OS_NAME 'os_name'
      • 73. ALTER ROLE name DROP OS_NAME 'os_name'
      • 74. ALTER USER name DROP OS_NAME 'os_name'
  • 75. Спасибо за внимание!
      www.firebirdsql.org