Потенциальные уязвимости платформы 1С версии 8.1

блог о bi, №1 в рунете

Изменения по сравнению с версией платформы 8.0

По сравнению с версией 8.0 появился ряд улучшений, которые влияют на безопасность системы:

Кластер серверов приложений 1С вместо одного сервера приложений

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


Каждый сервер приложений в кластере запускается как процесс в Windows или демон в Linux

Подключение клиентских приложений и взаимодействие между серверами кластера осуществляется по TCP/IP. Отсутствуют COM+ соединения.

Аудит

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


Потенциальные уязвимости платформы 8.1

Атака на центральный сервер кластера серверов

Один из компьютеров, входящих в состав кластера серверов, является центральным сервером кластера (на нем запущен процесс rmngr.exe). При атаке на центральный сервер кластера возможен отказ всего кластера.

Рекомендации:
Настройка firewall на центральном сервере кластера.

Список информационных баз хранится в файле 1CV8Reg.lst

Информация о базах данных, с которыми работает сервер приложений, находится в файле C:\Program Files\1cv81\server\reg_1541\ 1CV8Reg.lst.Для каждой зарегистрированной на сервере приложений базе данных в файле указывается строка подключения к SQL серверу, включающая пароль пользователя сервера SQL сервера при использовании смешанной модели авторизации на SQL сервере. Однако в версии 1С 8.1 по сравнению с версией 1С 8.0 в системе защиты появилось улучшение – пароли в этом файле хранятся в зашифрованном виде, что улучшает степень безопасности системы и делает невозможным использование уязвимости вида «Получение паролей из файла 1CV8Reg.lst путем создания фиктивного SQL-сервера”.

Неавторизованный вход в Конфигуратор

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

Информация о списке пользователей хранится в таблице Params в базе данных SQL сервера. В поле FileName со значением «users.usr» хранится информация о пользователях.

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

Рекомендации:
1. Использовать триггеры на уровне MS SQL Server. В качестве побочного отрицательного эффекта могут возникнуть проблемы при обновлении версии платформы или изменении списка пользователей;
2. Использовать журнал регистраций 1С, обращая внимание на входы в систему в режиме конфигуратора без указания пользователя;
3. Держать постоянно запущенным SQL Profiler для мониторига подключений, что может негативно сказаться на производительности системы;

По сравнению с 1С версии платформы 8.0 не претерпели существенных изменений следующие варианты обхода защиты

  • Выполнение кода, не содержащегося в конфигурации
  • Нарушение прав доступа при использовании небезопасных функций на стороне сервера
  • Уязвимости стандартных механизмов платформы 1С:Предприятие

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