Информационная безопасность — это комплекс мер, направленных на защиту данных от несанкционированного доступа, утечек, повреждений и других угроз. Ее основная задача — обеспечить конфиденциальность (доступ к информации только для авторизованных лиц), целостность (защиту от несанкционированных изменений) и доступность (бесперебойную работу систем и данных). Для обеспечения защиты информации применяется комплекс мер, включающих в себя технические, организационные и правовые методы. Часть мер по организации контроля доступа к информации осуществляется "1С:Предприятием", однако клиент-серверная архитектура подразумевает хранение данных в СУБД, что создаёт дополнительные риски для информационной безопасности. Таким образом, помимо защиты в 1С, необходимо обеспечивать безопасность на уровне сервера базы данных.
Для по-настоящему надежной защиты данных недостаточно просто создать сложный пароль — требуется внедрение многоуровневой системы безопасности с эшелонированной обороной. Такой подход подразумевает строгий контроль доступа ко всем потенциальным каналам взаимодействия с данными.
Некоторые ключевые компоненты, которые должна включать такая система:
При построении системы безопасности для 1С-решений важно учитывать, что не все перечисленные механизмы защиты СУБД могут быть полноценно использованы из-за ограничений платформы 1С, т.к. часть функций по защите данных реализована на уровне самой 1С.
Далее в нашей статье мы рассмотрим реализацию принципа наименьших достаточных привилегий и аудита на основе специализированных решений компании PostgresPro.
Для реализации этого подхода в ванильной версии PostgreSQL применяется ролевая модель управления привилегиями, а также механизм защиты на уровне строк (Row-Level Security, RLS). При этом разделение привилегий на уровне бизнес-пользователей в СУБД не требуется, так как решения на базе 1С подключаются к базе данных под единой учётной записью. Все вопросы авторизации и разграничения прав пользователей берёт на себя сама 1С, а не СУБД.
Почему же недостаточно организаций привилегии среди бизнес-пользователей?
Разграничение доступа для администраторов PostgreSQL
Как и любая современная СУБД, PostgreSQL требует регулярного технического обслуживания. При этом администраторы баз данных выполняют исключительно технические функции и не должны иметь доступа к конфиденциальным бизнес-данным.
Проблема неограниченных привилегий суперпользователя в PostgreSQL.
В PostgreSQL суперпользователь — это роль с неограниченными правами, позволяющими выполнять любые операции в системе. По уровню доступа она аналогична:
Основные риски:
Это создает угрозу безопасности, поскольку злоупотребление или компрометация учетной записи суперпользователя может привести к полному контролю над кластером баз данных.
На следующем рисунке представлена возможная схема распределения ролей на кластере Postgres:
1. Отзыв привилегий SUPERUSER у учетной записи 1С
Основные причины:
Например, для пользователя onesuser команда будет выглядеть следующим образом: ALTER USER onesuser WITH NOSUPERUSER;
2. Разделения обязанностей суперпользователя между дополнительными административными ролям:
- Администратор кластера PostgreSQL
функции:
ограничения:
нет доступа к бизнес-данным 1С
- Администратор базы данных 1С (при необходимости)
функции:
ограничения:
3. Создание зоны повышенной безопасности
Для обеспечения безопасности конфиденциальных данных важно контролировать доступ к этим данным.
По умолчанию права на доступ к объектам базы данных могут выдавать:
После отзыва прав суперпользователя у роли 1С, она остаётся владельцем БД и сохраняет возможность назначать права другим пользователям. Однако функционал 1С не требует таких полномочий — пользователь 1С должен отвечать только за работу приложения, а не за управление доступом к данным.
Это создаёт необоснованные риски предоставления прав доступа к объектам базы данных ролям, которые не должны обладать такими полномочиями.
Для устранения этих рисков создается защищенная схема.
Шаги по созданию защищенной схемы:
1. Создание роли администратора безопасности защищенной схемы
CREATE USER ones_security_officer WITH LOGIN;
GRANT CONNECT ON DATABASE database_name TO ones_security_officer;
2. Создание защищённой схемы
По умолчанию база данных 1С создаётся в схеме public, поэтому именно её необходимо защитить.
ALTER SCHEMA public SECURITY OFFICER TO ones_security_officer;
Примечание: Создание администратора безопасности и защищённой схемы должно выполняться от имени суперпользователя. Роли, которые будут допущены в защищенную зону, также должны создаваться от имени суперпользователя, т.к. у администратора СУБД или администраторов БД не должно быть права ADMIN OPTION в отношении этих пользователей, иначе у администраторов может возникнуть возможность получить несанкционированный доступ к данным зоны повышенной безопасности.
3. Блокировка доступа для суперпользователя
После настройки ролей и создания защищенной схемы необходимо ограничить использование стандартной учетной записи postgres:
TYPE DATABASE USER ADDRESS METHOD
local all postgres reject
host all postgres 127.0.0.1/32 reject
host all postgres ::1/128 reject
# chown root pg_hba.conf
# chmod 640 pg_hba.conf
Чтобы новые ограничения вступили в силу, требуется перезапуск сервера СУБД
Примечание: роль суперпользователя postgres сохраняется в системе, но доступ к кластеру для неё ограничивается. В некоторых случаях суперпользователь необходим, например при создании новых ролей, которые будут допущены в защищенную схему или в других критических административных операциях. Однако такие операции не должны выполняться часто, поэтому в большинстве случаев суперпользователь должен быть отключен.
На следующем рисунке представлена возможная схема распределения ролей на кластере Postgres Pro при отказе от использования роли postgres, а также с внедрением защищенной схемы:

Современные системы защиты информации невозможно представить без полноценного механизма аудита.
Ключевые возможности системы аудита:
Более подробная информация о разграничении прав между привилегированными пользователями СУБД и создании защищенной схемы:
https://postgrespro.ru/docs/enterprise/17/sod-separation-of-duties
https://postgrespro.ru/docs/enterprise/17/restrict-dbms-admin-data-access
Далее мы рассмотрим возможности аудирования на примере расширения pgpro_audit.
Ключевые особенности расширения pgpro_audit:
1. Высокая производительность - параллельная обработка событий минимизирует нагрузку на СУБД
2. Классификация событий:
3. Гибкая система фильтрации событий
Аудит можно настроить с высокой точностью, комбинируя параметры:
4. Удобное хранение и анализ логов
5. Широкий набор информации о произошедших событиях:
Расширение pgpro_audit предоставляет удобный SQL-интерфейс для гибкой настройки правил аудита:
Для безопасного разделения обязанностей можно предоставить специалисту по ИБ права на управление аудитом, для этого необходимо выдать права на выполнение функций управления аудитом, а также права на чтение представления pg_proaudit_settings.
GRANT EXECUTE ON FUNCTION pg_proaudit_set_rule(...) TO ones_security_officer;
Ниже представлен пример конфигурации набора правил для аудита кластера PostgreSQL, работающего с базой данных 1С в защищенной зоне.

Примечание: Пользователь 1С не входит в групповую роль ONES_AUDIT, т.к. он совершает тысячи и десятки тысяч операций, логирование которых привело бы к быстрому разрастанию журнала аудита, а также снижению производительности кластера Postgres. Групповая роль ONES_AUDIT создана для централизованного управления аудитом в кластере. В неё включены все пользовательские роли за исключением роли 1С, что позволяет применять единые правила аудита без необходимости настройки для каждого пользователя отдельно.
Данная конфигурация позволяет ответить на следующие вопросы:
Кто подключается к системе?
Меняется ли системная конфигурация?
Происходят ли изменения в структуре данных?
Как изменяются чувствительные данные?
Здесь важно отметить, что аудит можно настроить не только на всю базу данных или схему, но и на отдельные таблицы.
Меняется ли ролевая модель?
Что делают привилегированные пользователи?
Более подробная информация:
В статье была рассмотрена возможность реализации принципа наименьших достаточных привилегий с использованием решений PostgresPro, а также расширения pgpro_audit. Эти инструменты позволяют усилить защиту данных в системах на базе 1С на уровне СУБД, обеспечивая контроль доступа и аудит действий. Однако важно понимать, что обеспечение информационной безопасности требует комплексного подхода, включающего в себя как технические, так организационные и правовые методы.
Эксперты компании «1С-Премиум» готовы оказать профессиональную поддержку по широкому кругу направлений: от проектирования архитектуры и оптимизации производительности до реализации сложных интеграций и решения других технических задач. Мы всегда на связи, чтобы помочь вам в достижении поставленных целей.