Безопасность 1С

Безопасность 1С

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

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

❌ Запрет на выгрузку информационной базы

Права на выгрузку информационной базы имеет любой пользователь, которому разрешено выполнять «Административные функции», указанное право должно быть только у администраторов. Дополнительно, контролировать право «Толстый клиент», данное право позволяет запускать 1С:Предприятие в режиме «Толстого клиента».

Безопасность 1С - Административные функции

Административные функции

🔐 Использовать двухфакторную аутентификация

Для того, чтобы получить доступ, пользователь должен дважды подтвердить тот факт, что он ‑ это он, причем, разными способами. Например, ввести логин/пароль (и это будет первый фактор аутентификации), а затем ввести код, присланный на его мобильный телефон (и это будет второй фактор аутентификации). Дополнительно, ограничить количество попыток ввода пароля, периодически менять пароли, в разумных пределах увеличить сложность пароля, запретить создание пароля пользователем.

❌ Для пользователей отключить опцию «Показывать в списке выбора»

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

Безопасность 1С - Показывать в списке выбора

Показывать в списке выбора

🔎 Проводить аудит прав пользователей

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

🔐 Использовать безопасное хранилище паролей из БСП

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

🔎 Проверять модули, доступные для вызова из клиентского кода

Общие модули с опциями «Сервер» и «Вызов сервера», методы с директивами компиляции «&НаСервере» и «&НаСервереБезКонтекста».

🔎 Аудит безопасности кода и доступа к коду при использовании «Выполнить» и «Вычислить»

❌ Запретить пользователям открытие внешних обработок и отчетов

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

👨‍💻 Создать администратора центрального сервера

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

Администратор сервера

Администратор сервера

👨‍💻 Создать администратора кластера

Если не указан администратор кластера, то любой пользователь сможет создавать информационные базы и получить доступ к файлу реестра кластера «1CV8Clst.lst», который содержит следующую информацию:
— список информационных баз, зарегистрированных в данном кластере;
— список рабочих серверов, входящих в кластер;
— список рабочих процессов, входящих в кластер;
— список менеджеров кластера;
— список сервисов кластера;
— список администраторов кластера.

Администратор кластера

Администратор кластера

❌ Не использовать учетную запись «sa»

Для подключения 1С к MS SQL Server, в настройках подключения 1С, поля «Пользователь сервера БД» и «Пароль пользователя БД» оставить пустыми, использовать авторизацию с помощью доменной учетной записи, в этом случае логин и пароль не хранится в реестре кластера.
Дополнительно, если база данных создается через оснастку 1С, для учетной записи, под которой запускаются рабочие процессы rphost, в MS SQL Server назначить роль «public» и «dbcreator», создать базу данных и убрать роль «dbcreator».

👨‍💻 Выполнять запуск агента сервера, менеджера кластера и рабочих процессов под разными пользователями

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

🔎 Проанализировать необходимость использования защищённого соединения

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

Защищенное соединение

Защищенное соединение

❌ Ограничить сетевой доступ к оснастке «Администрирование серверов 1С Предприятия»

С помощью межсетевого экрана, закрыть доступ по сети, к порту 1540 (порт можно посмотреть в параметрах запуска агента сервера, параметр -port).

🔐 Использовать профили безопасности

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

❌ Отказ от использования аппаратных ключей

Имеются уязвимости см. «Исследование безопасности лицензионных токенов».

❌ Отказ от использования COM объектов

В сторону использования Web и HTTP сервисов, либо как вариант использовать профили безопасности кластера, который содержит список классов COM-объектов, которые можно использовать в прикладном решении.

🔐 Использовать SSL при работе с HTTP и Web сервисами

Защищенные каналы связи позволяют предотвратить несанкционированный просмотр и изменение данных. Одним из наиболее популярных протоколов, реализующих защищенный канал, является протокол SSL.

🔎 Вести учет баз данных, конфигураций и выданных прав

На сервере где имеется база с выходом в Интернет, не должно быть тестовых баз со слабой защитой.

Источники информации:

  1. «Вопросы безопасности информационных систем на платформе 1С:Предприятие 8.1» — В данной статье рассматриваются вопросы безопасности информационных систем, работающих на платформе 1С:Предприятие 8.1 в клиент-серверном варианте с использованием СУБД MS SQL Server.
  2. «Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8» — Кладезь информации для разработчиков и администраторов 1С. См. раздел «Общие вопросы безопасности 1С».
  3. Видеозаписи онлайн-митапа «Безопасность в 1С» — Безопасность в 1С — онлайн-митап, посвященный вопросам безопасности информационных систем на платформе 1С.
  4. Антон Дорошкевич «Взломать за 60 секунд!»
  5. Антон Дорошкевич, доклад с конференции «&На1С 2018» «Взломать сервер 1С за 15 минут»
  6. Виталий Онянов «История одного взлома или проверьте Вашу систему на безопасность», доклад на INFOSTART EVENT 2021 POST-APOCALYPSE
Icons made by Freepik from www.flaticon.com
Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *