Сегодня я разберу для себя, как имея только бекап базы данных 1С получить полный доступ к данным не имея Административного доступа при подключении клиентом 1С к базе. Раз данная заметка получилfсь, то напрашивается вывод, что сервер базы данных и разворачиваемые на нем базы нужно защищать шифрованием. Об этом я поговорю с самим собой в рамках новой заметки которую я опубликую на блоге → www.ekzorchik.ru. Данная задача случается обычно, когда контору обслуживали бездари, а по приходу Вам ничего не выдали (Адреса,Логины и пароли, договора, структура сети), только слова напутствия: «Удачи!!!» или тут все просто.
В наличие:
- Server 2008 R2 SP1 Enterprise
- RAM = 8Gb
- CPU = 2, Cores = 2
- HDD = 50Gb (System), 100GB — Data (DATA,LOG,BACKUP)
- SQL Server 2014 (12.0.5000.0) установлен с использование двух пакетов:
- SQLServer2014SP1-FullSlipstream-x64-ENU
- SQLServer2014SP2-FullSlipstream-x64-ENU
и база от редакции 1С: 8.2.19.121
и кластер 1С под эту редакцию 1С.
Схема:
Пользователь → Кластер 1С → SQL Server 2014 SP2
Но вот беда, Вы как приходящий администратор оказываетесь перед окном авторизации 1С, но никто не знает административного пароля, а если еще честнее то его никто из сотрудников не знал. Приходил какой-то и что-то делал по принципу задача/деньги и уходил. Вот это сейчас я и исправлю:
Запускаем оснастку SQL Server Management Studio (SQL Server 12.0.5000.0)
Start — All Programs — Microsoft SQL Server 2014 — SQL Server 2014 Management Studio, авторизуюсь:
SRV-DATABASE (SQL Server 12.0.5000.0 — SRV-DATABASE\Administrator) — Databases — AvtoCar — Tables — dbo.Tables, открываю через правый клик по ней выбрав меню: Select Top 1000 Rows (Отобразить 1000 популярных строк) и в выводе находим строку с именем: users.usr и удаляем, удобнее делать через запрос:
SQL Management Studio → File — New — Query with Current Connection
use AvtoCar;
delete from dbo.params where FileName = 'users.usr';
А после нажимаем на Execute.
Результат запроса: (1 row(s) affected)
Пробую зайти в конфигуратор указав настройки подключения к базе 1С через на кластере 1С, но увы не прокатило:
- Пользователь: Администратор
- Пароль: ничего не указываю
Нажимаю: OK, но получаю:
Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя
Ладно, тогда удалю таблицу dbo.v8users
use AvtoCar;
drop table dbo.v8users;
Положительный ответ от данного запроса должен быть следующим:
Command(s) completed successfully.
После запускаю клиент 1С и захожу в «Конфигуратор»:
Start — 1C Предприятие 8.2 — Дополнительно — 8.2.19.121 — Конфигуратор — выбираю базу и нажимаю «Конфигуратор», в момент авторизации соглашаюсь, что Пользователь: «Администратор», а в поле «Пароль» ничего не ввожу и нажимаю «OK».
И вот я внутри:
Т.к. сейчас нет пользователей, а посмотреть это можно перейдя: Администрирование — Пользователи
Можно пересоздать всех пользователей и уже начать настраивать платформу 1С под нужды компании, а не того что было раньше. Всегда напрашивается вопрос, как же те что до меня системные администраторы могут себе такое позволять работая в данной сфере оставляя после себя хаос и не доделывая все на них возложенное чтобы инфраструктура работала на все 100%. Я же так не могу.
Так я зашел в конфигуратор, но теперь нужно в саму 1С Предприятие.
Итог, сброс всех настроенных паролей успешно осуществлен и пора наводить порядок. Вот сейчас у меня на контроле все что делается в сети, все работает без сбоев и нареканий от сотрудников других отделов, за исключением факта ухода от своего почтового сервера, а вместо этого их сейчас два, ухода от собственной АТС в пользу облачной (но момент возврата уже близок). А пока я прощаюсь, на этом всё, с уважением автор блога Олло Александр aka ekzorchik.