ЛР4_1С_83_тонкий_и_WEB-клиент (1031817), страница 8
Текст из файла (страница 8)
1.8.4. Внешние отчеты и обработки
Профиль безопасности кластера может содержать список внешних отчетов и обработок, которые можно использовать из кода прикладного решения без включения безопасного режима. Если информационная база ссылается на профиль безопасности, в котором ограничено использование внешних отчетов и обработок, то возможно использование без включения безопасного режима только тех внешних отчетов и обработок, которые перечислены в этом списке. При попытке использования внешних отчетов и обработок, не содержащегося в этом списке, без включения безопасного режима, будет выдано исключение. Пустой список значит, что данный профиль не позволяет использовать никакие внешние отчеты и обработки без включения безопасного режима. Также с помощью данного элемента профиля управляется возможность использовать оператор Выполнить() и функцию Вычислить() в безопасном режиме. Если свойство профиля безопасности Разрешен полный доступ: к внешним отчетам и обработкам сброшено, то в прикладном решении можно использовать Выполнить() и Вычислить() только в безопасном режиме (явно устанавливая его перед использованием оператора или функции). Если прикладное решение использует Выполнить() и Вычислить() в технологических целях (в небезопасном режиме), то для него нельзя использовать профиль безопасности, у которого сброшен флажокРазрешен полный доступ: к внешним отчетам и обработкам.
Разрешенный внешний отчет или обработка описывается следующими параметрами:
-
● Имя – уникальное имя внешнего отчета или обработки. Является уникальным в рамках одного профиля.
-
● Контрольная сумма – контрольная сумма SHA1 разрешенного внешнего отчета или обработки, преобразованная к формату base64.
Для построения контрольной суммы можно использовать объект ХешированиеДанных и метод глобального контекста Base64Строка().
1.8.5. Приложения операционной системы
Профиль безопасности кластера может содержать список приложений, которые можно запускать из прикладного решения. Если информационная база ссылается на профиль безопасности, в котором ограничен запуск приложений, то возможно использование только тех приложений (исполняемых файлов), которые перечислены в списке разрешенных приложений этого профиля. При попытке выполнения метода ЗапуститьПриложение() с приложением или параметрами, которым не соответствует ни одной записи в списке, будет выдано исключение. Пустой список значит, что данный профиль не позволяет использовать никакие приложения.
Разрешенное приложение операционной системы описывается следующими параметрами:
-
● Имя – имя приложения. Уникально в пределах профиля безопасности.
-
● Шаблон строки запуска – шаблон строки запуска приложения. Состоит из последовательности шаблонных слов, разделенных пробелами. Шаблонное слово представляет собой произвольную последовательность символов и может содержать символы подстановки. Если шаблонное слово может содержать пробелы, то оно должно быть заключено в кавычки.
Символы подстановки:
-
● % – произвольная последовательность символов;
-
● _ – один произвольный символ;
-
● * – имя файла. Если шаблонное слово начинается с символа *, то параметр является маршрутом от виртуального каталога. Перед выполнением виртуальный каталог заменяется на реальный каталог.
-
● \ – префикс символа. Указание данного символа перед шаблонным словом делает слово не шаблонным.
Проверка соответствия запускаемого приложения списку разрешенных приложений выполняется для имени запускаемого приложения и каждого из параметров, имеющихся в команде запуска. Отсутствие соответствующего шаблонного слова значит, что шаблон не соответствует строке запуска.
Например, шаблон xcopy */temp/% */usrappdata/% позволяет выполнять копирование произвольного файла из виртуального каталога /temp в виртуальный каталог /userdata.
В строке запуска параметры разделяются одним или несколькими пробелами.
Строка, заключенная в кавычки ("), является одним параметром. Одним параметром считается последовательность слов, если первое и последнее слово содержит нечетное количество одиночных символов кавычки. Если есть первое слово с кавычками, но нет второго, то одним параметром считается все до конца строки. Если параметр не заключен в кавычки, то символ кавычки представляется парой символов \". Символ кавычки в составе параметра, заключенного в кавычки, может представляться одной из пар символов: \"или "".
1.8.6. Ресурсы сети Интернет
Профиль безопасности может содержать список ресурсов интернет, к которым разрешены обращения из серверного кода прикладного решения. Если в профиле безопасности ограничено использование интернет, то использование объекта ИнтернетСоединение запрещено, а при помощи объектов ИнтернетПочта, HTTPСоединение, FTPСоединение,WSОпределения разрешено обращение только к тем ресурсам, которые перечислены в списке разрешенных ресурсов интернет этого профиля. При обращении к другим ресурсам будет порождено исключение. Пустой список значит, что запрещено обращение к любым ресурсам интернет.
Разрешенный ресурс сети Интернет описывается следующими параметрами:
-
● Имя – имя ресурса для его идентификации. Уникально в пределах профиля безопасности.
-
● Адрес – адрес ресурса без указания протокола.
-
● Порт – номер порта, через который выполняется взаимодействие с указанным ресурсом.
-
● Тип ресурса (протокол) – протокол, по которому выполняется взаимодействие с ресурсом. Могут быть указаны следующие протоколы (регистр символов не играет роли):
-
● imap – сервер электронной почты, работающий по протоколу IMAP.
-
● pop3 – сервер электронной почты, работающий по протоколу POP3.
-
● smtp – сервер электронной почты, работающий по протоколу SMTP.
-
● http – веб-сервер.
-
● https – защищенное соединение с веб-сервером.
-
● ftp – ftp-сервер.
-
● ftps – защищенное соединение с ftp-сервером.
1.8.7. Привилегированный режим
При установленном разрешении Привилегированный режим разрешено включать привилегированный режим в том случае, если профиль с установленным разрешением выбран в качестве профиля безопасного режима. При этом возможность получать доступ к различным внешним ресурсам определяется параметрами установленного профиля безопасности.
1.9. Безопасность кластера серверов
При работе «1С:Предприятия» в варианте клиент-сервер задача обеспечения безопасности данных сводится к тому, что доступ к данным «1С:Предприятия» должен осуществляться только механизмами «1С:Предприятия». В связи с этим можно выделить несколько областей обеспечения безопасности.
Рис. 11. Общая схема безопасности
Все клиентские приложения и внешние соединения используют данные «1С:Предприятия» только через кластер серверов «1С:Предприятия», выполнив процедуру аутентификации «1С:Предприятия», заключающуюся в том, что перед началом работы с кластером серверов приложение должно сообщить ему имя пользователя системы «1С:Предприятие» и его пароль. Дальнейшая работа с кластером серверов будет возможной, только если пользователь с соответствующим паролем был зарегистрирован в информационной базе.
Данные, с которыми работает кластер серверов «1С:Предприятия», делятся на информационную базу и служебные данные. Таким образом, задача кластера серверов заключается в том, чтобы обеспечить безопасность данных в следующих областях (нумерацию областей см. рис. 11):
-
● при обмене между клиентом и кластером серверов (1);
-
● при обмене между консолью кластера серверов и кластером (2);
-
● при обмене данными между кластером серверов и веб-сервером (7);
-
● при хранении служебных данных в кластере серверов (3);
-
● при обмене данными внутри кластера (4).
Информационная база размещается в базе данных, и ее безопасность, а также безопасность при обмене между кластером серверов и сервером баз данных обеспечивается средствами используемой СУБД (5).
При подключении к информационной базе через веб-сервер безопасность обмена данными между клиентским приложением и веб-сервером обеспечивает используемый веб-сервер (6).
1.9.1. Безопасность данных, передаваемых между клиентом и кластером серверов
Безопасность данных, передаваемых между клиентом и кластером серверов, обеспечивается за счет возможности шифрования этих данных. При этом может быть выбран один из трех уровней безопасности:
-
● выключено,
-
● только соединение,
-
● постоянно.
Уровень выключено является самым низким, уровень постоянно – самым высоким. При этом используется безопасное соединение по протоколу TCP/IP с шифрованием алгоритмамиRSA и Triple DES.
1.9.1.1. Уровень безопасности «постоянно»
Использование уровня безопасности постоянно позволяет полностью защитить весь поток данных (как пароли, так и непосредственно данные) между клиентом и кластером серверов.
ВНИМАНИЕ! Следует учитывать, что при этом возможно значительное снижение производительности системы.
В общем виде протокол взаимодействия клиента и кластера серверов представлен на следующем рисунке.
Рис. 12. Уровень безопасности «постоянно»
Протокол взаимодействия одинаков как для менеджера кластера (rmngr), так и для рабочего процесса (rphost): после установки соединения первый обмен данными выполняется с использованием шифрования по алгоритму RSA, дальнейший обмен данными выполняется с использованием шифрования по алгоритму Triple DES.
Уровень безопасности задается при создании информационной базы. Эта информация сохраняется как на клиенте (в списке информационных баз), так и в кластере серверов (в реестре сервера). После создания информационной базы, установленный для нее уровень безопасности изменить уже нельзя. Уровень безопасности может быть повышен по инициативе клиентского приложения.
Поэтому после установки соединения клиент генерирует приватный и публичный ключи для шифрования RSA и передает в кластер серверов публичный ключ и уровень безопасности, который указан для данной информационной базы на клиенте. Это желаемый уровень безопасности.
Кластер серверов выбирает максимальный уровень безопасности из переданного клиентом и указанного для этой информационной базы в реестре кластера. Это фактический уровень безопасности. Кроме этого, кластер серверов генерирует сеансовый ключ для шифрования Triple DES и вместе с фактическим уровнем безопасности передает его клиенту, предварительно зашифровав эти данные с помощью публичного ключа клиента.
Дальнейший обмен данными выполняется в соответствии с фактическим уровнем безопасности, при этом как клиент, так и сервер шифруют передаваемые данные с использованием сеансового ключа по алгоритму Triple DES.
1.9.1.2. Уровень безопасности «только соединение»
Использование уровня безопасности только соединение позволяет частично защитить поток данных (только пароли) между клиентом и кластером серверов. Этот уровень безопасности является компромиссом между безопасностью и производительностью.
С одной стороны, данные информационной базы передаются в открытом виде. Поскольку эти данные составляют основную массу всего потока данных, производительность системы практически не снижается.
С другой стороны, ключевая информация (пароли) передается только в зашифрованном виде. В результате если этот поток данных будет перехвачен, из него можно будет получить лишь незначительную часть данных информационной базы. Т. к. пароли будут недоступны, злоумышленник не сможет аутентифицироваться в информационной базе и получить доступ ко всем данным или выполнить произвольные действия с информационной базой.
В общем виде протокол взаимодействия клиента и кластера серверов представлен на рис. 13.
Рис. 13. Уровень безопасности «только соединение»
После установки соединения первый обмен данными выполняется с использованием шифрования по алгоритму RSA, затем обмен данными выполняется с использованием шифрования по алгоритму Triple DES до окончания процедуры аутентификации. Дальнейший обмен выполняется нешифрованными данными.
1.9.1.3. Уровень безопасности «выключено»
Уровень безопасности выключено является самым низким и самым производительным. Практически все данные передаются без использования шифрования.
В общем виде протокол взаимодействия клиента и кластера серверов представлен на следующем рисунке.