Microsoft Access — бездарная и убогая поделка. Только полный идиот или крайне наглый маркетоид мог осмелиться назвать это "серьезным решением корпоративного уровня". А если человек в резюме пишет аццесс в секцию "базы данных", то я лично буду против такого "коллеги". Ибо аццесс для корпоративного применения непригоден абсолютно, а его наличие где-либо свидетельствует лишь о полном бардаке в ИТ.
Проведем простой эксперимент. (я использовал версии 97 и 2003, но полагаю, что в 2007 не сильно поменялось).
Создадим две базы данных, в каждой БД создадим по одной таблице, и каждую БД закроем паролем.
db1.mdb # первый файл
-- password1 # пароль на первый файл
-- table1 # обычная таблица (структура и данные не важны)
db2.mdb # второй файл
-- password2 # пароль на второй файл
-- table2 # обычная таблица (структура и данные не важны)
Теперь через [Файл] — [Внешние данные] — [Связь с таблицами…]
в каждую из баз прилинкуем таблицу из соседней. Получится нечто следующее :
db1.mdb # первый файл
-- password1 # пароль на первый файл
-- table1 # обычная таблица
-- => table2 # линкованная таблица из db2.mdb
db2.mdb # второй файл
-- password2 # пароль на второй файл
-- table2 # обычная таблица
-- => table1 # линкованная таблица из db1.mdb
При линковке будет запрошен пароль на подключаемую БД.
Теперь откроем db1.mdb (введем пароль password1), и сразу попробуем двойным щелчком открыть прилинкованную таблицу table2.
Она откроется без малейших вопросов, хотя на соседнюю базу пароль был другой. Следовательно, пароль хранится внутри базы с использованием обратимого шифрования (ха-ха, я оптимист). Файл db2.mdb ведет себя аналогично.
Закроем этот уебищный аксекс и займемся собственно файлами.
Возьмем Advanced Office Password Recovery, и откроем с его помощью наши mdb-файлы. Правильно, вы не успеете даже отпустить левую кнопку мыши, как пароль уже будет показан на экране. Длина в 9 символов не имеет никакого значения. Это вам не OpenOffice, где применяется настоящее шифрование на AES-256 (и где утеря пароля автоматом означает утерю данных), тут все гораздо проще. Теперь разберемся с оптимизмом. Допустим, что продукта от ElcomSoft у нас нету, или совесть не позволяет нам его скачать и крякнуть. Или техническими средствами запрещен запуск сторонних программ.
Ничего страшного ! Все уже есть в венде =).
Запустим MS Word, OpenOffice Writer или блокнот. Любой другой plian-text редактор также подойдет. Откроем наш файл db1.mdb как простой текст, кодировку укажем cp1251.
Теперь нажимаем [Ctrl]-[F], вводим туда pwd, нажимаем [Найти далее]. Выпадаем в глубокий ахуй, поскольку пароль от прилинкованной базы (password2) лежит ОТКРЫТЫМ_ТЕКСТОМ. Я не шучу ни разу.
Открыв второй файл тем же макаром, мы точно так же получим без проблем и пароль от первого (password1 из db2.mdb).
Выводы :
1. Парольная защита в Аццессе по прежнему отсутствует, шифрование и не вспоминали.
2. Наличие линкованных таблиц способно сделать даже это убогое подобие защиты полным фейком.
3. Если у нас для каждой из используемых баз есть хоть одна аццесовая ссылка на нее, то все пароли смотрятся Блокнотом.
4. Никакие групповые политики тут не помогут, поскольку без текстового редактора пользователь не сможет работать, а хранение пароля в открытом виде делает текстовый редактор хакерским инструментом. =)
5. Админам, которым аццесс достался в наследство, пароли с баз лучше снять вообще, усилив пароли на файловом сервере. Лучше уж вообще без пароля, чем с паролем, снимаемым ребенком дошкольного возраста. Также наличие такого "типа пароля" способно создать очень опасную иллюзию защищенности, хотя о защищенности тут говорить не приходится. Да и подсмотреть пароль становится гораздо легче.
6. Цена на MS Office Pro неадекватна. Мы платим приличные деньги, а получаем какую-то поделку.
В догонку — встроенное "типо шЫфрованиЁ" нихуя не помогает. Элкомсофтовская тулза по-прежнему снимает 9-и символьный пароль за доли секунды.