Цитата: Работа с сервером приложения по протоколу HTTP.
В предыдущих версиях торговой системы работа базового модуля с сервером приложений происходила с использованием протокола TCP. Протокол TCP удобен для обмена данными в пределах локальной сети, но не всегда может быть использован при установлении соединения между компьютерами, находящимися в разных локальных сетях, из-за ограничений, которые накладываются провайдерами интернет сетей. В любом случае, настройка такого рода соединения может вызвать затруднения и требует участия системного администратора.
В текущей версии реализован вариант соединения базового модуля торговой системы с сервером приложения с использованием протокола HTTP. Протокол HTTP поддерживается всеми провайдерами и связанные с этим протоколом порты по умолчанию являются открытыми.
Для обеспечения связи компьютера клиента с компьютером сервера приложения из-за пределов локальной сети необходимо, чтобы IP адрес компьютера сервера был виден за пределами локальной сети.
Установка соединения с сервером приложений из-за пределов локальной сети по протоколу HTTP, по-прежнему, требует совпадения версий клиентской части и версии сервера приложений. Внутренний протокол обмена данными между клиентской частью торговой системы и сервером приложений не является открытым и зависит от версии системы.
Тем не менее, поскольку доступ к серверу приложений и, через него, к информации в базе данных, при работе по протоколу HTTP, может происходить с любого неизвестного компьютера, то для обеспечения административного контроля над пользователями, для сотрудников торговой системы введен флаг разрешения доступа через Internet по протоколу HTTP. По умолчанию флаг не установлен и сотрудникам не разрешается работать с сервером приложения через Internet. Флаг устанавливается в административном модуле в разделе «Права доступа» на странице «Сотрудники» в диалоге изменения атрибутов сотрудника.
Перед началом работы с сервером приложений по протоколу HTTP необходимо удостовериться, что на сервере приложений включен прослушиватель канала HTTP. Для этого в программе «Администратор сервера приложения» необходимо открыть диалог «Настройка общих параметров» и убедиться, что флажок «Разрешить подключение через Internet» отмечен.
По умолчанию флажок «Разрешить подключение через Internet» установлен, а флажок «Защищенный HTTP канал» не выбран. Флаг «Защищенный HTTP канал» следует устанавливать, только если предполагается использование сертификатов безопасности для обмена между клиентской частью и сервером приложений. В этом случае все клиенты перед началом работы должны получить соответствующие сертификаты и установить их. Без наличия сертификата работа клиента с сервером приложений, настроенным на защищенный канал, будет невозможна.
Перед началом работы клиентской части необходимо выбрать способ соединения клиентской части торговой системы с сервером приложений. Выбор осуществляется в диалоге подключения, кнопка «настройка соединения», в мастере настройки соединения на странице «Соединение с сервером приложений».
При выборе варианта подключения «через Internet (протокол HTTP)» необходимо указать значение флага «Защищенный HTTP канал». Значение флага должно быть таким же, как у сервера приложений. Если значения флагов не будут совпадать, работа клиентской части будет невозможна. По умолчанию флаг «Защищенный HTTP канал» не выбран, так же как в сервере приложений.
На следующей странице мастера «Настройка подключения Internet» необходимо дополнительно выбрать вариант соединения и, при необходимости, настроить его параметры. Варианты соединения следующие:
- прямое подключение к Internet
- автоматическое определение прокси сервера
- подключение к Internet через указанный прокси сервер
Прямое подключение к Internet не требует никаких дополнительных настроек. Этот вариант можно использовать в том случае, когда компьютер клиента имеет прямой выход в сеть Internet или когда компьютер с сервером приложений находится в пределах локальной сети. То есть в тех случаях, когда обращение к компьютеру серверу приложений по заданному адресу (имени) может быть произведено напрямую, без участия прокси сервера.
Автоматическое определение прокси сервера и подключение к Internet через указанный прокси сервер используется в тех случаях, когда компьютер клиент получает доступ к Internet через прокси сервер. Рекомендуется использовать автоматическое определение прокси сервера. В тех случаях, когда политика безопасности не позволяет получить отклик от прокси сервера, необходимо воспользоваться прямым определением параметров прокси сервера.
Для того, чтобы настройка способа соединения на многих компьютерах не отнимала много времени, по прежнему, можно воспользоваться сохранением профиля соединения в файл и импортом его при настройке соединения.
Работа по защищенному каналу.
Обмен данными между клиентом и сервером по протоколу HTTP без использования защищенного канала является достаточно безопасным. Имя и пароль пользователя при подключении клиентской части к серверу приложений передаются с использованием алгоритма шифрования и не могут быть простым образом расшифрованы и повторно использованы в случае прослушивания канала связи. Права пользователю выдаются в точном соответствии с его должностными правами, что исключает несанкционированное подключение в данным базы данных. Считывание, подмена или искажение данных, передаваемых по протоколу HTTP, между клиентом и сервером требует знания внутренних протоколов торговой системы и значительных усилий по имитации этих протоколов.
Тем не менее, в тех случаях, когда предполагается возможность целенаправленных усилий квалифицированных злоумышленников по внедрению в трафик обмена данными, можно воспользоваться защищенным каналом HTTP. Защищенный канал обеспечивает проверку подлинности, как клиента, так и сервера перед началом обмена, а также полное криптоустойчивое шифрование всех передаваемых данных и защиту от подмены данных.
Для использования защищенного канала HTTP необходимо включить флаг «Защищенный HTTP канал» как на сервера приложений, так и в настройках соединения клиентской части, создать сертификат безопасности на сервере приложений и установить его в клиентской части.
Для того, чтобы создать файл сертификата безопасности на сервер приложения необходимо в администраторе сервера приложений запустить диалог «Настройка общих параметров» и нажать кнопку «Сертификат». В диалоге «Сертификат безопасности» можно создать новый сертификат, нажав кнопку «Смена сертификата безопасности сервера» и создать файл с сертификатом безопасности для клиента, нажав кнопку «Экспорт ответной части сертификата для клиентов».
Смена сертификата безопасности на сервере приводит к отмене ранее выданных сертификатов клиентам, и работа клиентов становится невозможной до получения ими нового файла с сертификатом и установки ответной части сертификата безопасности. Смена сертификата безопасности может быть рекомендована в случае подозрения на потерю или хищение сертификата сторонними лицами.
После смены сертификата сервера приложений, сервер приложений необходимо перестартовать.
Для установки ответной части сертификата на клиенте необходимо в мастере настройки соединения на странице «Соединение с сервером приложений» нажать кнопку «Сертификат», в диалоге «Сертификат безопасности» нажать кнопку «Установить» и выбрать файл сертификата безопасности.
Сервер приложений создает и использует самоподписываемый сертификат, достоверность которого гарантируется только административным способом, то есть доставкой его на компьютер клиента заведомо безопасным способом. В связи с этим операционная система по умолчанию не доверяет таким сертификатам и при попытке его установки выдает стандартное сообщение: «Не удается проверить, что сертификат принадлежит «SM.AppServer». Обратитесь к «SM.AppServer» и подтвердите его происхождение».
В случае сомнения в достоверности сертификата можно сравнить строку чисел отпечатка сертификата в диалоге предупреждения системы безопасности Windows и в диалоге сервера приложений: «Настройка общих параметров» - «Сертификат».
При работе с несколькими серверами приложений по защищенному каналу для каждого из них необходимо установить свой сертификат.
Сертификат, установленный в мастере настройки соединения клиентской части действует только для локального пользователя компьютера. В случае если требуется установить сертификат для всех пользователей компьютера или если необходимо установить сертификат на удаленный компьютер сети необходимо выполнить следующие действия:
1) Через меню «Пуск» - «Выполнить..» запустить программу MMC.
2) Меню «Консоль» - «Добавить или удалить оснастку»
3) Кнопка «Добавить...»
4) Выбрать оснастку «Сертификаты»
5) В диалоге «Оснастка диспетчера сертификатов» выбрать пункт «Эта оснастка будет управлять сертификатом для учетной записи компьютера»
6) В диалоге «Выбор компьютера» указать имя компьютера пользователя
7) Развернуть дерево «Доверенные корневые центры сертификации» - «Сертификаты»
8) Меню «Действие» - «Все задачи» - «Импорт» открывает Мастер импорта сертификатов Windows
9) В мастере выбрать файл сертификата
10) Выбрать пункт «Поместить все сертификаты в следующее хранилище» - «Доверенные корневые центры сертификации».
11) Завершить мастер
12) Повторить все действия для каждого пользовательского компьютера локальной сети
Сертификат, установленный таким образом, доступен и виден в диалоге сертификатов клиентской части торговой системы, но не может быть удалён средствами торговой системы.
При использовании соединения по протоколу HTTP для компьютеров, расположенных вне локальной сети, компьютеры, расположенные в локальной сети могут работать с тем же сервером приложения по протоколу TCP. Но при использовании либо открытого, либо защищенного канала HTTP все компьютеры клиенты, работающие по протоколу HTTP должны использовать тот же вариант настройки, что и сервер приложений. В случае если необходимо, чтобы часть клиентов работало в открытом режиме, а часть в защищенном, необходимо использовать два сервера приложения.