В процессе эксплуатации 1С:Предприятия необходимо реализовать правильную настройку доступа пользователей к информационной базе, чтобы каждому из пользователей были предоставлены только необходимые ему для работы полномочия. Раздел содержит рекомендации по настройке прав доступа пользователей к данным информационной базы. Приведенные рекомендации общеприняты для работы с базами данных в трехуровневой архитектуре.
Общие замечания
Информационная база 1С:Предприятия 8.0 представляет собой совокупность данных, доступ к которым должен осуществляться исключительно средствами 1С:Предприятия 8.0, которое включает механизм аутентификации работающих с ним пользователей и гибкие средства управления правами доступа к объектам, в том числе и к объектам данных. Управление правами доступа в 1С:Предприятии 8.0 подробно описано документации (раздел «Роли и права доступа» главы 3 «Объекты конфигурации» книги «1С:Предприятие. Конфигурирование и администрирование»).
Однако для обеспечения целостности данных информационной базы и их защиты от несанкционированного доступа наряду с настройкой прав доступа средствами 1С:Предприятия 8.0 необходимо обеспечить невозможность использования этих данных напрямую механизмами, отличными от 1С:Предприятия. Для этого необходимо использовать клиент-серверный вариант 1С:Предприятия и выполнить соответствующую настройку системы безопасности Windows. Файловый вариант информационной базы не позволяет в полной мере обеспечить защиту данных, поскольку доступ к файлу может получить не только 1С:Предприятие 8.0, но и любое другое приложение.
В клиент-серверном варианте информационная база представляет собой базу данных SQL-сервера, которая размещается в специальном файле, например «C:\Program Files\Microsoft SQL Server\MSSQL\Data\InfoBase.mdf». Наряду с этим файлом SQL-сервер может создавать и другие файлы, в частности файл журнала транзакций, например «C:\Program Files\Microsoft SQL Server\MSSQL\Data\ib_tmp_log.LDF». Эти файлы должны использоваться только SQL-сервером, другим пользователям и приложениям доступ к этим файлам должен быть запрещен.
Наиболее важным файлом данных сервера 1С:Предприятия 8.0 является файл srvrib.lst, который обычно находится в каталоге «C:\Documents and Settings\All Users\Application Data\1C\1Cv8». Доступ к этому файлу должно иметь только приложение, являющееся сервером 1С:Предприятия.
На рисунке изображен штатный путь доступа к данным информационной базы в клиент-серверном варианте 1С:Предприятия 8.0. Такая схема доступа к данным характерна для большинства программных систем с трехуровневой архитектурой.
Аутентификацию пользователя 1С:Предприятия и установку соответствующих прав доступа к данным выполняет сервер 1С:Предприятия в соответствии с конфигурацией информационной базы. При этом защита протокола передачи данных между клиентом и сервером возложена на встроенную в COM+ систему безопасности. Подробности см. на ИТС в разделе «Вопросы установки и настройки 1C:Предприятия 8.0 в варианте "клиент-сервер».
Сервер 1С:Предприятия, как правило, работает от имени пользователя USER1CV8SERVER и от его имени обращается к своим служебным и временным файлам. С другой стороны, сервер 1С:Предприятия обращается к базе данных SQL-сервера от имени пользователя SQL, который устанавливается при создании информационной базы.
Пользователя, от имени которого работает SQL-сервер, можно посмотреть или изменить при помощи SQL Server Enterprise Manager в диалоге свойств SQL-сервера на закладке Security в рамке Startup service account. От его имени SQL-сервер обращается к файлам базы данных. В свою очередь, SQL-сервер обеспечивает аутентификацию пользователя, обращающегося к базе данных, и наделяет его правами в соответствии с настройками этого пользователя. Подробности см. на ИТС в разделе «Сервер 1С:Предприятия и SQL-сервер».
Рекомендации по настройке доступа пользователей
Трехуровневая архитектура 1С:Предприятия 8.0 разработана таким образом, что пользователю не требуется доступ ни к каким файловым ресурсам, связанным с 1С:Предприятием. Пользователю клиентского приложения 1С:Предприятия также не требуется доступ к базе данных SQL сервера. Таким образом, для обеспечения штатного режима доступа пользователей 1С:Предприятия 8.0 к данным информационных баз и вспомогательным данным необходимо придерживаться следующих правил:
-
Исключите доступ к компьютерам, на которые установлены SQL-сервер и сервер 1С:Предприятия, всех, кроме администраторов системы: как организационно, так и уделяя повышенное внимание списку пользователей Windows, имеющих право интерактивного входа в серверные компьютеры.
-
Запретите доступ к файлам баз данных SQL-сервера всем пользователям Windows, кроме пользователя, от имени которого работает SQL-сервер. Желательно, чтобы этот пользователь был предназначен только для SQL-сервера и не мог входить ни интерактивно, ни удаленно. При необходимости доступ к этим файлам может быть разрешен лишь наиболее квалифицированным администраторам.
-
Рекомендуется для компьютера, на котором установлен SQL-сервер и хранятся базы данных, полностью запретить удаленный доступ к файлам через сеть.
-
Включите в SQL-сервере аутентификацию SQL Server and Windows при помощи SQL Server Enterprise Manager в диалоге свойств SQL-сервера на закладке Security.
-
Создайте в SQL-сервере пользователя, имеющего полные права на базу данных, хранящую информационную базу, с паролем и укажите имя этого пользователя и его пароль в диалоге создания информационной базы. Ограничьте или запретите доступ к этой базе данных со стороны других пользователей SQL-сервера. Установите пароль пользователю sa, который должны знать только администраторы.
-
В компьютере, на котором установлен сервер 1С:Предприятия, запретите доступ к файлам каталога данных сервера 1С:Предприятия (обычно «C:\Documents and Settings\All Users\Application Data\1C\1Cv8») всем пользователям Windows, кроме того, от имени которого работает сервер 1С:Предприятия (обычно USER1CV8SERVER).
-
Рекомендуется для компьютера, на котором установлен сервер 1С:Предприятия, полностью запретить удаленный доступ к файлам через сеть.
-
Давайте административные права только тем пользователям 1С:Предприятия, которые являются администраторами, поскольку пользователь с административными правами имеет, в частности, возможность выполнить выгрузку / загрузку информационной базы, а также выполнять любые изменения прав, тем самым получая доступ к любым данным информационной базы.
-
Выберите необходимый уровень защиты протокола связи сервера 1С:Предприятия с SQL-сервером. Для этого выполните настройки, подробно описанные в «Сервер 1С:Предприятия и SQL-сервер». Здесь важно, что для повышения защищенности протокола на том компьютере, на котором установлен SQL-сервер, в диалоге SQL Server Network Utility можно установить флаг Force Protocol Encryption, что обеспечит шифрование данных перед их передачей по сети. При этом аналогичный флаг необходимо установить на компьютере - сервере 1С:Предприятия в диалоге SQL Server Client Network Utility. Следует, однако, учитывать, что установка этого флага приведет к некоторому снижению производительности.
-
Выберите необходимый уровень защиты протокола связи клиента 1С:Предприятия с сервером 1С:Предприятия. Это можно сделать на компьютере - сервере 1С:Предприятия при помощи утилиты Component Services. На закладке Security свойств COM+ приложения 1CV8 выберите необходимое значение Authentication level for calls. Наибольшую защиту обеспечивает режим Packet Privacy, подразумевающий кодирование данных перед тем, как передавать их по сети. Использование этого режима может привести к заметному снижению производительности. Подробности в «Вопросы установки и настройки 1C:Предприятия 8.0 в варианте "клиент-сервер».
|