История одного взлома или проверьте вашу систему на безопасность

26.10.22

Администрирование - Информационная безопасность

От клиента клиенту, от одной системы к другой, мы вновь и вновь встречаем одни и те же проблемы и дыры в безопасности. На конференции Infostart Event 2021 Post-Apocalypse Виталий Онянов рассказал о базовых принципах безопасности информационных систем и представил чек-лист, с помощью которого вы сможете проверить свою систему на уязвимость.

Всем привет. Меня зовут Виталий Онянов, я работаю разработчиком 1С.

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

Если вам больше по душе видео формат, то вот видеоверсия этой статьи:

 

Ну а любителям текста добро пожаловать под кат. 

 

Итак, прежде всего давайте представим себе предполагаемую ИТ-инфраструктуру некоторого, такого среднестатистического, но довольно крупного производственного предприятия.

 

 

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

  • Есть главная база, предположим 1С:ERP, в которой ведется основной учет.

  • Есть какие-то Бухгалтерии, для ведения учета в организациях холдинга, не занимающихся основной деятельностью.

  • Есть конечно же ЗУП, куда ж без него, еще какие-то базы.

  • Пусть также имеется отдельный сервер для разработки и тестирования. Здесь расположены тестовые и разработочные базы.

  • Есть еще другие сервера под различные задачи.

  • Кроме того, есть отдельные терминальные сервера, на которых работают пользователи.

Для простоты будем считать, что сервера СУБД совмещены с кластером серверов 1С. Ну и все это, конечно же, расположено в одном домене.

Представим, что у нас начинается какой-то проект в ЗУПе, который будет выполнять сторонний разработчик или организация. На тестовом сервере выделяется отдельная база, которая является копий рабочей базы, выделяется некоторый терминальный сервер и туда приглашается внештатный специалист. Это даже не обязательно разработчик, это может быть внешний консультант, бухгалтер или аудитор, который делает какую-то работу. Как правило, в таких ситуациях пользователю сразу дают полные права в базе. Например для той же разработки. Но для усиления эффекта, давайте предположим, что в начале у нас и полных прав в базе нет.

 

И вот учетные данные для подключения попадают кому-то в третьи руки, и опытный специалист начинает попытки получить конфиденциальную информацию.

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

В данной конкретной ситуации этого можно было и не делать, т. к. мы знаем, что в ЗУПе эта роль так и называется - «ПолныеПрава». Но в незнакомых конфигурациях имеет смысл посмотреть на все роли.

Следующим шагом, опять же в привилегированном режиме, мы пытаемся установить себе эту роль. Записываем. Получаем сообщение об успехе.

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

Так, в тонком клиенте ничего не получилось, попробуем зайти базу в режиме толстого клиента и сразу в режиме обычных форм. Для этого устанавливаем специальный флаг запуска RunModeOrdinaryApplication в свойствах базы.

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

Перезаходим в базу и обнаруживаем, что у нас появились полные права.

Через конфигуратор или через ту же консоль кода снимаем у пользователя флаг «Защита от опасных действий» и далее мы можем делать в базе уже что хотим.

Итак, полные права в копии базы ЗУП мы получили.

Выводы:

Первое, конечно же, это

Необходимо категорически запретить использование внешних обработок.

Помимо того, что это большая дыра в безопасности, так это еще и не удобно. Если пользователи пользуются у вас внешними обработками, то вы никогда не знаете какой именно версией обработки пользуется конкретный пользователь, встает вопрос версионирования и параллельной разработки, ну и т. д.

Можно использовать БСП-ушную подсистему внешних отчетов и обработок, но лично я рекомендую, если включен режим редактирования конфигурации (а он как правило включен), встраивать все отчеты и обработки прямо в конфигурацию. На сложность обновления это не влияет, но сразу же проблемы версионирования и параллельной разработки решаются посредством хранилища. Можно настраивать права доступа. Их удобно переносить между базами и т. д.

Второй вывод, заключается в том, что

Необходимо запретить обычным пользователям все виды соединения с информационной базой кроме тонкого и веб-клиента.

Не всегда это возможно, например в типовой 1С:ERP предопределенные профили включают в себя возможность использования толстого клиента. Например, это связано с необходимостью использования конструктора компоновки данных в сценариях настройки ценообразования и бюджетирования. А учитывая, что реальные профили часто создаются копированием предопределенных, то это уязвимость распространяется и на всех пользователей. Когда создаете новый профиль, не забывайте об этой особенности.

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

Но мы нашли только имя пользователя. Где же взять пароль? Чтобы ответить на этот вопрос, давайте вспомним, как 1С хранит пароли пользователей:

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

  2. Вычисление хеш-функции производится по алгоритму SHA-1 – алгоритм хороший, надежный, известный.

  3. Зная хеш-функцию, невозможно назад восстановить прежний пароль. По крайней мере, это очень сложно сделать.

  4. Дальше все это еще дополнительно оборачивается в base64. И то, что получилось (обернутый хеш) хранится в самой базе данных в поле «СохраняемоеЗначениеПароля».

Нормальная и безопасная схема. Когда пользователь авторизуется, все это повторяется, хеш-функция по SHA-1 оборачивается в base64 и сравнивается – соответствует то, что получилось, тому что хранится в базе или нет. Если равно, то пользователь авторизируется.

Да, мы можем получить сохраняемое значение пароля, и преобразовав его из BASE64 получить и саму хеш-сумму.

Но по хеш-сумме нельзя получить изначальное значение. И это действительно так. Но дело в том, что в интернете есть базы уже рассчитанных хеш-сумм для наиболее вероятных значений, используемых в качестве паролей. Например, первый же сайт из поисковой выдачи яндекса предлагает доступ к базе с почти 5 триллионами (!) различных значений хеш-сумм, всего за 20 центов за расшифровку одного хеша, в самом дорогом тарифе.

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

Поэтому пароль Марии Ивановны без проблем поддается расшифровке. Очень похоже, что это день рождения ее ребенка. Подходит по дате. И правильно, какой еще может быть пароль и среднестатистического бухгалтера? Особенно, если вы при создании нового пользователя устанавливаете флаг «Потребовать установку пароля при входе». То что-то подобное, скорее всего, пользователь и задаст.

Ну и кроме того, не надо забывать и о том, для 1С существуют и программы по перебору паролей. Перебор паролей можно делать и по протоколу ТСР и по http. Ссылки специально приводить не буду, но знайте, что такие программы есть, более того они есть даже в открытом доступе. И есть словари для перебора, скажем так, адаптированные под русских пользователей.

Выводы:

Кажется, что правильным здесь будет правило «Использовать сложные пароли в 1С».Но вспоминаем про имеющиеся базы хеш-сумм и фиксируем правило:

Использовать доменную авторизацию.

Считается, что учетные записи Windows невозможно взломать, поэтому все вопросы безопасности мы отдаем на сторону контроллера домена.

Итак, пароль главного бухгалтера у нас есть. Далее берем какой-нибудь портабельный сканер портов и начинаем сканировать сеть, смотрим, что и где открыто. В частности, нас интересуют порты 1540, 2540 и т. д. То есть мы ищем агента сервера. Находим всех агентов 1С. Как правило, они не закрыты. Далее оглядываемся вокруг, находим на терминальном сервере консоль администрирования серверов 1С, подключаемся к найденным серверам и получаем список всех имеющихся в организации информационных баз 1С.

Ну а далее пробуем зайти во все найденные базы используя полученные в ЗУПе учетные данные. Таким образом, мы заходим в боевую базу ЗУП, в Бухгалтерии. Ну а в базу ERP, предположим, мы доступа не получили. Пусть это был не главный бухгалтер, а бухгалтер по зарплате.

Выводы:

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

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

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

Ну и раз уж мы затронули тему СОМ, то если уж вы задействуете COMConnector, то обязательно настраиваете права на его использование. Ниже показан скриншот неправильной настройки. Все пользователи могут использовать компоненту.

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

Поэтому добавим еще одно правило:

Ограничивайте доступ к COMConnector.

Настраивайте COM только тем в домене, кто его реально использует, в ком вы уверены. И выдавайте права только по распоряжению руководства. А лучше вообще от COM отказаться, а перейти на веб или HTTP-сервисы. Но я понимаю, что иногда бывает производственная необходимость использовать именно COM.

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

Кроме этого, часто бывает, что достаточно зайти в конфигуратор, поискать пароли в коде конфигурации. Это, конечно, смешно, но до сих пор очень много где встречается. Кто-то говорит: «Так исторически сложилось», а кто-то: «А что такого?». В БСП есть такая штука как «Безопасное хранилище паролей», где пароль нельзя извлечь, потому что часть хэша пароля хранится на клиенте. Но будем честны – разработчики не хотят разбираться, как это работает, просто закрывают пароль звездочками и считают, что он защищен. Но вы же знаете, что звездочки – это просто включенный режим пароля для поля ввода, а в базе данных лежит сам пароль.

Выполняя таким образом поиски находим, что база Бухгалтерия обменивается с базой ERP. И обмен происходит через веб-сервис и под конкретным пользователем. Поскольку обмен происходит через веб-сервис, то в данном случае не подходит доменная авторизация. Это, кстати, очень большой недостаток той же интеграции с 1С:Документооборот, т. к. нельзя авторизоваться в базе через веб-сервис пользователю с доменной авторизацией, потому как подключение происходит на сервере, а значит происходит оно под пользователем Windows, под которым запущен агент сервера 1С. Так что использовать авторизацию по паролю все же иногда приходится. Но а в данном конкретном случае мало того, что пароль оказался не очень сложным – его получилось определить, так еще и пользователь был с полными правами.

Таким образом мы получили полный доступ и в базу 1С:ERP.

Выводы:

Так как использовать авторизацию по паролю иногда все же приходится, то вместо правила «Использовать сложные пароли в 1С» добавляем

Использовать действительно сложные пароли в 1С, если невозможна доменная авторизация.

Для защиты себя, можете выставить примерно такие настройки в параметрах информационной базы.

Также, если пользователь вне домена, настройте для него двухфакторную авторизацию с подтверждением по СМС, 1С это умеет.

Так, но давайте предположим, что база 1С:ERP нам не поддалась и в этот раз. Где еще можно поискать данные для авторизации? Следующим объектом изучения будет тестовый сервер. Доступ у нас есть только на терминальный сервер. Но попробуем исследовать его через сам сервер 1С.

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

Но в данном случае этого не понадобилось. Разработчики в этой организации руками базы не обновляют, а используют специальные скрипты для деплоя. Внимание привлекла папка С:\Deploy, в которой обнаружились различные скрипты, в частности был скрипт для обновления продуктивной базы - deploy_work. В коде этого скрипта в явном виде обнаружился логин и пароль к базе данных – ему же нужно как-то обновлять боевую базу. Пусть не в скрипте, а рядом, в JSON-файлике с настройками.

Таким же образом можно проанализировать и продуктивный сервер. Рано и или поздно необходимые учетные данные все же будут найдены и мы получим полный доступ и в базу 1С:ERP.

Выводы:

Необходимо настроить профиль безопасности кластера серверов 1С.

Правда профили безопасности доступны только в КОРП функционале. Но и с обычной платформой можно ограничить каталог «видимости» сервера 1С. Читайте ИТС, также в этом мастер-классе от Антона Дорошкевича подробно разбирается данный вопрос безопасности.

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

Выводы:

Не стоит хранить пароли в открытом виде.

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

А если вы пускаете к себе внешних сотрудников, то желательно

Сделать отдельный терминальный доступ, изолированный от основной сети и домена.

Ну и это еще не все. Пусть на сервере 1С обнаружилась еще одна очень важная и очень секретная база. И никакими полученными раннее данными не удалось в ней авторизоваться. Пусть это будет какая-нибудь база по стратегическим планам развития компании, или там, по откатам партнерам, или еще с чем-нибудь, и туда имеет доступ только высшее руководство. Здесь можно отметить, что высшее руководство часто это первая группа нарушителей безопасности. Как правило, у них почему-то простые пароли, и им иногда бывает сложно навязать политику безопасности паролей. Но будем считать, что здесь с этим все нормально, пароль директора мы не знаем – стучимся в эту базу, не можем попасть. Что можно сделать?

Заходим в свойства любой другой информационной базы в консоли администрирования серверов и видим следующее:

Во первых видно, что в качестве СУБД используется MS SQL Server. Запомним это. Далее, видно, что авторизация на сервере происходит под отдельным специальным пользователе, имя которого мы теперь знаем. Вопрос в том, где достать пароль от этого пользователя.

Ну, к тому времени, мы должны были накопить уже достаточную базу логинов/паролей в этой организации. Пробуем все известные пароли. И с большой вероятностью, один из них подойдет. В частности, при анализе базы ERP, был найден пользователь с именем admin, пароль которого удалось расшифровать. Этот же пароль совершенно невообразимым образом подошел и для пользователя SQL.

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

Но представим, что подобрать пароль к пользователю SQL не удалось. Отмечу, что в файле списка кластера тоже лежит хеш этого пароля. К самому файлу 1CV8Clst.lst, к сожалению, у нас по умолчанию есть доступ через сам сервер 1С.

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

Пароль в файле лежит в зашифрованном виде. Но алгоритм шифрования известен. Более того, есть программы по расшифровке данных паролей. Причем, важно отметить, это не подбор, как в случае SHA-1, а именно расшифровка. Расшифровать можно любой пароль любой сложности. На картинке ниже сложный пароль, который без проблем поддался дешифровке.

Ну а дальше через ODBC-драйвер мы подключаемся к SQL-серверу. Может и Management Studio где найдется. И одним простым скриптом:

  1. Создаем новую базу на сервере

  2. Разворачиваем в нее копию той самой секретной базы

  3. Очищаем таблицу v8users

  4. И удаляем определенную строку в таблице Params

Все учетные данные 1С хранит в этих двух таблицах.

Теперь беспрепятственно входим в базу.

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

Вот таким образом, мы получили доступ ко всем 1С-ным базам в организации, помимо этого хакнули еще и сервер SQL, набрали приличную базу паролей и кто знает, до каких еще данных мы смогли бы дотянуться?

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

Выводы:

Не используйте одинаковые пароли.

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

Ну а как защититься от дешифровки пароля из файла с настройками кластера? Первое, что приходит на ум, это использовать доменную авторизацию с сервера 1С на MS SQL Server. В этом случае в файле будет храниться пустое значение. Но тут же появляется другая дыра в безопасности. Если есть доступ к внешним обработкам, а у полных прав, как мы увидели, он есть всегда, то появляется возможность с сервера подключиться к MS SQL через ODODB и, в общем-то, выполнить любой SQL-запрос.

Поэтому рекомендация у нас обратная:

НЕ использовать доменную авторизацию между сервером 1С и MS SQL Server.

И добавляем правило:

Ограничить доступ к файлу 1CV8Clst.lst.

Инструкция, как это сделать есть на ИТС и в книге «Руководство администратора клиент-серверный вариант». Коротко скажу, что делается это с помощью специально подготовленного файла swpuser.ini.

Ну и последнее. Не думайте, что ваши данные никому не нужны, что вас никто не хакнет и вообще это не про вас.

Думайте о безопасности, даже когда просто разворачивайте новую базу 1С.

У меня все! Спасибо, кто дочитал до конца. Еще раз список всех рекомендаций ниже:

  1. Запретить использование внешних обработок (и не использовать их в работе)

  2. Запретить все виды соединений кроме Тонкого клиента и/или Web-клиента

  3. Использовать доменную авторизацию

  4. Использовать действительно сложные пароли в 1С, если невозможна доменная авторизация

  5. Определить администраторов кластера серверов 1С

  6. Ограничить доступ к V83.COMConnector

  7. Настроить профиль безопасности кластера серверов 1С

  8. Не хранить пароли в открытом виде

  9. Настраивать права на критичные каталоги

  10. Изолировать внешних пользователей от основной сети

  11. Не использовать одинаковые пароли

  12. НЕ использовать доменную авторизацию сервера 1С на MS SQL Server

  13. Ограничить доступ к файлу 1CV8Clst.lst (swpuser.ini)

  14. Думать о безопасности

 

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2021 Post-Apocalypse.

 

30 мая - 1 июня 2024 года состоится конференция Анализ & Управление в ИТ-проектах, на которой прозвучит 130+ докладов.

Темы конференции:

  • Программная инженерия.
  • Инструментарий аналитика.
  • Решения 1С: архитектура, учет и кейсы автоматизации на 1С.
  • Управление проектом.
  • Управление продуктом.
  • Soft skills, управление командой проекта.

Конференция для аналитиков и руководителей проектов, а также других специалистов из мира 1С, которые занимаются системным и бизнес-анализом, работают с требованиями, управляют проектами и продуктами!

Подробнее о конференции.

 


См. также

AUTO VPN (portable)

Информационная безопасность Платные (руб)

Автоматизация подключения пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC и т.д.) подключения без ввода настроек пользователем (с возможностью скрытия этих настроек от пользователя). Программа автоматически выполняет подключение к VPN серверу и после успешного коннекта , если необходимо, подключение к серверу удаленных рабочих столов (RDP).

1200 руб.

24.03.2020    14400    22    32    

33

Настройка аутентификации в 1С с использованием стандарта RFC 7519 (JWT)

Информационная безопасность Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    2609    PROSTO-1C    9    

29

Device flow аутентификация, или туда и обратно

Информационная безопасность Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    1619    platonov.e    1    

23

Анализатор безопасности базы сервера 1С

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Продукты на основе решений 1С уверенной поступью захватывают рынок учётных систем в стране. Широкое распространение программ всегда порождает большой интерес к ним со стороны злоумышленников, а пользователь 1С это одна из дверей в защищённый информационный контур предприятия. Обработка позволяет быстро и комплексно оценить настройки безопасности конкретной базы и возможности пользователя этой базы на сервере. Также можно оценить некоторые аспекты сетевой безопасности предприятия со стороны сервера 1С.

5 стартмани

24.04.2023    5439    14    soulner    7    

29

Двухфакторная аутентификация в 1С через Telegram и Email

Информационная безопасность Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    5969    32    Silenser    12    

23

Бесшовная доменная аутентификация ОС при интеграции 1С:ERP и 1С:Документооборот

Информационная безопасность Платформа 1С v8.3 1С:Документооборот 1С:ERP Управление предприятием 2 Абонемент ($m)

Доменная аутентификация ОС при бесшовной интеграции 1С:Документооборот 8 КОРП, редакция 2.1 (2.1.29.18) и 1С:ERP Управление холдингом (3.1.7.4) (в клиент-серверном режиме).

1 стартмани

16.09.2022    3374    oleg21592    6    

19
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. m_aster 111 26.10.22 19:04 Сейчас в теме
Спасибо! Очень интересно и познавательно, несмотря на то, что много из данной статьи мне лично было известно и ранее.
Открытые пароли(я уж не говорю про тексты модулей) это то, от чего надо избавляться в первую очередь, тем более что в БСП все для этого есть.
И да, вопрос безопасности небанален, как как может показаться на первый взгляд.
Когда-то, лет 15 назад, читал западную статью о безопасности, о методах, которые используют конкуренты в поисках важной информации, вплоть до того, что лезут в мусор в надежде найти там смятый лист с важными данными и т.д.
Так что, все это реально серьезно, особенно в наше время, когда для пытливого ума многие "преграды" являются лишь тренировкой.
И вывод, который давался в этой статье был простым - какой бы сильной ни была защита, и программная, и аппаратная, главное слабое звено это человеческий фактор. Это надо всем понимать и помнить об этом.
Помню, лет семь назад свою недовольную начальницу, которая говорила, что мол из-за твоих COM'ов(с помощью которого обслуживалось около 350 баз)каждый раз надо вбивать пароль администратора кластера, и пароль администратора сервера в консоли(пароль кластера требовал, как минимум, COM для подключения).
А я отвечал, принцип прост(это, кстати, из той статьи о безопасности) - если тебе трудно зайти в консоль, значит это усложняет жизнь кому-то другому.
В одной компании видел, что все пользователи работают через WEB-клиент в браузере, это безопасность и удобство обновления платформы только на сервере.
Усложняйте жизнь кому-то другому, чтобы по максимуму обезопасить свою жизнь.
Jimbo; mrChOP93; Tavalik; support; +4 Ответить
3. papami 55 26.10.22 20:59 Сейчас в теме
(1)У расширений браузеров может быть полный доступ к содержимому. Так что не совсем все однозначно про WEB-клиент
12. Vlan 36 27.10.22 12:21 Сейчас в теме
(1) Лет 20 назад к нам пришел асфальтовый завод из США. Руководство пищало от восторга, предвкушая, насколько продумана и защищена тамошняя компьютерная система. От нечего делать залез в файлы и сразу же нашел один с загадочным названием Passwords. В нем были имена пользователей и конечно же абракадабра вместо паролей, но мы тоже не дураки. Зная свой пароль, я понял, что символы в явном виде, просто биты у них сдвинуты на одну позицию. Надо ли говорить, что после получения таких сведений наша выработка резко пошла вверх. :-)
AnKonAlm; Tavalik; +2 Ответить
14. m_aster 111 27.10.22 20:25 Сейчас в теме
(12)Вот он российский менталитет). Мол, раз из США, то все лучше, чем у нас)). Здесь они играют по нашим правилам и то, что они из США совсем не говорит, что у нас хуже. И у нас такого полно. Я же сказал, самое слабое звено - человеческий фактор. Интереснее как они у себя на родине хранят информацию. Надо избавляться от совкого представления(до сих пор себя ловлю на этой мысли прививаемой годами советского воспитания), что, мол, там другие люди. Да, нам в советское время, особенно это помнится в детстве, все время внушали, что там живут черствые, бессердечные люди, равнодушные к чужим проблемам, то ли дело в СССР)) Помню, в институте на политинформации один отслуживший рассказывал про загнивающий Запад и вещал, что Сталлоун(обычно Сталлоне) настолько перекачан гормонами, что моментально устает и толком не может быстро и долго двигаться, поэтому его движения снимали маленькими кусочками, потом склеивали в одно целое)). Да все у них так же и у нас может быть лучше, а, собственно, почему нет?
ZOMI; KilloN; +2 Ответить
2. blazevic 26.10.22 20:01 Сейчас в теме
Спасибо, отлично все показано и рассказано
Мне вот интересно, сколько наберётся админов, которые всё это (или большую часть) делают ДО "прецендента", а не ПОСЛЕ ? :-D
NeLenin; Jimbo; Tavalik; +3 Ответить
7. Vasvas05 22 27.10.22 08:06 Сейчас в теме
(2)
делают ДО "прецендента"

аутентификация по ad, запеты внешних обработок, роль на кластер - это базовые вещи, такие же как в компьютере у пользователя не права администратора.
Кто такое делает на больших проектах проф непригоден уже, может частная компания, где нет серверов еще можно объяснить отсутствия всех ограничений.
4. mkalimulin 1153 26.10.22 21:43 Сейчас в теме
Под номером 0 в списке я бы поставил правило:
"Обеспечить гарантированное обнаружение несанкционированного изменения данных"
Это не защитит от несанкционированного просмотра, но зато защитит от изменения. А последствия изменений обычно серьезней, чем последствия от просмотра
5. m_aster 111 27.10.22 02:21 Сейчас в теме
(3)Web-клиент при правильной организации даст увидеть Вам только то, что Вам можно увидеть. Конечно есть вопросы безопасности выполнения кода на клиенте, используемого протокола и т.д.(https://its.1c.ru/db/v8std/content/678/hdoc), об этом здесь сказано.
Насчет утечки через браузер того, к чему у клиента есть доступ конечно также нужно помнить и предпринимать необходимые шаги.
Здесь посмотрите: https://efsol.ru/articles/web-1s-secure.html (есть вещи, о которых здесь также сказано, просто по другому быть не может).
И какие расширения нужны для работы?
"Расширение для работы с 1С:Предприятием" и все. Никуда ходить вы больше не будете, что еще нужно?
Если и ходить, то только по работе, все остальное дома.
Работа с данными, в том числе через браузер, это вопрос регламента безопасности. Да так и должно быть.
В качестве браузера Edge с множеством настроек безопасности как "родной" от MS со всеми вытекающими(авторизация, проверка подлинности и т.д.).
10. papami 55 27.10.22 09:20 Сейчас в теме
(5) Я говорю про то, что в том же хроме расширение имеет полный доступ к содержимому браузера. Бух, сидя на удаленке, чтобы заходить в инсту поставит расширение для VPN или любое другое супер расширение. И там одному разработчику известно что внутри.
6. muskul 27.10.22 03:11 Сейчас в теме
Если у человека есть доступ к сети предприятия. я думаю 1с последнее чем будут пользоваться злодеи.
зы. тест гилева с именем gilev наверняка у многих так и лежит
8. Painted 49 27.10.22 08:39 Сейчас в теме
Чё-то не смог повторить действия автора.
Часть консолей под простым юзером не загрузилось, требует полные права. Какие-то консоли открылись, но в "ПривилегированныйРежим" не переходят. При этом пишут "Успех", но реально роль не добавляется.
У автора какая-то особенная консоль? Кто-то смог повторить взлом?
11. maksal 51 27.10.22 09:24 Сейчас в теме
(8) на выходных попробую
9. tormozit 7138 27.10.22 08:42 Сейчас в теме
"в режиме обычных форм" - нет такого режима. Есть режим обычного приложения.
Дмитрий74Чел; sapervodichka; +2 Ответить
13. TyurinArt 91 27.10.22 14:50 Сейчас в теме
(0) Можете дать рекомендации по защите паролей от сервисов ИТС, почты которые хранятся в "РегистрСведений.БезопасноеХранилищеДанных" в открытом виде?
15. m_aster 111 27.10.22 21:03 Сейчас в теме
(13)И где Вы там увидели открытое хранение?)) Посмотрите внимательнее на структуру реквизитов. Все как рекомендовано для безопасного хранения паролей на ИТС. Кстати, посмотрите как по этой рекомендации сохраняется пароль, например, от почтовой учетной записи(реквизит, обработчики).
16. TyurinArt 91 27.10.22 22:34 Сейчас в теме
(15)В ресурсе "Данные" с типом "ХранилищеЗначения", используем метод "Получить()", обходим полученную коллекцию, выводим ключ/значение = логин/пароль.
17. m_aster 111 28.10.22 11:44 Сейчас в теме
(16) Прочитайте рекомендации здесь:
https://its.1c.ru/db/v8std/content/740/hdoc
Обратите внимание на гарантии безопасности и можно ли их дать на 100%.
Обычная практика перед предоставлением доступа подписание человеком соглашения о неразглашении со всеми вытекающими.
18. mkalimulin 1153 28.10.22 13:10 Сейчас в теме
(17) От просмотра 100% гарантии нет. От изменения можно получить 100% гарантию
33. m_aster 111 28.10.22 18:10 Сейчас в теме
(18)Выше все уже сказано, просто решите для себя что такое конфиденциальность.
34. mkalimulin 1153 28.10.22 18:22 Сейчас в теме
(33) Есть информационная безопасность. Ее условно можно разделить на две области: защита от просмотра и защита от изменения. Защитить базу 1С от просмотра на 100% в принципе невозможно. Защитить от изменения можно на 100% при определенных усилиях
36. m_aster 111 28.10.22 18:55 Сейчас в теме
(34)Конечно есть, об этом и статья. Основной вопрос как ограничить просмотр конфиденциальной информации, доступной определенному кругу лиц и зачастую просто просмотра этой информации третьим лицам бывает достаточно(и почему нельзя ограничить просмотр? Доступ закрыли и все)). Шутка, конечно). Но также есть вероятность, что специалист с определенным набором инструментов и определенными знаниями получив доступ к просмотру данных найдет возможность и изменить их и не только их, т.е. получить полный доступ. Можно существенно усложнить ему жизнь, но нельзя быть спокойным на 100%, и это правильно, ни одна система не дает 100% гарантии. Про человеческий фактор я уже сказал выше.
37. mkalimulin 1153 28.10.22 19:40 Сейчас в теме
(36) Вы ошибаетесь. Можно получить 100% гарантию от изменения.
19. awk 741 28.10.22 14:51 Сейчас в теме
(0)
Пароль в файле лежит в зашифрованном виде. Но алгоритм шифрования известен. Более того, есть программы по расшифровке данных паролей. Причем, важно отметить, это не подбор, как в случае SHA-1, а именно расшифровка. Расшифровать можно любой пароль любой сложности. На картинке ниже сложный пароль, который без проблем поддался дешифровке.


Кому известен алгоритм? Что-то я не нашел на просторах интернета, ни алгоритма, ни ключа шифрования. Единственное, что понятно (с определенной долей вероятности) путем анализа файла, пароль в файле 1CV8Сlst - это base64 кодированные двоичные данные, зашифрованные 128 битным блочным алгоритмом.
20. mkalimulin 1153 28.10.22 15:01 Сейчас в теме
(19) А почему сейчас уже никто (кроме 1С) не хранит пароли? Почему хранение паролей считается моветоном?
21. awk 741 28.10.22 15:04 Сейчас в теме
(20) Вы подумали перед тем как написать?
22. mkalimulin 1153 28.10.22 15:06 Сейчас в теме
(21) Что вы хотите сказать?
23. awk 741 28.10.22 15:08 Сейчас в теме
(22) Вы в настройки браузера давно заглядывали?

А хочу сказать, что вы поторопились с заявлением.
24. mkalimulin 1153 28.10.22 15:14 Сейчас в теме
(23) Браузер - личное дело. Ни одна публичная система не хранит пароли.
25. awk 741 28.10.22 15:15 Сейчас в теме
(24) А операционная система - вещь общественная. Там то же хранятся пароли.
26. mkalimulin 1153 28.10.22 15:29 Сейчас в теме
(25) Что вы пытаетесь доказать? Что хранение паролей - дело обычное? Ну, может быть. Только от этого оно не становится правильным. Пароли должны храниться в голове или на бумажке. Только тогда они будут иметь смысл
27. awk 741 28.10.22 15:33 Сейчас в теме
(26) А бумажку к монитору прикрепить.

Что вы пытаетесь доказать?


Ничего, просто даю вашему таланту раскрыться во всей красе.
28. mkalimulin 1153 28.10.22 15:35 Сейчас в теме
(27) А бумажку носить в кармане и никому не показывать. Это если память слабая. А если с памятью все в порядке, тогда просто помнить
29. awk 741 28.10.22 15:43 Сейчас в теме
(28) А можно использовать одну бумажку, для всех паролей или для каждого пароля свою надо заводить? На память я не надеюсь. А то помнится еще в 2005 году (на конференции в СПб) Microsoft заявила, что пароли вещь не надежная.
30. mkalimulin 1153 28.10.22 15:46 Сейчас в теме
(29) Пароли - вещь надежная. Если они правильные, конечно. И хранятся правильно
31. awk 741 28.10.22 15:50 Сейчас в теме
(30) Нет. Простые - легко подбираются. Сложные - забываются и вынуждают пользователей хранить их не в голове, что делает их легкодоступными. Плюс, зачастую используется один пароль ко всем ресурсам. Таким образом, получение одного пароля, дает доступ ко множеству ресурсов. С начала века ведется поиск обхода данных проблем. Как варианты решения:
1. Двухфакторная авторизация
2. Использование биометрических данных
3. Использование доверенного посредника.
41. Tavalik 3352 01.11.22 16:26 Сейчас в теме
(19)

В интернете информации почти нет, да. Но кому надо, тот знает.

Посмотрите, например, вот этот доклад: https://youtu.be/eZNHimUJxTk

(и да, сервис, про которые рассказывается в докладке по ссылке уже недоступен, но, уверяю вас, он работал)
42. user825349 03.11.22 19:26 Сейчас в теме
(41)
А кому надо и не знает, что делать?
44. Munsters 13 08.11.22 16:36 Сейчас в теме
(41) Посмотрел это видео.. Оно шедеврально:
"мы нашли какое то ПО для брутфорса.. оно было дорогое.. и поэтому... мы создали своё! Бинго блин
там конечно надо библиотеку зарегить, ну да справитесь..
О! а поскольку в России свои пароли, то мы.... сделали свои словари для брутфорса 1С!" Еще Бинго!!
так и хочется сказать какие же вы, бл**, молодцы то. спасибо вам
Но при этом просят, если у кого есть конечно, скинуть спецификацию по обмену программой по TCP протоколу..
кхм.. да я даже знаю зачем она им )))))
и очень надеюсь, что она к ним не попадет

"А еще мы сделали онлайн сайт для расшифровки паролей"... Да ну епрст..
по итогу эти ребята сделали для вредительства больше, чем для защиты...
45. mkalimulin 1153 08.11.22 20:22 Сейчас в теме
(44) Как по вашему? Сайты для расшифровки паролей вредят или помогают?
43. Munsters 13 08.11.22 15:34 Сейчас в теме
впервые услышал и про расшифровку 1CV8Clst.lst и про "для 1С существуют и программы по перебору паролей". ощущение, что живу в информационном вакууме.
напишите хоть одно название брута и что за сайт / программа что расшифровывает 1CV8Clst.lst?
вроде гуглом пользоваться умею а ничего не нашел...
был ли мальчик?
32. kser87 2438 28.10.22 16:50 Сейчас в теме
Готова пошаговая инструкция для проверки безопасности системы. Спасибо.

Но тут отмечу, что это оптимистично. ресурсов не хватит:

Ну а дальше через ODBC-драйвер мы подключаемся к SQL-серверу. Может и Management Studio где найдется. И одним простым скриптом:

Создаем новую базу на сервере

Разворачиваем в нее копию той самой секретной базы

Очищаем таблицу v8users

И удаляем определенную строку в таблице Params
38. NeLenin 13 31.10.22 01:03 Сейчас в теме
Предположу, что хакеры этой статьей будут пользоваться чаще, чем админы.
39. mkalimulin 1153 31.10.22 07:42 Сейчас в теме
(38) Такие статьи нужны для того, чтобы побольше людей осознавали проблемы и начинали уже их решать
40. NeLenin 13 31.10.22 13:03 Сейчас в теме
(39) Лично мне статья определенно "зашла". Автору спасибо!
46. lada2011 06.02.23 14:33 Сейчас в теме
99,9 % всех взломов происходят изнутри компаний или воровства паролей ответственными за информационную безопасность.
Оставьте свое сообщение