Что с 1с случилось
Методика расследования причин медленной работы операции на примере открытия управляемой формы
Для начала необходимо убедиться, что проблема стабильно воспроизводится (в одинаковых условиях) и что все пункты с описанием применения методики выполнены. Для этого можно сделать следующее:
Сбор и анализ стандартных данных
Разберем пример для операции открытия формы документа "Табель учёта рабочего времени".
Мы организовали тестовый стенд, на котором наша проблема воспроизводится под пользователем с полными правами. К этому стенду мы можем подключаться как напрямую с удаленной рабочей станции в режиме тонкого клиента, так и в режиме веб-клиента через публикацию на веб-сервере.
Настройка технологического журнала на клиенте может быть такой:
Фильтр по имени процесса для нашей задачи избыточен и нужен для того, чтобы в случае ошибочной настройки такого лога на сервере не получить сбор всех событий для серверных процессов, что может занять значительный объем. С другой стороны, при осознанном включении такой настройки на сервере (если клиентские приложения запускаются там же, где может быть развернут и сервер приложений 1С:Предприятие) мы в отдельном каталоге Client_Full увидим данные только клиентских приложений (хотя при этом подкаталоги других процессов тоже будут созданы, но они буду пустыми). Свойство Interface не собираем, так как оно дублируется более "человек читаемым" свойством IName (хотя даже последнее нам в данном примере не обязательно нужно).
После настройки технологических журналов и проверки корректности замера времени ОценкиПроизводительности БСП выполняем повторение операции с включенной отладкой.
Замеры времени средствами БСП будут выглядеть следующим образом:
Везде далее будем рассматривать верхний в этом списке замер от последнего повторения, его длительность 13,022 секунды.
Замер отладчиком конфигуратора изображен на следующем рисунке:
Как видно, сумма длительности всех строк, связанных с открытием формы составила всего 1,523 секунды.
'00010101' + ТекущаяУниверсальнаяДатаВМиллисекундах() / 1000
а для миллисекунд взять остаток от деления на 1000 (то есть просто последние три цифры, обратите внимание на "779" на следующей картинке).
Точное время начала замера (минут:секунд.миллисекунд): 25:10.779
Точное время окончания замера (минут:секунд.миллисекунд): 25:23.801
Найдем теперь записи технологического журнала, соответствующие данному замеру, они будут примерно следующими:
Здесь видно, что соответствующий нашему замеру серверный вызов SCALL завершился примерно за 10,1 секунды, это соответствует интервалу между запросом VRSREQUEST и ответом VRSRESPONSE.
Причем время начала замера почти совпадает с началом вызова, то есть событием VRSREQUEST, что собственно ожидаемо, так как замер БСП начинается на клиенте и должен быть непосредственно перед командой открытия формы. А вот окончание вызова сервера случилось раньше, чем окончание замера, что значит, что эта разница во времени пришлась на часть работы клиентского приложения.
Итак, промежуточный итог по длительностям замеров разными способами показывает соответствие нашей ситуации ограничениям и выполнение неравенства: 1,5 < 10,1 < 13.
Стандартными инструментами не удается увидеть причину проблем низкой производительности работы (открытия) управляемой формы, поэтому воспользуемся следующими помощниками:
- Отладчик операционной системы: Windows Performance Recorder для сбора метрик и Windows Performance Analyzer для их визуализации и анализа;
- Анализатор сетевых протоколов Wireshark или прокси-сервер Fiddler Web Debugger.
Установим и запустим Windows Performance Recorder ("C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\WPRUI.exe"), укажем настройки:
После того, как их подготовили, перейдем в тонкий клиент 1С, откроем форму списка документов и непосредственно перед воспроизведением проблемной операции запустим сбор данных WPR (кнопка Start).
После открытия формы в тонком клиенте запись можно остановить и открыть ее для анализа. В открывшемся окне найдем по PID 5508 (его можно определить в диспетчере задач ОС или по логам ТЖ) наш тонкий клиент 1С и должны получить примерно следующую картинку:
По данным Windows Performance Analyzer видим, что у нас нет серьезной нагрузки по дискам, а поток тонкого клиента потребляет 100% ЦП на протяжении длительного времени вплоть до завершения замера.
Запомним этот результат и проанализируем траффик.
Запустим Wireshark и повторим проблемную операцию в тонком клиенте 1С:Предприятие с прямым подключением к серверу приложений 1С.
При сборе данных с помощью Wireshark (и отбору по пакетам с сервером-источником равным серверу приложений 1С:Предприятие) запуск открытия формы документа будет выглядеть примерно так:
Здесь каждая такая строка – это пакет (или если точнее, то "кадр", frame), который в свою очередь является частью общего большого пакета поверх протокола TCP (PDU – Protocol Data Unit). Если их сложить, получим пакет около 70 Кб. Стоит обратить внимание, что это будет размер с учётом сжатия, а если без него – то должны получить что-то около 2500 – 3500 Кб данных.
Устанавливаем и запускаем Fiddler, на панели инструментов ищем "Browse", выбираем любимый браузер и запускаем в нем необходимое нам приложение (информационную базу 1С:Предприятие). После запуска переходим в форму списка документов (готовимся воспроизвести сценарий), возвращаемся в Fiddler и включаем сбор траффика (кнопка F12), переходим в браузер и открываем форму документа. После её открытия сбор траффика можно отключить и заняться его анализом. Мы должны получить примерно следующее:
В данном дампе достаточно быстро находится относительно большой пакет искомого размера, выбираем его в списке слева, а в правой части окна переключаемся на страницу Inspectors, выбираем там просмотр заголовков (Headers), и так как у нас пакет является сериализованным json (Content-Type: application/json), то попросим Fiddler десериализовать его для нас.
После этого в окне предпросмотра отобразится древовидная структура ответа (response), которая передается с сервера на клиент и содержит так много данных. Далее нам необходимо проанализировать её и найти наиболее проблемные места. Может помочь кнопка Expand All, которая развернёт все элементы дерева, но это может занять некоторое время. Чтобы его сократить, сначала поймем, что именно нужно искать.
Подведем промежуточный итог:
- Проблем с медленной работой прикладного кода 1С или запросов нет.
- Большая часть времени открытия формы состоит из сетевого взаимодействия.
- Размер пакета с формой подозрительно велик.
- После получения пакетов имеем высокую утилизацию ЦП тонким клиентом 1С (или веб-клиентом).
- Потерянное время находится где-то между окончанием/началом работы прикладного кода 1С и сетевой передачей.
Из всех этих пунктов для нас наиболее полезным и требующим дополнительного анализа является тезис "Размер пакета с формой подозрительно велик".
Какие могут быть причины для такой ситуации? В общем случае их несколько:
- Сама по себе большая и сложная форма с большим количеством экранных элементов и реквизитов. Наверное, редкий и точно не очень правильный случай, лучше такого избегать на этапе проектирования систем.
- Простая форма, но много данных в реквизитах формы (включая данные объекта), в особенности:
- Хранилище значения, Строка(0);
- Большие коллекции (Таблица, Дерево, Список);
- Произвольный тип (концентрация проблем).
Так как наша проблема (у вас может быть по-другому) воспроизводится даже при очень небольшом количестве данных в ТЧ, и реквизитов у документа (т.е. объекта формы) совсем не много, то их мы не рассматриваем. Остаются реквизиты формы, не равные основному реквизиту "Объект".
Среди них находится несколько реквизитов, имеющих произвольный тип. Могут выглядеть так:
Сопоставляем эти данные с уже собранным ранее замером с помощью конфигуратора, и видим заполнение этих структур достаточно большим количеством элементов (например, можно 5059 в реквизите "СвойстваИзмерений").
Снова вернемся к дампу траффика в Fiddler и найдем там элемент, отвечающий за параметры формы (response/props). Увидим там примерно следующее:И если развернем далее эти элементы, убедимся, что их там несколько тысяч, каждый из которых представляет собой вложенную структуру вида:
Найдем прикладной код, заполняющий эти параметры, и убедимся, что данных там действительно достаточно много (2-3 Мб), и они представляют собой большое количество сложных вложенных структур.
Отключив заполнение данных реквизитов, убеждаемся, что проблема с производительностью формы исчезает, что значит, что причина была найдена правильно.
Выводы и рекомендации
Длительная работа открытия формы обусловлена сериализацией и десериализацией больших коллекций значений при передаче их между клиентом и сервером.
Для того чтобы оценить степень влияния всех факторов, которые имеют значения в этом процессе, можно сделать несколько тестов (замеров), изменяя эти факторы и оценивая корреляцию их значений и длительности. В нашем случае причиной проблем были структуры, хранящие данные справочников территорий и условий труда, поэтому изменяли количество этих элементов и пробовали замерять передачу с клиента на сервер этих данных (процедура ДанныеДляРедактированияВХранилище).
В следующей таблице приведены результаты таких замеров в нашем примере. Сразу следует оговориться, что не стоит никаким образом рассматривать в ней абсолютные значения, так как это будет зависеть еще и от конфигурации компьютера, сети, версии платформы и многого другого, связанного именно с нашим примером. Для нас же важны зависимости и их характер (линейная, экспоненциальная и т.д.). Предлагаем вам проанализировать их самостоятельно (или даже повторить замеры на актуальной версии платформы в вашей среде).
Принимая во внимание полученные таким образом данные, можно предложить следующие возможные пути решения:
21 апреля пользователи Сети начали сообщать о проблемах с работой всех сервисов 1С. Недоступны обновления, невозможно зайти в личный кабинет и на сервис ИТС, не работает ЭДО и 1С:отчётность. 25 числа необходимо подавать отчёт в налоговую, но его невозможно подготовить из-за сбоя.
В официальном Telegram-канале 1C:Франчайзи появилась информация, что доступ к сервисам пропал из-за DDoS-атаки на ресурсы 1С и часть сайтов компании.
По неподтверждённой информации, кроме 1C DDoS-атаке подверглись РАР и ФСС.
Информационная служба Хабра направила 1С запрос с просьбой дать официальный комментарий по ситуации. Как указали в компании:
«С 21 апреля происходят DDoS-атаки на различные сервисы для учёта и отчётности в организациях, в том числе на ресурсы 1С. Часть наших сайтов и сервисов была временно недоступна или работали медленно и неустойчиво. На данный момент восстановлено нормальное функционирование большинства интернет-ресурсов и сервисов 1С, включая 1С:ЭДО и 1С-Отчетность. DDoS-атаки продолжаются, технические специалисты 1С отслеживают ситуацию и принимают усилия для обеспечения нормального функционирования интернет-ресурсов и сервисов 1С. Угрозы для данных пользователей не наблюдается, они не пострадали и надёжно защищены».
Несмотря на заявление компании, пользователи Сети продолжают жаловаться на полное прекращение работы 1С. В частности, пользователь Хабра @nat_young рассказал, что со вчерашнего дня в работе сервисов практически ничего не изменилось.
В третьей части я показал пример обращения ко всем возможным методам, и как работать с длительными операциями.
В четвертой части показал, как работать с порциями.
для обмена данными между информационными системами;
для обмена данными с сайтами и порталами;
Клиент формирует запрос к веб-серверу.
Дальше запрос проходит какие-то проверки – проверяются заголовки, параметры, тело запроса (если сервис использует тело запроса).
Если все проверки пройдены, то выполняется некий метод в вашей конфигурации и формируется ответ с кодом состояния:
обычно, если все нормально отработало, код состояния равен 200;
если что-то пошло не так, код состояния может отличаться;
есть методики, когда используется JSON RPC – в этом случае код состояния всегда равен 200, а в теле запроса в определенной структуре JSON содержится ответ, где в параметре error пишется, какие были ошибки.
Есть ли какая-то универсальная микстура или принцип, как сделать определенные шаги для обеспечения безопасности всех сервисов, которые вы создаете? Такой микстуры, к сожалению, нет. Но есть какие-то практики, которые люди применяют в своей работе.
Настройте регулярное создание бэкапов
Простая проверка администратора на профпригодность – это поручение «Восстанови на тестовой базе вчерашний бэкап». Если администратор сможет восстановить бэкап только месячной давности, нет причин с ним дальше работать. За месяц многое может поменяться, поэтому такие вещи недопустимы, и не дай Бог с вами это произойдет.
Для чего нужен сервис?
Кто конечный потребитель?
Будет ли сервис выставлен наружу?
Эти три простых вопроса позволяют понять, какие вещи необходимо будет произвести для обеспечения безопасности.
GET для безопасных действий, POST для небезопасных
Дальше нужно определиться с тем, по каким методам будет работать ваш сервис – будет ли он использовать только GET или POST, или он будет использовать смешанные методы.
GET вызывает так называемые безопасные действия – он получает параметры и отдает некие данные из информационной базы.
POST предназначен для более опасных действий – если вы хотите передавать логин-пароль, то GET для этих случаев не подойдет, лучше передавать в теле POST.
Чтобы определиться, какой метод вам больше подходит, есть картинка, которая очень наглядно помогает выбрать тот или иной метод.
Повторюсь, что основные минусы GET по сравнению с POST – это то, что запрос можно кешировать, запросы могут оставаться в истории браузера, параметры передаются в URL, и GET не предназначен для передачи больших объемов данных.
Это – наглядный пример MITM-атаки.
Let’s Encrypt – лучше, чем самоподписанный сертификат, но есть минусы
Часто встречается, что приходишь в какую-то крупную организацию, и там используют самоподписанные сертификаты. Если сервисы используются для внутренних целей, этого достаточно. Но если вы собираетесь выставить сервис наружу для обновления какого-то мобильного приложения, такой самоподписанный сертификат не подойдет. Лучше использовать бесплатный сервис Let’s Encrypt.
Но у сервиса Let’s Encrypt есть минусы по сравнению с платными сервисами:
Нет гарантии, что с Let’s Encrypt не случится то же самое, что случилось со Startcom и Wosign. 5 лет назад был случай, что крупные производители браузеров перестали им доверять – эти сертификаты потеряли доверие.
Еще нет гарантии сертификата. Например, если клиент зайдет на сайт, который подтвержден сертификатом платного центра, и потеряет деньги в результате фишинга, то эти платные центры обязуются выплатить некую сумму (от 10 тысяч долларов до 1.5 миллионов долларов).
И основной минус – у Let’s Encrypt сертификаты выдаются на 3 месяца. С другой стороны, есть готовые скрипты, готовые боты, которые продлевают сертификат. Для Apache – это certbot, а для IIS – это win-acme.
Разделите сервисы
Соответственно, если вашу фирму начнут проверять на прочность, вздрогнет вся система, и работать будет невозможно.
Поэтому я не зря изобразил на слайде подводную лодку: если в ней случается пробоина, закупоривается один отсек, а остальная часть подводной лодки продолжает функционировать. Я тоже рекомендую разносить внутренние сервисы на одну машину, а сервисы, которые должны общаться с внешним миром на другую, возможно, даже на несколько машин.
Опубликуйте сервис и настройте на него права
Если вы организовываете внутреннюю сеть, достаточно внутри сети поставить веб-сервер – это может быть Apache, IIS, это может быть 1С:Публикатор или 1С:Линк (это тоже Apache, просто его версия от фирмы 1С с красивым интерфейсом).
К паролям нужно относиться очень бережно – про это я чуть дальше расскажу. Желательно, чтобы у сотрудников были хорошие пароли.
Используйте VPN
Если вам нужно организовать удаленный офис либо объединить в единую сеть магазины или сеть точек общественного питания, используйте для администрирования VPN – этого достаточно.
Организуйте промежуточное звено
Есть варианты с промежуточным сервисом:
Один из таких вариантов был показан на онлайн-митапе «Web-клиенты для 1С». Есть некий промежуточный сервис, написанный на каком-то стороннем языке, этот сервис смотрит наружу, получает запросы от клиентов, организует для этих запросов некие квесты – накладывается фильтрация, проверяются токены, организуется ограничение частоты вызова определенных методов или двухфакторная аутентификация. Только тогда, когда все эти квесты пройдены, запрос идет во внутреннюю сеть. Вариант неплохой, рабочий, многие его используют.
Есть еще вариант с промежуточной базой, которая получает запросы, отслеживает, что в этом запросе все хорошо, и тогда уже передает его во внутреннюю систему.
Получается, что эти промежуточные звенья принимают первый удар на себя, а если с ними что-нибудь случится, ваша информационная база будет в безопасности.
То же самое можно делать и другими средствами:
можно установить файрвол, который ограничивает доступ, делает фильтрацию IP, закрывает порты;
за файрволом можно поставить реверсный прокси, на котором тоже настроены какие-то фильтры – реверсный прокси-сервер может выполнять функцию балансировки – он разграничивает нагрузку между сервисами и дополнительно уменьшает трафик за счет кеширования.
Это тоже рабочий вариант.
Пройдите аудит ИБ
Даже если у вас все отлично настроено, все отлично работает, можно еще произвести аудит информационной безопасности. Это актуально, поскольку система развивается, в ней появляются новые дыры, и их надо своевременно отслеживать.
Какие-то фирмы проводят аудит раз в полгода, кто-то – раз в год. Какие-то фирмы начинают проводить аудит только тогда, когда с ними что-то случается.
Но проводить аудит – дело полезное. Вы получите обратную связь, получите отчет о том, что было проделано, узнаете, какие у вас есть дыры в безопасности. Если у вас нет возможности проводить аудит своими силами, есть сторонние организации, которые этим занимаются.
Проводите постоянный мониторинг
Нужно производить постоянный мониторинг системы. Даже если у вас все работает, следовать правилу «Работает – не трожь» не совсем правильно. Система работает до тех пор, пока вы ее обслуживаете. Соответственно, можно настроить какие-то сборы метрик, можно проверять логирование. В 2019 году на Инфостарте был очень хороший доклад «Ок, Лариса! Мониторинг проблем производительности с применением нейронных сетей». Докладчик рассказывал о том, как у них некая нейронная сеть отлавливает некие изменения в системе и на основании этих изменений делает какие-то действия, сообщает о каких-то ошибках.
Если пойти этим же путем, анализировать все эти метрики, логи, то в принципе тоже можно сделать такого автоадминистратора, который все эти вещи будет сам отлавливать. Я думаю, что даже в каких-то крупных ИТ-гигантах такие вещи уже сделаны и успешно работают.
Храните логи в недоступном от злоумышленников месте
О чем еще важно помнить? Допустим, у вас есть логи, которые вы храните не очень защищенно. Логи тоже могут иметь некую конфиденциальную информацию.
Например, в логах хранится заголовок запросов с базовой авторизацией. Соответственно, если злоумышленник получит эти логи, он их без труда декодирует и получит доступ к вашей базе под этой учетной записью.
Относитесь к паролям бережно
Еще раз напомню, что к паролям нужно относиться бережно. В практике моей компании был один случай: до 2018 года у нас администратора не было, состояние системы было подзаброшено, и мы наняли очень хорошего администратора, чтобы он все настроил. А потом директор решил проверить, действительно ли теперь все так хорошо, и обратился к моему коллеге, попросил его за хорошее вознаграждение взломать систему. У меня коллега далеко не хакер, он просто 1С-программист, который знал, что в компании есть некая база, которая опубликована наружу. Он открыл эту базу через браузер, быстро подобрал пароль к учетке пользователя-администратора с правом открытия внешних обработок, вошел в базу, открыл в ней обработку и сделал принтскрины, доказывающие, что у него полный доступ ко всем данным. Пароль был 123.
Как перечеркнуть все усилия по обеспечению безопасности
В феврале этого года я выложил статью «Выполнятор – как я породил монстра и лишился сна!». Это случай из 2017-го года. Я тоже человек грешный, я реализовал некое очень страшное решение через метод «Выполнить()».
Самое интересное, что такие статьи выходят на Инфостарте регулярно, я примерно раз в месяц вижу новую статью с таким решением.
Если я вижу такую статью, я пытаюсь пообщаться с автором и объяснить, почему так делать не стоит – об этом я расскажу дальше.
Все эти «Выполняторы» работают по одному принципу с небольшими отличиями:
кто-то передает текст команды,
кто-то передает текст команды и параметры,
кто-то передает текст запроса и параметры;
кто-то передает просто текст запроса.
Дальше это все попадает в некий метод «Выполнить()», где все это выполняется. Это некий троянский конь, через который с вашей системой можно что угодно сделать, вплоть до очистки всех данных.
Есть статья на ИТС «Ограничения на использование Выполнить и Вычислить на сервере». Если вы решили сделать универсальное решение, то ознакомьтесь с этой статьей, все вопросы уйдут.
Когда я общался с авторами, я интересовался, почему они сделали такое решение:
Некоторые, как и я, хотели выйти из конфигуратора – статья про «Выполнятор» как раз показывает, что так делать неправильно.
Кто-то говорил, что ему не нравится писать код в двух местах – в конфигурации-источнике и конфигурации-приемнике.
Основные минусы «Выполняторов»:
Практически невозможно отловить неоптимальный код. В базе-источнике будет видно только то, что выполняются некие методы. Вы не отловите, какой там код в какой момент пришел.
Плюс вы постоянно пересылаете весь код и параметры, что тоже нехорошо. Это то же самое, как если вы придете в библиотеку, положите перед библиотекарем три тома «Войны и мир» и спросите: «Что написано во втором томе на 300-й странице в пятом параграфе?» Получается, что вам, чтобы спросить какую-то вещь, нужно постоянно носить эти книжки. Это тоже не совсем хорошо.
И возможность потерять все свои данные – я про это уже говорил.
Стояла задача создать мобильное приложение, которое будет обмениваться с ERP. Мы планировали его устанавливать на планшеты пользователей и настраивать силами сотрудников ИТ-отдела.
Для этой цели у меня в ERP был создан план обмена, на узле которого хранится не логин/пароль, а некий сформированный хэш. И с мобильного приложения тоже гоняется не логин/пароль, а некий хэш. Эти хэши сравниваются и обмен производится только при их совпадении.
алгоритмы и методы – это отдельные справочники;
различные методы логирования;
запуск фоновых заданий для алгоритмов.
можно указать конкретный метод, который будет обработан;
на закладке «Параметры» рассчитываются параметры, которые будут использованы на закладке «Вычисления»;
указывается алгоритм, который формирует ответ от базы;
можно задать заголовки ответа и т.д.
Учитывая, что система универсальных методов уже была, на разработку полноценного рабочего окружения для мобильного приложения ушло 3 недели.
Заключение
Плюс заказчик получает готовую функциональность, реализацию которой не нужно оплачивать – все можно сделать силами одного 1С-ника.
Вопросы
Какие вы можете порекомендовать средства для хранения паролей к внешним сервисам, с которыми интегрируется 1С?
1С рекомендует использовать для этого безопасное хранилище. Но я обычно делаю свое хранилище значений. И в нем уже в определенной структуре храню такие вещи.
В кейсе про мобильное приложение, о котором я рассказывал, я не гоняю пароль в явном виде, я просто гоняю некий хэш.
Вы говорите про то, как хранятся пароли внутри 1С, а снаружи? Если нужно обмениваться паролем между командой разработки и инфраструктурщиками? Используете ли вы какие-то сервисы для этого?
Можно хранить секреты в файле на сервере с ограниченным доступом, либо в специальном сервисе. В базу добавляем ПараметрСеанса, в который будем считывать секреты, и запрещаем доступ к этому параметру сеанса.
Вызов внешнего сервиса делаем таким образом
Если базу выгрузить, то секреты никуда не утекут.
Какие VPN-сервисы рекомендуете для внутренних сервисов? Или лучше написать свой?
OpenVPN – самый распространенный, используем его.
Как правильно выставлять сервис наружу? Лучше всегда закрывать веб-сервисы, которые выдаются наружу? Или в каких-то случаях не закрывать?
Если для вас это будет очень больно, лучше этого не делать. Если вы обслуживаетесь у каких-то аутсорсеров, а вас начнут проверять на прочность, то вам нужно будет сначала дозвониться, дождаться, когда специалист с вами через час свяжется, и только потом вам, может быть, помогут. В таких условиях лучше ничего не выставлять наружу.
Если вам нужно обмениваться с сайтом или сторонним сервисом, есть хорошие средства, я про них в докладе уже упоминал.
А есть какие-то готовые инструменты для защиты базы от внешнего доступа? Какими сервисами можно воспользоваться 1С-нику?
Очень многие используют nginx, это хорошее программное обеспечение, его можно использовать как реверсное прокси для балансировки и фильтрации запросов.
Данная статья написана по итогам доклада (видео), прочитанного на онлайн-митапе "Безопасность в 1С". Больше статей можно прочитать здесь.
«Сегодня настал апокалипсис. Все ранее установленные платформы 8.3.18.1208 (х64) на разных ПК перестали работать и выдают „нарушение целостности“. Это конец эпохи патчей для 1С?».
Дальше пошли обсуждения, как это можно «вылечить», но нас интересует тут другое. Дело в том, что 1С сама начала рассылать письма о проблеме «нарушения целостности», и о том, как с ней бороться. Но все по порядку.
Пользователи 1С начали получать в 20-х числах января этого года вот такие письма:
Несколько напрягает фраза «по имеющимся у нас данным, с большой вероятностью не все экземпляры программных продуктов фирмы „1С“ используются в Вашей организации на законных основаниях».
Это что, у 1С есть некие возможности, о которых мы не знаем? Откуда, как говорится, дровишки?
Есть версия, что компания работает в тесной связке с МВД, которые могут, к примеру, проверить наличие левых дистрибутивов на FTP-серверах. Об этом подробно писали на «Клерке», по выступлению эксперта Анны Лавриновой на конференции INFOSTART EVENT 2019 Inception.
Далее в письме пишут, что указанное программное обеспечение являются объектами исключительного права, называют правообладателя (ООО «1С-Софт»), и рассказывают, какая ответственность может быть за нарушение авторских и смежных прав. В том числе и уголовная, статья 146 УК.
И заодно 1С в письме предлагает убедиться, что используемое в компании ПО легально. Следующими способами:
1. Наличие у организации документов, подтверждающих покупку ПО.
Для коробочной поставки:
- коробка,
- ваша часть регистрационной карточки с лицензионным соглашением,
- документация,
- диск с дистрибутивом.
При этом на всех комплектующих есть одинаковый регистрационный номер, уникальный для данного экземпляра программного продукта.
Для электронной поставки в наличии должны быть документы, подтверждающие покупку, и лицензионное соглашение.
2. В локальной сети используется именно легально приобретенная программа на все рабочие места.
3. Если в программе работает более одного сотрудника, версия должна быть ПРОФ или КОРП, в базовой версии работа более одного сотрудника невозможна.
4. Если используется клиент-серверная версия программ, то должна быть куплена лицензия/лицензии на Сервер.
5. Защита используемого ПО не отключена и не модифицирована.
Если нет уверенности, что используемое ПО легально, его немедленно нужно удалить. А если сама компания этого сделать не может, 1С рекомендует обратиться к обслуживающему организацию партнеру-франчайзи 1С. Или выбрать партнера-франчайзи из списка на сайте 1С.
«Пиратские „взломы“ (другие названия: „эмуляторы“, „кряки“) могут как использоваться в настоящий момент, так и просто присутствовать на компьютере или в локальной сети. При этом добросовестный пользователь может даже не догадываться о наличии противоправного софта, например, когда-то его установил приходящий обновлять программу 1С „друг сына одной из сотрудниц, он учится на программиста“».
Так как в 1С все понимают, не у всех есть квалификация, время, да и просто желание копаться и разбираться, предлагается временное решение. На сайте 1С можно оформить бесплатно временную лицензию, чтобы продолжать работу. Действует она 60 дней, активировать ее можно не позднее 15 марта. А за это время купить лицензионную программу.
«Можно получить несколько одноименных (например, две временные лицензии по 10 рабочих мест) или различных временных лицензий (например, временную лицензию на 50 рабочих мест и на Сервер). Получить такие лицензии может как сам пользователь, так и обслуживающий партнер „1С“ по его просьбе».
Обязательно нужно скачать последнюю версию «восьмерки» для корректной работы.
«Использование временных лицензий позволяет пользователю в течение 60 дней с момента их получения спокойно провести аудит и приобрести аналогичные лицензии 1С:Предприятия без ограничения срока действия или удалить противоправный пиратский софт и восстановить работу ранее правомерно приобретенных лицензий без ограничения срока действия».
- в настоящий момент используется «взлом» (отключение или модификация) защиты (файлов платформы) 1С:Предприятия в различных вариантах, например, не куплена сама «основная» программа 1С:Предприятие и клиентские лицензии на рабочие места, а также лицензии на сервер, или используется больше рабочих мест чем куплено, или версия КОРП вместо купленной ПРОФ и т.п. Такие действия могли быть произведены пользователем как осознанно, так и случайно: кто-то мог оказать добросовестному пользователю 1С такую «медвежью услугу».
Ну тут все понятно, факт использования нелизензионного ПО. А вот второй вариант напрягает:
- на компьютере есть следы «взлома» защиты, хотя сейчас используются только легально приобретенные программы 1С:Предприятие со штатной защитой.
И еще один любопытный момент:
«Если вы уверены, что точно покупали все необходимые программы 1С, но быстро не можете найти регистрационный номер программы, дистрибутивы, ключ защиты или ПИН—коды, то вы также можете воспользоваться возможностью бесплатно получить на сайте 1С „1С:Предприятие 8. Временные лицензии для восстановления“, и в течение 60 дней или докупить недостающие программы у партнеров „1С“ или подтвердить наличие легальных поставок 1С и пользоваться ими:
В общем, если что-то покупаете — все хранить, причем бессрочно, ничего не выбрасывать. А на компьютере, чтобы следов на нем никаких не было, наверное периодически нужно переустанавливать систему.
Ну а если ничего не сохранилось — бесплатно получать временную лицензию, которая действует примерно 2 месяца, и либо искать, либо докупать программы.
Игнорить точно не стоит. Эти письма — не дружеский совет, а предупреждение, что возможны разные последствия, вплоть до уголовки. Просто сразу не идут по инстанциям, поскольку кто-то ведь пойдет, все оформит и докупит, меньше ресурсов затратится на судебные дела.
Николай Андреев, шеф-редактор «Клерка»
Фото: Виктория Виатрис/фотохост-агентство ТАСС -->
Люди отмечают, что недоступны обновления, личный кабинет, не получается сдать отчеты в налоговую. Каких-то комментариев от самой компании 1С на этот счет нет. Но и открыть сайт компании удается не со всех компьютеров и мобильных устройств, убедилась редакция Business FM. Член палаты налоговых консультантов, бухгалтер Елена Теленова говорит, что с проблемами за последние два дня не сталкивалась:
— Я бы не сказала, что какая-то проблема, 1С легло из-за того, что сейчас такой период, когда закрытие года для ИП совпадает с закрытием первого квартала. Определенное подвисание системы происходит из-за большого количества пользователей.
— Пишут, что недоступны обновления, личный кабинет, сервис ИТС, включая сквозную аутентификацию, люди не могут сдать отчеты в налоговую.
— Я бы ничего такого не сказала, при объеме 150 компаний все нормально уходит, все штатно.
— То есть это частные истории?
— Скорее всего, частные истории, может, где-то на региональном уровне идут какие-то DDoS-атаки.
Проблемы с доступом к сервисам 1С действительно есть, но не повсеместно. Объясняет Аркадий Виноградов, сервис-инженер фирмы-франчайзи, которая обслуживает серверы 1С:
Аркадий Виноградов сервис-инженер фирмы-франчайзи «Со времен, как началась специальная военная операция на Украине, на серверы российских компаний совершаются различные DDoS-атаки в больших объемах. Ранее таким атакам подвергались в том числе платформы ОФД, сейчас сервисы у компании 1С тоже пострадали, по большей части идут атаки на дата-центры, где размещают данные сервисы, и на магистральные каналы, из-за этого возникают проблемы. От клиентского компьютера, за которым он работает на 1С, до сервиса есть цепочка серверов, у каждого она своя в зависимости от провайдера. Каждый провайдер выходит на какую-то магистральную линию, и пошло дальше. Проблема в том, что если DDoS-атаки идут определенного узла, то этот узел недоступен, но в то же время другой клиент может интернетом пользоваться не через этот узел, и он дойдет до сервиса компании 1С, а у кого-то это будет проблемой. Важно именно то, каким путем он доходит до этого сервиса. От работы интернета зависит то, насколько сильно атакуются магистральные провайдеры».
В 1С заверяют, что угрозы для данных пользователей не наблюдается, «они не пострадали и надежно защищены», пишет портал CNews.
Читайте также: