Пароль 1

Ранее восстановление паролей в 1С пользователей в информационных базах требовало участия администратора, а в крайних случаях и непосредственно фирмы 1С, так как прямое вмешательство в базу нарушает лицензионную политику 1С. Можно представить, как это неудобно, если просто забыл пароль от 1С, и получил серьезные проблемы. Поэтому разработчики 1С позаботились о пользователях, добавив в функциональность платформы «1С:Предприятие» новую операцию по восстановлению пользовательских паролей файловых и серверных ИБ, которые позволяют сбросить пароль в 1С. При выполнении подобных операций нужно быть предельно внимательными и понимать всю ответственность за свои действия. Обязательно сделайте резервную копию базы перед тем, как осуществить сброс пароля администратора 1С.

Появилась возможность дополнить форму аутентификации вопросами «Забыли пароль?» и «Нужна помощь?», установив соответствующее отражение их в параметрах ИБ.

Рис.1 Новая форма

Что делать пользователю?

Если пользователь жмет на первый вопрос, происходит:

  • Проход по гиперссылке;
  • Формирование электронного письма с кодом восстановления пароля из типового сервиса 1С;
  • Передача электронного письма с кодом, но с той почты, адрес которой был задан администратором.

При первом варианте откроется страница браузера, которая даст возможность администратору или партнеру задать свои настройки для «поведения» при данной операции.

При втором – запускается типовой сервис 1С, который поможет восстановить доступ через указание e-mail адрес пользователя. Вариант отправки электронного письма, чтобы поменять пароль в 1С, через настраиваемый почтовый сервер, позволяет админу написать любой текст и выбрать любые настройки оформления отправки.

Рис.2 Укажите e-mail

При положительной проверке введенного адреса высылается код, и пользователь видит новшество – форму смены пароля.

Рис.3 Форма смены пароля

После введения и проверки присланного кода, можно будет изменить пароль доступа к 1С.

В «1С:Предприятие» встроена защита от попыток подбора кодов подтверждения, параметры этой защиты можно установить в параметрах ИБ.

При использовании OpenID-аутентификации сброс паролей в 1С будет произведен через провайдера, поскольку именно там процесс проверки подлинности. В этом случае, после того как удалось сменить пароль в 1С, случится переход в провайдерскую форму проверки подлинности.

Для тех, кто нажал «Нужна помощь?», админ может прописать сайт с подробными инструкциями, как восстановить пароль в 1С, и контактными данными на случай возникновения проблем.

Настройки проверки подлинности

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

В первом случае – в «Администрирование» нужно найти новый раздел по допнастройкам проверки.

Рис.4 Пункт в меню «Администрирование»

Здесь можно найти множество возможностей по настройке, в том числе для редактирования текста отправляемого электронного письма.

Рис.5 Дополнительные настройки проверки

Во втором случае – глобальный контекст встроенного языка получил новый объект ДополнительныеНастройкиАутентификации (AdditionalAuthenticationSettings).

Например:

   НастройкиВосстановленияПароля = Новый НастройкиВосстановленияПаролей();    НастройкиВосстановленияПароля.СпособВосстановленияПароля =    СпособВосстановленияПароляПользователяИнформационнойБазы.ПереходПоНавигационнойСсылке;    НастройкиВосстановленияПароля.ПользовательSMTP = «admin@1c.ru»;    НастройкиВосстановленияПароля.ПарольSMTP = «123»;    НастройкиВосстановленияПароля.ПортSMTP = 465;    НастройкиВосстановленияПароля.ИспользоватьSSL = Истина;    НастройкиВосстановленияПароля.ИмяОтправителя = «Администратор»;    НастройкиВосстановленияПароля.Заголовок = «Восстановление пароля»;    НастройкиВосстановленияПароля.ТекстСообщенияHTML = «Введите код   | &VerificationCode для сброса пароля.
«;    ДополнительныеНастройкиАутентификации.УстановитьНастройкиВосстановленияПароля( НастройкиВосстановленияПароля);

Результат применения такого кода – в возможностях корректировки пользователей ИБ появились новые поля.

Рис.6 Новые поля

Также во встроенном языке аналогичные параметры прибавлены в тип данных ПользовательИнформационнойБазы, то есть АдресЭлектроннойПочты и ЗапрещеноВосстанавливатьПароль.

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

Работа с файловой версией 1С 8.3

Основные действия мы будем производить с файлом формата 1CD из папки, где расположена информационная база. Существует два варианта убрать пароли для входа в 1С – HEX-редакторы и программа TOOL1CD. Программы эти можно без труда найти в интернете и большинство из них бесплатны.

В первом случае смысл заключается в отключении таблицы с пользователями, чтобы заставить 1С считать, что в ИБ их нет. После этого платформа запускает конфигурацию с правами администратора, и мы можем создать новых пользователей: открываем файл 1CD в установленном HEX-редакторе и через поиск ищем в формате Unicode «users.usr».

Рис.7 Unicode «users.usr»

В найденной строке найдем значение «09» и изменим число, расположенное левее, с «00» на «01». После этого, воспользовавшись поиском, находим строку «v8users» и меняем первую букву на любую другую. Делаем мы это, чтобы 1С не нашел эту строку и подумал, что в нашей базе нет ни одного пользователя. На этом работа с HEX-редактором закончена, но нам еще нужно воспользоваться утилитой «chdbfl.exe».

Рис.8 Утилита «chdbfl.exe»

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

Второй способ основан на том, чтобы именно изменить пароль у конкретного пользователя на пустой. Для этого открываем файл ИБ в программе TOOL1CD и в списке таблиц находим «V8USERS», где содержатся данные всех пользователей. Чтобы получить пароль в виде хеш-формата SHA-1, нажимаем на поле DATA строки конкретного пользователя и заменяем значение там на «2jmj7l5rSw0yVb/vlWAYkK/YBwk= «, означающее пустой пароль.

Рис.9 Изменить пароль у конкретного пользователя на пустой

С помощью кнопки «Записать» под табличной частью сохраняем данные поля в текстовый файл. В текстовом редакторе осуществляем замену и сохраняем файл, не меняя его наименования. Чтобы загрузить изменения, включаем режим редактирования таблицы с помощью кнопки слева над таблицей, и снизу появляется возможность «Прочитать из файла». После этого остается подтвердить изменения кнопкой с зеленой галкой. Снятие пароля в 1С успешно завершилось!

Рис.10 Снятие пароля в 1С Рис.11 Снятие пароля в 1С Рис.12 Снятие пароля в 1С

Если у вас остались вопросы по работе с файловой базой, обратитесь на нашу линию консультации 1С в Москве, мы с радостью вам поможем.

Работа с клиент-серверной 1С

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

  1. Запускаем утилиту для управления БД;
  2. Создаем запрос, в котором будем переименовывать таблицу v8users и файл users.usr, чтобы 1С не смогла их распознать. Вместо «DatabaseName» пропишем имя собственной базы

    USE GO EXEC sp_rename ‘v8users’, ‘v8users_tmp’ GO UPDATE SET = ‘users.usr_tmp’ WHERE = ’users.usr‘ GO

  3. Выполняем запрос кнопкой F5;
  4. Запускаем 1С. Если все сделали верно, 1С не спросит логина и пароля, а запустится сразу же с полными правами;
  5. Не закрывая конфигуратор, создаем еще один запрос в утилите управления БД. Его суть в возвращении таблицы пользователей

    USE GO DROP TABLE GO EXEC sp_rename ‘v8users_tmp’, ‘v8users’ GO UPDATE SET = ‘users.usr’ WHERE = ’users.usr_tmp‘ GO

  6. После очередного выполнения текста запроса возвращаемся в конфигуратор и создаем нового пользователя с правами администратора. Также можно просто изменить пароль у одного из действующих;
  7. Перезагружаем конфигуратор и входим под тем пользователем, которому назначили новый пароль.

После этих действий сброс пароля пользователя 1С 8.3 можно считать успешно выполненным. Помните, что каждая подобная операция – большой риск, так как администратор может ошибиться при написании запроса. При этом и 1С далеко не самая устойчивая система к внешним взаимодействиям. Поэтому обязательно заведите правило хранить пароли в надежном месте и пользуйтесь вышеприведенными алгоритмами в крайних случаях.

Если помимо сброса пароля у вас регулярно возникают вопросы, обратитесь к нашим специалистам. Мы с радостью проконсультируем вас, а также подберем для вас оптимальную цену на сопровождение 1С, ориентируясь на ваши индивидуальные задачи.

Обновлятор-1с. Решение проблем с com-библиотекой для внешнего подключения к базе. оглавление Как обновить базу на следующую редакцию?

Обновлятор-1с. Как указать администратора кластера для серверной базы?

Обновлятор >> Инструкции 2020-03-27T20:41:55+00:00

Если обновлятору не удаётся подключиться к кластеру 1с, то первое что нужно проверить — это правильность указания имени и пароля администратора кластера для этой базы.

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

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

Обратите внимание! Администратор кластера 1с — это не то же самое, что администратор самой базы (которого мы указываем в окне авторизации 1с).

Администратор кластера, это пользователь, указанный в оснастке сервера 1с в качестве администратора:

Чтобы указать данные администратора кластера выделим нужную базу в списке обновлятора и нажмём кнопку «Свойства базы»:

В открывшемся диалоге нажмём на ссылку кластера:

Далее откроем свойства кластера на изменения и укажем имя и пароль администратора кластера, а также откорректируем порт агента на сервере, если он нестандартный:

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Обновлятор >> Инструкции

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Обновлятор-1с. Решение проблем с com-библиотекой для внешнего подключения к базе. оглавление Как обновить базу на следующую редакцию?

1. Общая информация

Все мы знаем, что сами пароли пользователей в базе 1С не хранятся. Хранятся только некие «значения» этих паролей. Например, хранимое значение пароля «password» имеет вид «W6ph5Mm5Pz8GgiULbPgzG37mj9g=,ESu3kTBHkd3PaS4p/VzxSbNf6jc=». Сохранённые значения паролей можно получить через свойство СохраняемоеЗначениеПароля объекта ПользовательИнформационнойБазы:

СохраняемоеЗначение = ПользовательИнформационнойБазы.СохраняемоеЗначениеПароля;

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

Но это всё неинтересно, т.к. мы в этом случае обладаем административными правами и имеем доступ к базе. А что делать, если мы не можем войти в базу ни под каким пользователем ?

📌 Реклама

В статье http://infostart.ru/public/151254, ранее выложенной на Инфостарте, описан метод сброса списка пользователей для получения доступа в базу. Это отличный способ, известный уже довольно давно, но раньше приходилось всё делать руками в hex-редакторе. Автор статьи автоматизировал этот процесс и теперь стало довольно просто получить доступ к базе. Однако реально узнать пароль конкретного пользователя не получится. Поэтому я задался вопросом, а можно ли это сделать и насколько это реально ?

2. Получение хэша пароля

Не знаю, секрет это или не секрет, но пароль в 1С хранится в виде хэша, сформированного из строки пароля по алгоритму SHA-1 http://ru.wikipedia.org/wiki/SHA-1 и упакованного по алгоритму base64.

Т.о. хэш равен:

Хэш = СтрЗаменить(Base64Значение(Лев(СохраняемоеЗначение, Найти(СохраняемоеЗначение, «,») — 1)), » «, «»);

📌 Реклама

Следует отметить, что СохраняемоеЗначение — это строка, которая хранит в себе два значения: для пароля и для пароля в верхнем регистре, разделенные запятой. Поэтому для получения хэша нужно взять первую (левую) часть сохраняемого значения.

Всё хорошо, но откуда нам взять это сохраняемое значение ? Если права есть, то мы можем зайти в базу и получить его описанным выше способом. Если прав нет и доступа в базу вообще нет — есть замечательная утилита Tool_1CD http://infostart.ru/public/19633. С её помощью можно открыть файл *.1cd, затем открыть таблицу V8USERS, выбрать пользователя и посмотреть, что хранится в поле DATA. Помимо всего прочего в DATA хранится сохраняемое значение пароля. Оно то нам и нужно. Этот способ актуален для файлового варианта работы с базой.

Для клиент-серверного варианта вопрос получения содержимого поля DATA таблицы V8USERS остается пока открытым. Может кто-то подскажет, как извлечь оттуда данные ? В частности, можно воспользоваться выгрузкой базы в формате *.dt (архивная копия наверняка где-то завалялась, необязательно актуальная), чтобы получить *.1cd, а дальше действовать через утилиту Tool_1CD.

📌 Реклама

3. А что дальше ? Хэш — не пароль

Итак, мы имеем хэш пароля, сформированный по алгоритму SHA-1. А это уже что-то.

Известно, что в «обратную сторону» по хэшу SHA-1 получить пароль практически невозможно. Поэтому все (т.е. единственный на сейчас) методы восстановления пароля по хэшу сводятся к банальному брутфорсу (перебору). Суть перебора проста — формируем строку, получаем для неё хеш по нужному алгоритму, сравниваем полученный хэш с нашим искомым хэшем. Если хэши совпали — ура, пароль найден. Если нет — формируем следующую строку и ищем дальше. В общем случае мы перебираем все возможные комбинации символов, получаем для них хэши и сравниваем с нашим, пока нам не повезёт.

Скептики скажут, что для восстановления сложного пароля понадобится не одна сотня лет. Это так в общем случае, но есть несколько НО:

  • 1. Львиная доля пользователей баз 1С не заботится о сложности пароля и зачастую ограничивается только цифрами или несколькими буквами.
  • 2. Часто пароли всех пользователей, в том числе и админов, в базе имеют один и тот же вид. Например, только 5 цифр.
  • 3. Всегда можно узнать у какого-либо пользователя ИБ какого примерно вида были пароли. А это информация для маски перебора.
  • 4. Существует масса словарей и сервисов (сайтов) с уже готовыми комбинациями пароль = хэш. Т.е. достаточно ввести хэш и система по своей базе найдет соответствующий ему пароль.

Все это повышает вероятность получения пароля путем перебора. 📌 Реклама

В интернете существует множество утилит, позволяющих сформировать хэш SHA-1 по переданной строке. Также существуют утилиты по восстановлению пароля по хэшу методом перебора или по словарю, по различным маскам. Например, есть интернет-сервис, на котором хранится довольно большой словарь уже подобранных хэшей. Им можно воспользоваться здесь: http://www.md5decrypter.co.uk/sha1-decrypt.aspx.

Итак, что имеем в итоге 3-х пунктов:

  • 1. Узнаем сохранённое значение пароля для выбранного пользователя: либо из самой базы (если есть права), либо используя утилиту Tool_1CD (файловая база), либо вытягиваем данные из поля DATA таблицы V8USERS (клиент-сервер).
  • 2. Получаем хэш SHA-1 пароля из левой части сохранённого значения: обработка прилагается.
  • 3. Ищем пароль: формируем хэш строки, сравниваем с полученным хэшем (утилиты перебора по маске), либо интернет-сервисы с базами готовых словарей.

4. Много буковок, конкретные шаги по восстановлению пароля 📌 Реклама

4.1. Получаем сохранённое значение пароля нужного пользователя. Берем базу *.1cd (предварительно можно скопировать файл базы, чтобы не блокировать для работы других пользователей), открываем ее в Tool_1CD, выбираем нужного пользователя в таблице V8USERS и смотрим содержимое поля DATA. Копируем в буфер обмена нужный кусок строки.

4.2. Запускаем обработку получения хэша в любой базе на платформе 8.2 (я создал пустую базу). Обработка элементарная, поэтому ее легко можно сконвертировать под любую другую платформу при необходимости. Копипастим сюда сохранённое значение пароля (из п. 4.1), вводим нужную маску (рекомендуется, иначе состариться успеем) и нажимаем «Восстановить пароль».

При восстановлении пароля используется консольная утилита sha1.exe http://www.egoroff.spb.ru/opinions/26.html. Она позволяет как сформировать хэш SHA-1 по переданной строке, так и восстановить строку по словарю (маске). Обработка формирует хэш SHA-1 по переданному значению сохраненного пароля, затем формирует строку запуска утилиты sha1.exe и запускает её. Вобщем, кому интересно, код открыт, там всё просто. Файл sha1.exe должен лежать в одном каталоге с обработкой.

📌 Реклама

4.3. Перебор…

Видно, что для пароля от 0 до 6 символов и содержащий буквы и цифры перебор занимает ВСЕГО 12 минут. Сходил, кофе сделал, вернулся — пароль уже подобран !

4.4. Результат

К слову сказать, мой супер пароль был подобран за 3.5 минуты (6 символов, буквы и цифры)… Даже кофе не успел сделать. Вот такие результаты !

Параллельно решил проверить хэш на сайте: результат — мгновенное восстановление пароля ! Кстати на этом сайте хэши можно задать списком, т.е. восстановить пароли сразу всех пользователей базы.

5. Джентельменский набор

Отдельное спасибо авторам утилит Tool_1CD и sha1.exe ! 📌 Реклама

6. Подведем итоги

Как выяснилось, в большинстве случаев перебор паролей может дать быстрый результат. В наших реалиях при наличии различных дополнительных условий восстановление пароля пользователя 1С становится простой и решаемой задачей. Как показывает практика и мой личный опыт работы с клиентами, практически всегда пользователи ставят элементарные пароли на доступ в 1С. Бывает, конечно, когда сами админы ставят себе сложный пароль, но какой-нибудь главбух с полными правами при этом влепит себе дату рождения в качестве пароля и всё. Имеем сначала один пароль, потом все остальные. Вариантов использования масса. Причем представленный способ восстановления паролей гарантирует целостность и неизменность базы, т.е. нет изменений на физическом уровне.

Например, пароль, состоящий из:

  • 1. Только из цифр 0..9, длиной максимум 9 символов восстанавливается за максимум 6.5 минут.
  • 2. Только английских букв, длиной 7 символов — за максимум 44 минуты.
  • 3. Буквы и цифры, длиной 6 символов — максимум 12 минут.

Т.о. цифры вполне реальные и восстановление пароля становится простым делом техники. 📌 Реклама

Выводы делайте сами )

7. Причина публикации статьи

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