ЛР4_1С_83_тонкий_и_WEB-клиент (1031817), страница 9
Текст из файла (страница 9)
Рис. 14. Уровень безопасности «выключено»
После установки соединения первый обмен данными выполняется с использованием шифрования по алгоритму RSA. Дальнейший обмен выполняется нешифрованными данными.
Если клиентское приложение и кластер серверов расположены на одном компьютере и уровень безопасности установлен в значение выключено, то шифрование данных между клиентским приложением и кластером серверов вообще не производится.
1.9.2. Безопасность данных, передаваемых между консолью кластера серверов и кластером серверов
Безопасность данных, передаваемых между консолью кластера серверов и кластером серверов, обеспечивается также за счет возможности шифрования передаваемых данных. При этом используются те же самые три уровня безопасности: выключено, только соединение и постоянно.
Консоль кластера серверов взаимодействует с агентом сервера (процесс ragent). Желаемый уровень безопасности задается при старте агента сервера. Фактический уровень безопасности будет выбран агентом сервера как максимальный из указанного при старте и из уровней безопасности всех кластеров, расположенных на данном центральном сервере. Уровень безопасности кластера задается при его создании (программном или интерактивном).
1.9.3. Безопасность данных, хранящихся в кластере серверов
Кластер серверов использует ряд служебных данных, например, список кластеров сервера, реестры кластеров и др. Все служебные данные представляют собой совокупность файлов, которые находятся в двух каталогах:
-
● каталог данных приложения,
-
● каталог временных файлов.
Общая идеология работы со служебными данными заключается в том, что доступ к служебным данным кластера серверов должны иметь только менеджер кластера (rmngr) и агент сервера (ragent). Рабочие процессы (rphost) используют служебные данные только через менеджера кластера, поскольку являются потенциально опасными, т. к. в них могут выполняться фрагменты кода конфигураций.
1.9.3.1. Безопасность каталога данных приложения
В каталоге данных приложения при установке кластера серверов «1С:Предприятия» создается специальный каталог, предназначенный только для файлов кластера серверов «1С:Предприятия».
Рис. 15. Каталог данных приложения
Пользователю USR1CV8, от имени которого стартует по умолчанию агент сервера, назначаются полные права на этот каталог. Другим пользователям доступ в этот каталог запрещается. Запуск менеджера кластера выполняет агент сервера от имени того же самого пользователя, от которого запущен он сам.
Пользователь USR1CV8 обладает правами:
-
● Вход в качестве службы (Log on as a service),
-
● Вход в качестве пакетного задания (Log on as a batch job).
Пользователь USER1CV8 должен входить в группы:
-
● Пользователи журналов производительности (Performance Log Users).
Запуск рабочих процессов также осуществляет агент сервера. По умолчанию рабочий процесс запускается от имени того пользователя, от которого запущен агент сервера. Однако предусмотрена возможность создания дополнительного пользователя операционной системы, от имени которого стартуют только рабочие процессы. Это позволяет предотвратить непосредственный доступ программного кода конфигураций к служебным данным.
Для того чтобы рабочий процесс запускался не от имени того же пользователя, что и агент сервера, в каталоге данных приложений, относящемся к пользователю агента сервера, может быть размещен файл swpuser.ini (см. книгу «1С:Предприятие 8.3. Руководство администратора»).
1.9.3.2. Безопасность каталога временных файлов
Защита данных из временных файлов выполняется иначе. Поскольку системный каталог временных файлов является общедоступным, то в нем ограничиваются права доступа к каждому временному файлу отдельно.
Для этого при создании временного файла кластером серверов «1С:Предприятия» пользователю USR1CV8 устанавливаются полные права на создаваемый файл. Другим пользователям доступ к этому файлу запрещается. Таким образом, данные, хранимые во временных файлах, защищаются от несанкционированного доступа.
Рис. 16. Ограничение доступа
1.9.3.3. Шифрование паролей, хранимых в служебных данных кластера серверов
Пароли администраторов кластера серверов и пароли доступа к информационным базам хранятся в кластере серверов в зашифрованном виде. Для этого используется шифрование алгоритмами SHA1 и AES128:
-
● SHA1 – с его помощью хранятся пароли, которые проверяет система «1С:Предприятие» (например, пароль администратора кластера, администратора центрального сервера). При этом исходный текст хранимых паролей восстановить нельзя, а можно только проверить совпадение контрольной суммы введенного пароля с хранимой контрольной суммой.
-
● AES128 – с его помощью хранятся пароли, для которых должен восстанавливаться исходный текст (например, пароли доступа к СУБД).
1.9.4. Безопасность данных, передаваемых внутри кластера серверов
Безопасность данных, передаваемых внутри кластера серверов (например, между рабочими процессами и менеджером кластера), обеспечивается за счет возможности шифрования передаваемых данных. При этом используются три уровня безопасности, о которых было сказано выше: выключено, только соединение и постоянно.
При взаимодействии рабочего процесса с менеджером кластера используется уровень безопасности кластера. При взаимодействии агента сервера с менеджером кластера уровень безопасности выбирается как максимальный из уровня безопасности, с которым запущен агент сервера, и уровня безопасности кластера, обслуживаемого данным менеджером.
1.9.5. Безопасность данных, передаваемых между кластером серверов и СУБД
Защита канала между кластером серверов и СУБД осуществляется средствами той СУБД, которая используется. Все поддерживаемые СУБД позволяют настроить свои клиентские компоненты, находящиеся в кластере, так, чтобы трафик между ними и самой СУБД был зашифрован. Все поддерживаемые СУБД могут использовать протокол SSL.
1.9.6. Безопасность данных, передаваемых между клиентским приложением и веб-сервером
Для защиты канала между веб-клиентом и веб-сервером или между тонким клиентом и веб-сервером используются криптографические протоколы SSL или TLS.
Поддержку этих протоколов обеспечивает HTTPS-соединение с веб-сервером. Для этого на сервере должен находиться действительный серверный сертификат, который гарантирует клиенту подлинность открытого ключа сервера, используемого для шифрования данных. Также можно использовать клиентские сертификаты, гарантирующие серверу подлинность клиента.
Следует помнить об ограничениях, связанных с операционной системой, под которой работает клиентское приложение: в клиентском приложении, работающим под ОС Linux, не поддерживается использование клиентских сертификатов из хранилища сертификатов Windows.
1.9.7. Безопасность данных, передаваемых между веб-сервером и кластером серверов
Для защиты каналов между кластером серверов и веб-сервером используются алгоритмы шифрования данных, реализуемые системой «1С:Предприятие»: RSA и Triple DES.
Соединение между кластером и веб-сервером защищается только кластером на основании свойств информационной базы, к которой выполняется подключение (подробнее см.здесь).
1.9.8. Администраторы центрального сервера и администраторы кластера
Администрирование кластера серверов «1С:Предприятия» может выполняться как с использованием аутентификации администраторов, так и без нее.
Если аутентификация не используется, то любой пользователь, подключившийся к центральному серверу кластера, может выполнять все административные действия как с центральным сервером, так и с любым кластером, расположенным на данном сервере. По умолчанию после установки кластера серверов «1С:Предприятия» аутентификация администраторов не используется.
Для ограничения круга пользователей, которые могут выполнять административные действия, создаются списки администраторов центрального сервера (см. здесь) и списки администраторов каждого из кластеров (см. здесь), расположенных на данном сервере. Области действий, на которые распространяются права администраторов центрального сервера и администраторов кластеров, не пересекаются.
Аутентификация администратора центрального сервера позволяет пользователю выполнять административные действия с центральным сервером. Но для того, чтобы выполнить какие-либо административные действия с конкретным кластером, требуется аутентификация администратора кластера. В то же время для выполнения административных действий с кластером пользователь должен аутентифицироваться как администратор кластера; дополнительная аутентификация в качестве администратора сервера для этого не требуется.
Механизм аутентификации администраторов центрального сервера/кластера включается системой автоматически, как только в списке администраторов центрального сервера/кластера создается хотя бы один администратор.
При включенном механизме аутентификации пользователь, не аутентифицировавшийся как администратор центрального сервера, может только просмотреть и изменить параметры подключения к центральному серверу в консоли администрирования кластера серверов.
Пользователь, не аутентифицировавшийся в качестве администратора кластера, может только просмотреть свойства кластера. Кроме того, используя средства встроенного языка, такой пользователь может создавать объекты кластера, информационной базы и пр., но не имеет возможности регистрировать их в кластере.
1.10. Механизм блокировок информационной базы
Для обеспечения согласованной работы с информационной базой «1С:Предприятие» использует механизм блокировок, который обеспечивает конкурентную работу с тремя составляющими:
-
● конфигурация,
-
● информационная база,
-
● база данных.
Работу этого механизма можно увидеть в утилите администрирования кластера серверов (см. здесь).
Существуют два вида блокировок: разделяемая и исключительная. Разделяемые блокировки обеспечивают совместную работу нескольких сеансов. Исключительнаяблокировка используется в тех случаях, когда необходимо исключить возможность изменения данных другими сеансами.
С точки зрения администрирования системы важно знать, в каких случаях устанавливается исключительная блокировка (монопольный режим). При этом исключительная блокировка на конфигурацию и информационную базу устанавливается и снимается автоматически самой системой в некоторых случаях (см. ниже). Исключительная блокировка на базу данных может быть установлена или снята как автоматически системой, так и разработчиком при вызове метода встроенного языка УстановитьМонопольныйРежим().
При этом важно понимать, что данные блокировки относятся к механизмам «1С:Предприятия», которые отвечают за доступ к базе данных. Поэтому, например, установка исключительной блокировки базы данных не препятствует доступу к базе данных другим приложениям, не использующим механизмы «1С:Предприятия» для работы с базой данных.
Исключительная блокировка:
-
● На конфигурацию – устанавливается системой при запуске конфигуратора и гарантирует невозможность подключения к одной информационной базе нескольких конфигураторов.
-
● На информационную базу – означает, что может существовать только один сеанс любого вида. Блокировка устанавливается:
-
● При обновлении конфигурации базы данных;
-
● Загрузке информационной базы;
-
● Выгрузке информационной базы;
-
● Создании начального образа информационной базы;
-
● Конвертации информационной базы для новой версии платформы;
-
● Тестировании и исправлении.
-
● На базу данных – означает, что может существовать один сеанс вида Конфигуратор и только один дополнительный сеанс произвольного вида. Блокировка устанавливается:
-
● При выполнении метода УстановитьМонопольныйРежим() – требуется в тех случаях, когда необходимо выполнить согласованные изменения базы данных, но проводимые изменения не могут быть выполнены в одной транзакции. Например, при массовом удалении объектов в большой информационной базе.
-
● При групповом проведении документов (только для толстого клиента).
Если в момент попытки перехода в монопольный режим существуют служебные соединения с информационной базой, то такие соединения не препятствуют установке монопольного режима доступа (как к информационной базе, так и к базе данных).
Т. к. сеанс определяет активного пользователя, то наличие сеансов будет мешать переходу в монопольный режим (исключая сеанс консоли кластера). Кроме того, при попытке перехода в монопольный режим происходит неявный разрыв всех соединений с информационной базой, которым не назначен сеанс. Если установлен монопольный режим доступа к информационной базе или базе данных, то новые сеансы не могут быть начаты.
Если существуют веб-серверы, имеющие соединения с данной информационной базой, то при попытке установки монопольного доступа происходит обращение к этим серверам с целью очистки пула соединений.