Добро пожаловать!






  Правила
 Забыли пароль?
 Регистрация

Разное полезное:

Главная arrow Документация arrow Обработка https-запросов
Обработка https-запросов Печать E-mail
Автор mai62   
26.04.2014 г.

Как это работает

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

Обычно прокси-сервер при обслуживании обмена по https-протоколу прозрачно передает зашифрованные данные между клиентом и сервером. Прокси-сервер при этом не имеет возможности определить какие именно запросы передает через него клиент и какие данные передает в ответ сервер. В результате этого возможности прокси-сервера по обработке проходящих через него запросов по сравнению с http-протоколом резко сокращаются. Большинство списков правил не работают, отсутствует кэширование в прокси-сервере.

Давайте теперь посмотрим как работает HandyCache при включенной опции Обработка ssl. Когда браузер передает запрос по https-протоколу, HandyCache симулирует подключение к указанному серверу и вступает в обмен с браузером от имени сервера. Для этого HandyCache генерирует сертификат для данного сервера и использует его в процессе обмена с браузером. Таким образом HandyCache получает доступ к запросам, направляемым браузером в адрес сервера. Далее HandyCache работает с этими запросами точно также как с запросами, поступившими по http-протоколу. Работают все списки, расширения и кэширование. Если в результате обработки запроса выясняется, что за данными нужно обратиться к внешнему серверу, HandyCache обращается к нему по https-протоколу. Данные, полученные от внешнего сервера, расшифровываются и обрабатываются в HandyCache в соответсвии с его настройками. Данные, если нужно, записываются в кэш и подвергаются обработке расширениями (например, Content Master-ом). После этого данные шифруются и передаются браузеру.

Когда браузер отправляет через HandyCache https-запрос, он получает в ответ сертификат, сгенерированный HandyCache самостоятельно. Поскольку этот сертификат подписан самим HandyCache вместо одного из известных браузеру уполномоченных центров сертификации, браузер воспринимает данную ситуацию как подозрительную. Браузер может либо вообще отказаться загружать такую страницу, либо запросить у пользователя как поступать в данном случае. Чтобы такая ситуация не возникала нужно импротировать в браузер сертификат HandyCache (файл root-public.crt из дистрибутива) в качестве сертификата центра сертификации.

Импорт сертификата в Internet Explorer (Google Chrome)

Откройте окно Свойства браузера и в нем вкладку Содержание. Нажмите кнопку Сертификаты. В окне Сертификаты откройте вкладку Доверенные корневые центры сертификации и нажмите кнопку Импорт. В окне Мастер импорта сертификатов нажмите кнопку Далее и потом кнопку Обзор. Откройте файл root-public.crt. Выберите хранилище сертификатов: Доверенные корневые центры сертификации и нажмите кнопку Далее, а потом кнопку Готово. В открывшемся окне Предупреждение системы безопасности нажмите кнопку Да.

Импорт сертификата в Firefox

Открыть окно Настройки, в нем вкладку Дополнительные. Далее на вкладке Сертификаты нажмите кнопку Просмотр сертификатов. В окне Управление сертификатами откройте вкладку Центры сертификации и нажмите кноку Импортировать. Откройте файл root-public.crt.

Импорт сертификата в Opera 12.17

Откройте окно Настройки, в нем вкладку Расширенные. Выберите раздел Безопасность и нажмите кнопку Управление сертификатами. В открывшемся окне выберите вкладку Издатели. Нажмите кнопку Импортировать. Откройте файл root-public.crt.
После импорта сетрификата перезапустите браузер.

Настройка

В настройках HandyCache на вкладке Управление загрузкой есть группа опций Обработка ssl.
sslhandling.png

Чтобы включить обработку ssl нужно установить галку Разрешить. Если оставшиеся поля в группе Обработка ssl оставить пустыми, то обработке будут подвергаться все https-запросы.

Правила, которые можно использовать для управления обработкой, нужно писать в синтаксисе регулярных выражений.

Правило для URL проверяет можно ли применять обработку для данного запроса на https-соединение. Его нужно использовать, если Вы хотите разрешить Обработку ssl не для всех запросов, а только для выбранных. Например, правило site1\.com|site2\.com разрешит обработку запросов на https-соединение только с сайтами site1.com и site2.com.

Если нужно отключить обработку для какого-то сайта, то для него нужно написать правило в поле Исключение для URL. Правило, показанное на картинке выключает обработку для сайта mail.ru.

Если нужно разрешить обработку https-запросов, поступающих только от определенных пользователей, нужно использовать поле Правило для пользователей. В качестве примера на картинке выше показано правило, разрешающее обработку запросов только от пользователей local и vasja.

Как это выглядит в Мониторе

Ниже показано как выглядит Монитор после поиска в Google.
Монитор

Верхняя строка отображает поступивший https-запрос. Для https-запросов характерно присутствие порта 443 в колонке URL и записи 200 Connection established в колонке Ответ. Содержимое колонки URL https-запроса проверяется правилом для URL и исключением для URL, о которых я писал выше.

Ниже в Мониторе мы видим запросы, поступающие в рамках данного https-соединения (если бы обработка ssl не была бы включена, мы бы всех этих запросов не увидели, они бы передавались через прокси в зашифрованном виде). Все эти запросы в колонке URL имеют протокол https. В колонке Правила мы видим, что эти запросы подвергаются обработке правилами. Тело ответа на запрос в строке 74564 обработано расширением Content Master. Ответы на запросы в строках 74581 и 74583 взяты из кэша. Другими словами, видно, что такие запросы обрабатываются таким же образом как и http-запросы.

Стоит ли использовать обработку ssl?

На этот вопрос должен ответить для себя каждый из пользователей самостоятельно. С одной стороны включение опции позволяет испрользовать все возможности по обработке запросов. С другой ослабляется безопасность обмена с сайтами по https-протоколу. В этом случае отсутствует проверка сертификатов, используемых при обмене, в кэше хранятся данные в незашифрованном виде. Увеличивается нагрузка на комьютер поскольку HandyCache расшифровывает данные, обрабатывает их, а затем снова зашифровывает их. Я бы рекомендовал использовать данную опцию только при работе с сайтами, обмен с которыми не содержит важных для вас данных. Если у прокси-сервера много пользователей или имеется вероятность причинения ущерба при несанкционированном доступе к данным, я не рекомендую использовать опцию обработки ssl.

В настройках HandyCache имеется возможность с помощью регулярных выражений для URL и имен пользователей организовать выборочную обработку https-запросов.

Как проверить работу опции без регистрации

Опция Обработка ssl доступна только в зарегистрированной версиии. Однако, имеется возможность протестировать работоспособность этой опции без покупки лицензии. Эта опция в течение 30 минут после старта программы доступна без регистрации. Через 30 минут после старта опция автоматически отключится. Чтобы включить опцию заново, программу нужно закрыть и заново запустить.