Pull to refresh

Comments 73

да, способ работает. Но не в случае использования в 1с метода авторизации средствами операционной системы.

Так что рекомендуем переходить на него.
Я знал что я не просто так не люблю 1С.
Раньше объяснял свою нелюбовь к 1С их русским «языком программирования», теперь еще пунктик появится :)
в 1С можно и английским «языком программирования» писать :)
Много видели решений, написанных в 1С на английском?
а вы писатель или читатель? :)
И то, и другое…
И знаете, не встречал ещё конфигураций, написанных на английском… По двум причинам: первая — в 1С пишут на русском и они задали такой стиль всем… Отсюда вторая причина — все 1С-программисты пишут на русском, потому что все типовые решения, шаблоны даны на русском, потому что 1С-программисты умеют писать только на русском, и не будут (не смогут) заниматься поддержкой англоязычных решений…
Ориентированные на запад написаны на английском, например рарусовский «бизнес сюит» код на английском, интерфейс на русском, английском, немецком.
И вообще есть обработка которая может весь код в инглишь перегнать и обратно, дерзайте =))).
писать-то можно, но постоянно переключать раскладки надоедает, а переключать приходится, потому что все бухгалтерские функции названы по русски
Вы ошибаетесь, изначально ВСЕ функции на английском, а затем переведены на русский, в итоге это выливается в то, что в при просмотре отладчиком некоторые объекты, их свойства прописаны на английском.
Все верно, работает метод при отключенной галке «Аутентификация операционной системы», с которой, по собственному опыту скажу, работают не так часто.
Ужас, конечно
Меня успокаивает то, что я не имею ни малейшего отношения к продукции 1С и что из под непривелигированого пользователя нельзя посмотреть на запущенные процессы другого (в task manager — точно нельзя)
Вы еще 7.7 не видели :)
а что в 7.7, поделитесь?
1. в DBF версии пользователи хранятся в файле, подменить который можно на свой, заново созданный;
2. пароль на конфигуратор меняется изменением пары строчек в hex-редакторе;
+ Еще многое, которое уже, слава Богу, забывается.
> Для меня стало откровением то, что запуская 1С без таких параметров командной строки как логин и пароль, текущий > процесс запускает новый с авторизационными параметрами командной строки, а потом уже завершает себя.
А вы запускали 8.2 через программу-стартер (которая как раз завершает процесс и запускает новый) или непосредственно через exe-шник 1с-ки?
При запуске 1С 8.2 через программу-стартер происходит на один этап создания нового опроцесса и завершение самого себя больше: процесс стартера создает новый процесс в зависимости от версии, указанной в настройках ИБ, а последний уже стартует процесс с коммандной строкой с параметрами авторизации.
Фейл.
По хорошему они должны были бы в командной строке передавать хэш от пароля, не больше.
по хорошему они вообще не должны ни в каком виде передавать пароль через командную строку.
По хешу в наше время найти пароль часто не составляет большого труда. Передавать данные об аутентификации через командную строку они чисто впринципе не должны!
М? SHA-2 давно вскрывать научились?
Это все-равно плохо. Пароли в файле хранить надобно, уже 100 лет как придумали
Перенесите, пожалуйста, у меня нет такой возможности
Не не, я при всем желании не смогу))) Написал в личку.
В крупных компаниях используют доменную авторизацию, так ни пароль ни логин не светится
Кстати версии 7.7 топик так же касается
точно та же фигня в официальном клиенте для биржи РТС.
похоже, никого это не волнует.
Не волнует до появления новостей типа: «Взломаны сотни тысяч аккаунтов..., по предварительным данным нанесен ущерб в размере ...»
Нет, даже так не волнует =(

Тогда была волна негодования что взломали альтернативную систему, Квик, и увели кучу денег.
Я даже написал в РТС по поводу этого бага (проявляется, как помню, при обновлении софта с перезагрузкой приложения, т.е. не каждый день), но их это не сильно удивило.
UFO just landed and posted this here
Что интересно, конфигуратор запускается без этих параметров.
А вообще, конечно, бред.
black magic — волшебным образом отправилось раньше времени
Вот уж дыра так дыра…

оффтоп: «Вид» -> «Выбрать столбцы…» -> «Командная строка» в диспетчере — не знал, спасибо отдельное :)
Ребята из 1С похоже решили не менять традиции и корпоративный стиль программирования фирмы. Печально всё это, была надежда, что хоть в новых версиях будет меньше откровенной лажи.
если у вас на терминальном сервере любой встречный-поперечный может нажать на кнопку «Отображать процессы всех пользователей» в Диспетчере задач, то это уже само по себе та еще дыра.
Вопрос встречности-поперечности прав на сервере тема не этого топика. А теперь пример из жизни: идет проект, вы работаете в терминале у клиента, у которго есть свой программер с правами админа. Далее могу не продолжать…
вы работаете над проектом на «боевом» сервере?
От того «боевой» сервер или нет суть не меняется! Или не так?
Учитывая дыру в userlevel, на вашем сервере это сделает любой встречный-поперечный :)
т.к. давно знаком с 1С, могу сказать, что вопросы безопасности в системе 1С достаточно компромисные:
1. таблицы на SQL сервере хранятся в незашифрованном виде
2. имея файл выгрузки (а бэкапы обычно делаются либо средствами SQL (см.п. 1), либо в файл .dt) можно удалить из него таблицу пользователей и зайти с полными правами
3. пароли к базе хранятся в нижнем регистре, что упрощает возможность подбора

с другой стороны при грамотной настройке — когда:
1. прав на доступ к SQL серверу, и файлам выгрузки нет
2. аутентификация через AD
вероятность проблем достаточно низка
Согласитесь: удаление записей таблицы с паролями не равносильно владению ими.
Согласен, я так понимаю загрузчик конфигурации который стартует первым — после выбора базу запускает консольной командой основной исполняемый файл, в духе nix систем, т.к. загрузчик не связан с самой платформой — данные передаются в явном виде. Хотя что делать из «простого» — не представляю. Наверное можно при старте системы добавить ещё один промежуточный загрузчик, который бы перехватывал пароль и сохранял его в зашифрованном виде, но это уже технологически не элегантно. Наверное вопрос к Microsoft, как «скрывать» параметры запуска из программы.
Не поленился и на подобном конфиге протестировал 1с 7.7 8.1 8.2 с тестовыми базами с тестовыми пользователями. В диспетчере задач в указанном вами параметре дальше /enterprice пустота; )

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

Параметры запуска в режиме Предприятия или Конфигуратора
Параметр Описание

/@<ИмяФайла> Путь к файлу с параметрами командной строки.
/F<ПутьИБ> Путь к файловой информационной базе (исключая имя файла).
/S<ИмяКомпьютера\ИмяИБ> Адрес информационной базы на сервере 1С: Предприятия.
/N<ИмяПользователя> Имя пользователя, как оно задано в Конфигураторе.
/P<ПарольПользователя> Пароль пользователя, как он задан в Конфигураторе. Необязательный параметр.

Если у вас используется такой способ запуска, — это плохо; )
я так понял это особенность именно терминального сервера
я и тестировал в терминале. и тут как бы различий нет. тоже самое можно увидеть и на 2003/xp используя к примеру processexplorer
В том и дело, что это касается запуска без указания параметров командной строки. Речь о ярлыке на запуск 1С, в котором указаны параметры соединения с ИБ не идет.
А я с такими ключами запускаю еженощную выгрузку базы )
А о чем идет речь? В какой момент начинается передача строковых параметров?
У вас особый стартер?
Вы запускаете или с готового ярлыка, где требуется авторизация, если аутентификация не-windows
Или со стартера со списком баз, где опять же требуется авторизация, ибо формы ввода пароля в стартере опять же нет.

Я моделировал обе ситуации.

Можно пример ярлыка или там видео в личку. Буду премного благодарен
Вот такой путь к стартеру 8.2 у ярлыка: «C:\Program Files\1cv82\common\1cestart.exe».
Галка «Аутентификация операционной системы» у пользователя, под которым происходит аворизация, не взведена.


Первый сверху — Запускал со общего стартера 8.2 базу 8.1
Второй — запуск ярлыка с заданными параметрами
Третий — запуск без стартера.
Попробуй первый и третий варианты под новым виндовым пользователем в терминале. А под старым пользователем посмотри на результат. Я так делал и на 8.2 со стратером и на 8.1 запуском обычного ярлыка.
пробовал. и в общем то результат был ожидаем — тишь и гладь и ни одного упоминания о паролях.

меня больше интересует как вы все-таки запускаете 1С.

Прямо тайна покрытая мраком. Доберусь до работы в понедельник сделаю видео и ссылки предоставлю.

С явно заданными параметрами у нас работает автоматическая выгрузка из 7.7 в 8.1.

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

Я к чему — то что вы описали весьма сомнительно. Я не защищаю 1с, но и беспочвенно одним скриншотом всю их работу считать недобросовестной считаю неправильно.
нет слов — Process Explorer v12.03, Win2K3 EE R2 + terminal, 1C 8.2 — видно и пользователя и пароль
и теперь главный вопрос — как это скрыть?
На данный момент использовать аутентификацию ОС
Не понимаю — в чем проблема?
Отобразить процессы всех пользователей может только администратор сервера. Пароли и логины чаще всего назначаются тем же администратором, а пользователи, либо помнят эти пароли, либо записывают на листочке (круто, да?)
Как по мне — это не дыра. Если найдется «левый» человек, который сможет без труда попасть на «боевой» сервер с на борту 1С и отобразить процессы всех юзеров в системе через task manager, то о какой защите информации может идти речь?
не вижу смысла в подглядывании паролей 1С.
Меньше знаешь, крепче спишь.
Из под Citrix без труда запускается диспечер задач из под любого пользователя (не имеющих админских прав), нужно всего навсего зажать пару клавиш (кто в теме тот знает) :)
1) 3,14ЗДЕЦ
2) это все херня в сравнении как «ВЗЛОМ паролец 77»
3) взлом 1с-ки такого рода доступен админу… АДМИНЫ, вы что пароли итак не знали ???? или вы всем юзерам РДП выдаете права на просмотр чужих процессов

4) я уж обрадовался что кто-то смог ломануть 8-ку на предмет получения пароля юзеров при воровстве дампа…
Я не удивлен. А еще она намертво падает (в отличии от семерки, которую можно было просто зайдя в монопольном режиме восстановить). Деградация даже как бы.
8.1.11.67, "«C:\Program Files (x86)\1cv81\bin\1cv8.exe» enterprise" (без паролей)

вообще пора конечно отходить от практики терминал-серверов, это дурная привычка времен 7ки. теперь имеем более-менее клиент-серверную архитектуру, клиента можно пущать удаленно или даже в вебе для 8.2 а на сервер никого кроме админов терминалкой не пущать. но это конечно нисколько разрабов не оправдывает, даже более скажу — это ппц. у меня бы такой человек в тот же день собрал вещи и ушел пинком под зад.
Поправочка №1: через веб можно заходить не в 8.2, а в «управляемое приложение», которое может быть разработано под 8.2 (а может быть и не разработано и тогда логика не изменяется по сравнению с ранними версиями 8.*).

Поправочка №2: действительно клиент-серверные 8.* в отличии от 7.7 не гоняют по сетке всю базу, но при использовании слабых каналов связи терминальные сессии остаются предпочтительным решением для комфортной работы. А если у вас широкополосный выход в сеть, то можно даже напрямую с базой 7.7 через VPN работать и не чувствовать дискомфорта :)
1) ну если под 8.2 не юзать веб-приложения то зачем вообще 8.2? там же вроде как ни одна конфигурация от 8.1 не работает (ошибаюсь?)

2) тут могу слегка поспорить, всё-таки для 7.7 надо хотя бы диск подключать что уже напрягает. а 8.х пусть и гоняет по сути почти SQL по сети, но всё-таки и трафика меньше генерит и телодвижений меньше требует.
1) 8.2 — это продолжение развития линейки «1С: Предприятие», а развитие 8.1 остановилось на версии 8.1.15.14 от 30.10.2009. Все найденные баги будут исправлятся только в версии 8.2 (пока на 8.3 или 9.0 не перейдут), которая теперь является рабочей платформой.

Все типовые конфигурации уже давно переписаны под прямую работу на платформе 8.2. Для старых конфигураций предусмотрен режим совместимости с 8.1.

2) Вы просто привыкли работать с тем, что у вас было. В 7.7 тоже была SQL-версия, а для стабильной работы файловой версии 8-ки тоже желательно подключать сетевой диск (иначе возможны проблемы с сетевой авторизацией).
В принципе, не столь опасно для организаций, где 1С-ник и админ в одном лице. Иногда даже удобно.

Но вообще это очень странное решение — перезапускать приложение с параметрами, которые в нем же и выбраны…
infostart.ru/public/70631/

Приношу ТС извинения за ВСЕ колкости сказанные в хабрапочте. Как вы правильно заметили, пока не увидел…
Но увидел и свою неправоту признаю.
А на Linux-серверах 1С есть такое?
С Linux дел практически не имел и тут не скажу даже. Если под этой ОС также можно передавать данные в другой процесс посредством командной строки, то такой факт не исключен.
> А на Linux-серверах 1С есть такое?

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

Совершенно непонятно, зачем вообще пользоваться терминальным сервером и гонять картинку через сеть, когда в 1С сто лет в обед существует тонкий клиент. Дело то оказывается в том, что народ просто ленится писать в режиме тонкого клиента. Конечно, гораздо прощще написать на толстом, а потом возмущаться — система медленная, по сети еле ворочиется, надо что-то делать. Ну что-то, решений всего два — либо переделывать на тонкий клиент (а нечего было холявить при старте проекта) либо терминальный сервер. Чаще всего выбирают второе.

Сейчас проверил подключение в тонком клиенте на Linux сервер. Все чисто, пароли нигде не светятся.
Sign up to leave a comment.

Articles