Проблемы 1С: безопасность данных в системе 1С Предприятие 7.7. и MSSQL 2000

Все пользователи 1С работают с сервером MSSQL посредством одной учетной записи MSSQL.

Введение

Все пользователи 1С работают с сервером MSSQL посредством одной учетной записи MSSQL. Права пользователя на работу с базой данных должны быть не менее db_owner. Нужно отметить, что в 90% случаев администраторы забывают выполнять эту процедуру до конца и делают как проще – назначают учетную запись от имени sa.

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

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

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

Описание технологии безопасности на базе Windows авторизации и применения application role в MSSQL 2000.

Основные требования к системе:

  • Безопасность хранения пароля
  • Невозможность входа в базу SQL посредством других приложений без соответствующего набора прав.
  • Аутентификация пользователей в системе SQL посредством Windows авторизации.
  • Однозначное соответствие между пользователями 1С и пользователями Windows NT.

Реализация

Необходимо всех пользователей базы разбить на три Windows NT группы:

  1. Обычные пользователи 1С

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

  2. Продвинутые пользователи 1С

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

  3. Программисты 1С

    Пользователи, обладающие правами на вход в конфигурацию системы и изменение структуры БД

Каждая группа Windows NT будет соответствовать определенной application role c ограниченными правами доступа к SQL.

  • Обычные пользователи 1С

    db_reader, db_writer + execute всех процедур базы

  • Продвинутые пользователи 1С

    db_owner

  • Программисты 1С

    db_owner

Возникает вопрос, а зачем вообще нужен механизм application role если можно было бы соответствующие права дать прямо на Windows NT группу?

Ответ очевиден, только для того что бы пользователь не мог зайти из другой программы в базу, например из Query Analyzer. Из этого требования возникает дополнительное требование - у всех трех групп на уровне Windows аутентификации есть права доступа только public, т.е. только на соединение с базой.

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

Стартер нужен для того, что бы определять текущего Windows пользователя и его домен. После определения пользователя стартер запускает процесс 1cv7s.exe и передает туда в качестве параметров командной строки имя пользователя и имя базы.

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

Алгоритм хранения пароля или даже автогенерации пароля реализован внутри стартера и хорошо защищен.

Заметим, что в данном механизме нет патчинга bkend.dll и т.п.

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

Необходимо выполнить следующие пункты:

  1. Завести три доменные группы
  2. Для каждой группы завести соответствующую application role и назначить им пароли либо определив для стартера алгоритм генерации.
  3. Выдать права на запуск соответствующего стартера по группам. Разместить их естественно нужно на каких либо сетевых ресурсах.
  4. Внутри 1С всех пользователей необходимо завести соответственно к имени login name Windows NT по четко определенному алгоритму.

    Например пользователь с доменным именем domenivanov в 1С должен называться ivanov_domain.

  5. Прописать в конфигурации ПриНачалеРаботыСистемы вызов метода компоненты, которая будет первый раз после изменения структуры выдавать права execute на все процедуры базы для роли Обычные пользователи 1С. Также в процедуре ПриНачалеРаботыСистемы необходимо прописать проверку на соответствие имени Windows NT к имени пользователя в 1С.

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

Как выглядит для пользователя использование 1С при подобной схеме реализации защиты?

Они это даже могут и не почувствовать вовсе. Пользователь будет запускать стартер, который можно даже назвать 1cv7s.exe и дать ему ярлык соответствующий стандартному 1С.

После запуска стартера он попадет в 1С, где после выбора базы автоматом войдет в нее под конкретным пользователем 1С (который соответствует доменному).

Рассмотрим варианты, которые может попытаться применить злоумышленник, что бы несанкционированно войти в базу:

  1. Если он попытается запустить 1С без стартера в надежде обойти систему, то это у него не выйдет – прав то к базе у его группы нет (если он не администратор). Права ему выдаст только потом стартер при загрузке application role.
  2. Попытка зайти из внешнего приложения к базе ему тоже ничего не даст. Windows права у него только на public да и то если он заведен как пользователь 1С.
  3. Попытка без соответствующего набора прав запустить стартер завершится неудачей. Запустить процесс без прав на него со стороны Windows NT очень сложная задача.
  4. Получить пароль application role тоже довольно сложная задача, кроме всего прочего ставятся еще несколько уникальных уровней защиты, которые в рамках этой статьи не описываются.

Описание технологии безопасности на базе Windows авторизации с применением в MSSQL 2000.

Отличие данного механизма реализации от вышеописанного в том, что защита доступа к данным SQL строится не на базе application role а на базе Windows аутентификации.

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

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

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

Пример:  
Группа Windows NT:
User domain - 1C User domain
Пользователи группы User domain:
ivanov - 1C_ivanov
Sidorov – 1C_sidorov

....

...

Стартер при запуске будет идентифицировать текущего пользователя «User» и будет запускать процесс 1С под пользователем «1С_User». Таким образом, пользователи будут четко идентифицированы с точки зрения SQL.

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

Вполне логично возникает вопрос: "а как запустить 1С под другим пользователем если это действительно нужно, делать log off"? Естественно этот вариант возможен, но крайне неудобен. Для подобной операции в Windows реализован стандартный интерфейс. Достаточно выделить ярлык программы которую мы хотим запустить, нажать shift и одновременно нажать правую кнопку мыши. После чего выбрать в меню Run as. Выбрав этот пункт мы в появившемся диалоге указываем windows пользователя и запускаем процесс 1С под ним.

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

Комментарии

1
  • HIStorys
    Отличный уровень безопасности у 1С. Что уж говорить про доступ к ПД, ужас!
3-НДФЛ

Не делайте этих ошибок при заполнении 3-НДФЛ

До 2 мая включительно физлица должны сдать 3-НДФЛ за 2023 год, если в прошлом году была продажа имущества, получение недвижимости в дар не от близких родственников и т. д.

Курсы повышения
квалификации

20
Официальное удостоверение с занесением в госреестр Рособрнадзора

Центробанк сохранил ключевую ставку 16%

Банк России не будет снижать ключевую ставку до тех пор, пока не будет достигнута цель по инфляции вблизи 4%.

ВЭД

Президент поддержал создание координационного центра для работы российского бизнеса на новых рынках

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

Лучшие спикеры, новый каждый день

ФНС банкротит компанию, которая развивает сеть магазинов «Ноу-хау»

Московские налоговики хотят признать несостоятельной компанию «Мобиленд», связанную с магазинами электроники «Ноу-хау».

В госзакупках будут работать офсетные контракты

Чтобы IT-компании больше средств вкладывали в инновационные технологии, в законодательство о госзакупках добавят офсетные контракты.

Как ИП уменьшить налог по УСН за 1 квартал на взносы 1% за 2024 год, если уведомление уже сдано

Не все ИП оперативно среагировали на новые разъяснения ФНС про уменьшение налога по УСН на взносы 1% за 2024 год. Кто-то не учел новые правила и переплатил налог, кто-то еще не уплатил, но уведомление уже сдал. Уведомление можно пересдать, переплату вернуть.

Иллюстрация: Вера Ревина/Клерк.ру
Опытом делятся эксперты-практики, без воды
Кадры

Путин: судимость членов семьи не должна влиять на трудоустройство

Никто за действия членов семьи не отвечает, заявил президент на ежегодном съезде Российского союза промышленников и предпринимателей (РСПП).

ФАС проверит цены на авиабилеты

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

Блокировка на маркетплейсах 2024: за что накажут, как снизить риски

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

Блокировка на маркетплейсах 2024: за что накажут, как снизить риски
Создать объявление

Кто должен платить НДС при импорте товаров, если отгрузка идет со склада в Беларуси

Ситуация: компания №1 продает товар компании №2. Но этот товар – белорусский, он лежит на складе компании-производителя №3 в Беларуси. Компания №1 заключает договор на поставку с компанией №3. А забирает товар со склада сам покупатель (компания №2).

КоАП РФ

📞 Запретят массовые спам-звонки. Но это чьи-то деньги, поэтому найдут как обойти, пишут у нас в ВК

Глава Минцифры Максуд Шадаев заявил о подготовке законопроекта, который запретит массовые спам-обзвоны.

Комиссии по самозанятым: как сотрудничать с внештатниками в новых реалиях

В 2024 году появилась новая «страшилка» для тех, кто предпочитает качественный результат при минимуме затрат, то есть для заказчиков самозанятых. Это межведомственные комиссии, которые заточены под выявление незаконной занятости, по сути — еще один контролирующий орган, помимо ИФНС и ГИТ, который будет выискивать следы трудовых отношений там, где их нет.

Комиссии по самозанятым: как сотрудничать с внештатниками в новых реалиях
Миникурсы, текстовые и видеоинструкции для бухгалтеров

Что ест бухгалтер. Борщ такой вкусный

Ммм… Борщ… «Как много в этом звуке»... аромате, вкусе. Не буду говорить о происхождении, об истории и пользе, только о вкусе.

Что ест бухгалтер. Борщ такой вкусный

Совфед: беременные сотрудницы ликвидированных компаний должны получать пособие не ниже МРОТ

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

Как закрыть ИП в 2024 году: пошаговая инструкция

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

Как закрыть ИП в 2024 году: пошаговая инструкция

💪 Ударные скидки на «Клерке»! Курсы по учету на маркетплейсах, ВЭД, зарплате, финмоделированию, УСН и бухгалтерии с нуля за 3 690 рублей!

Проведите выходные с пользой! За череду праздников вы сможете пройти весь месячный курс «Клерка» и стать специалистом на еще одном участке, повысить квалификацию в своей сфере или освоить профессию бухгалтера с нуля! До 2 мая популярные онлайн-курсы за 3 690 рублей!

Что грозит селлеру, который не доставил оплаченный товар

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

Как проверить безопасность сотрудничества с самозанятыми перед ФНС

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

Как проверить безопасность сотрудничества с самозанятыми перед ФНС

Как главному бухгалтеру избежать субсидиарной ответственности

Когда приходит пора искать виноватых, чтобы заставить их платить по долгам организации-банкрота, круг «подозреваемых» существенно расширяется — и первым туда попадает именно главбух. Рассказываем о превентивных мерах и о том, на что ссылаться, чтобы отбиться от обвинений.

Как главному бухгалтеру избежать субсидиарной ответственности

Интересные материалы

🧠Напряжем мозги? Пятничный пост

Кто-то одной ногой в отпуске, а кому-то напрягать мозги. Баланс?

🧠Напряжем мозги? Пятничный пост