Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Использование SSL при работе с web-сервисами          
Batchir Подменю пользователя
сообщение 09.02.09, 21:42
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Одним из элементов безопасности современного предприятия является использование защищенных каналов связи. Защищенные каналы связи позволяют предотвратить несанкционированный просмотр и изменение данных. Одним из наиболее популярных протоколов, реализующих защищенный канал, является протокол SSL. Данная статья описывает, как можно использовать протокол SSL при работе с web-сервисами 1С:Предприятия.


SSL (Secure Socket Layer) - протокол, использующийся для обеспечения защищенного взаимодействия между клиентом и сервером. SSL базируется на:

· Взаимной аутентификации клиента и сервера для того, чтобы и клиент и сервер были уверены в том, что они те, за кого себя выдают

· Цифровых подписях, для обеспечения целостности данных (защиты данных от несанкционированного изменения)

· Шифровании, для обеспечения конфиденциальности данных (защиты данных от несанкционированного просмотра)


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


SSL протокол использует SSL сессию для установки защищенного соединения между клиентом и сервером. Сессия устанавливается путем обмена между клиентом и сервером последовательностью сообщений. При установке сессии могут выполняться такие действия как:

· Установка алгоритмов шифрования, которые будут использоваться для шифрования и цифровой подписи передаваемых данных

· Установка сессионного ключа

· Аутентификация сервера на клиенте

· Аутентификация клиента на сервере


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


Для выполнения аутентификации клиента на сервере и сервера на клиенте SSL использует сертификаты. Сертификат является документом, в котором описывается набор параметров того, для кого выполняется аутентификация. Например, сертификат может содержать имя пользователя или имя web-сайта сервера. Сертификат также имеет цифровую подпись, которая используется для проверки его валидности. Для предотвращения возможности неконтролируемой выдачи сертификатов используются цепочки сертификатов. Началом цепочки сертификатов выступает Центр Сертификации - организация, занимающаяся выдачей сертификатов. Если определенному пользователю требуется сертификат, он посылает запрос в Центр Сертификации на выдачу сертификата. Центр Сертификации выдает готовый сертификат путем подписывания запроса собственным закрытым ключом. Пользователь, которому выдан сертификат, может в свою очередь выступать в качестве Центра Сертификации для других пользователей. Т.е. образуется цепочка сертификатов, корнем которой является корневой Центр Сертификации - , как правило, общеизвестная организация. Чтобы клиент принял данный сертификат, он должен быть в списке сертификатов, которым доверяет этот клиент. В списке может быть как сам сертификат, так и любой сертификат из цепочки сертификатов данного сертификата. Как правило, это сертификат корневого Центра Сертификации.


Одним из наиболее общеупотребимых применений протокола SSL является его использование для передачи HTTP запросов (HTTPS протокол). В этом случае URL схема адресации для таких ресурсов - https, а порт по умолчанию – 443.


Механизм web-сервисов 1С:Предприятия позволяет как использовать, так и реализовывать https web-сервисы.


Клиентская часть механизма web-сервисов автоматически по URL схеме (https) расположения web-сервиса определяет, что взаимодействие с таким web-сервисом должно вестись по защищенному каналу связи. Клиентская часть также требует, чтобы с сервером был связан валидный сертификат, выданный известным клиенту Центром Сертификации.


Сертификат сервера является валидным, если его цифровая подпись соотвествует содержимому сертификата, его дата действия не просрочена и web-сайт, на который выдан данный сертификат, соответствует web-сайту сервера. Если сертификат не является валидным, например web-сайт сертификата не соответствует web-сайту сервера, то клиент не сможет взаимодействовать по протоколу SSL с web-сервисами этого сайта.


Чтобы сертификат сервера был принят клиентом, нужно поместить его или сертификат Центра Сертификации, выдавшего данный сертификат сервера, в файл cacert.pem, который находится в каталоге bin 1С:Предприятия. В этом файле перечислены все сертификаты, которым доверяет данный клиент. Файл имеет формат PEM (Privacy Enhanced Mail) - текстовый формат, в котором сертификаты закодированы в base64 последовательности.


https web-сервисы разрабатываются также, как и обычные http web-сервисы, но требуют дополнительной настройки web-сервера. Для IIS web-сервера настройка заключается в привязке к web-сайту серверного сертификата и настройке виртуальной директории веб-сервиса. Серверный сертификат может быть получен от Центра Сертификации, в качестве которого может выступать любой Windows Server 2003 с установленным сервисом сертификатов. После того, как сертификат связан с web-сайтом, для виртуальной директории web-сервиса нужно указать, что доступ к ней осуществляется по защещенному каналу связи (см. документацию по IIS).


Для Apache web-сервера также нужно указать серверный сертификат и признак работы по защищенному каналу. Сертификат может быть получен при помощи утилиты openssl (см. документацию по mod_ssl).

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 23:05
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!