SSL Decoder

Что такое SSL?

Secure Sockets Layer (SSL) - это стандарт безопасности, который был создан для предоставления защищенных соединений в среде Интернет. Используя SSL, вы можете зашифровать конфиденциальные данные и обмениваться ими через интернет с различными Веб-серверами и пользователями. Минимально необходимый набор компонентов для организации SSL соединения включает: сервер, позволяющий обрабатывать SSL подключения, клиент, который умеет инициировать защищенные SSL соединения и сертификат, установленный на сервере (чаще всего), на клиенте (исключение) или на обеих сторонах. Сертификат содержит общедоступный публичный ключ.

Как работает SSL в Microsoft ISA Server (Forefront TMG)

Microsoft ISA Server (Forefront TMG) позволяет пользователям локальной сети инициировать исходящие SSL соединения, но не позволяет анализировать их. Причину можно понять из следующей диаграммы:


Как работает SSL в Microsoft ISA Server (Forefront TMG)

  1. браузер пользователя инициирует подключение к защищенному ресурсу
  2. ISA Server (Forefront TMG) понимает это и организует прямое соединение (туннель) с данным ресурсом
  3. после того как соединение успешно установлено, ISA Server (Forefront TMG) оповещает пользователя и дальше браузер клиента и веб - сервер защищенного сайта общаются напрямую по созданному туннелю
Таким образом, ISA Server (Forefront TMG) выступает только как промежуточное звено, передающее данные из одной стороны в другую не вникая в суть, структуру и характер этих данных.

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

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

Как это часто бывает, преимущества в «неправильных» руках, становятся опасными инструментами. Рассмотрим проблемы, которые могут возникать в компании, допускающей возможность использования SSL:

  • Несанкционированный доступ к сайтам

    Поскольку Microsoft ISA Server (Forefront TMG) не позволяет «заглянуть» внутрь SSL трафика, то все самые изощренные разрешающие и запрещающие правила, с таким трудом придумываемые администраторами, становятся просто бесполезными. ISA Server (Forefront TMG) не может анализировать запрашиваемые объекты, их имена, расширения, тип данных, содержимое заголовков, размер и так далее. В результате, пользователь, зайдя на общедоступный SSL Web Proxy, может получить доступ к любому запрещенному сайту. К ЛЮБОМУ!


  • Невозможность проверять содержимое различными анализаторами контента

    Данный пункт, как и все остальные, следует из первого. Т.к. ISA Server (Forefront TMG) не имеет доступ к содержимому запрашиваемого объекта, то нет возможности проверить его, например, на вирусы и прочее Badware. В результате - потенциальная опасность заразить рабочую станцию клиента и поставить под удар безопасность всей локальной сети.


  • Утечка конфиденциальной информации

    Пользователь имеет возможность «увести» из компании любую информацию, просто передав ее по защищенному SSL каналу. При этом Microsoft ISA Server (Forefront TMG) даже не сможет понять, что же именно только что ушло из локальной сети.

К дополнительным неудобствам можно отнести невозможность применять различные Web фильтры, которые достаточно широко используются в Microsoft ISA Server (Forefront TMG). Например, тот же Response Modifier не может анализировать содержимое страниц, получаемых клиентом по защищенному каналу.

Предназначение программы SSL Decoder

Программа SSL Decoder – это специальный веб-фильтр, который позволяет «заглянуть внутрь» SSL трафика. То есть, фактически, он устраняет все те недостатки SSL, которые были описаны выше.

После установки программы вы получаете следующие возможности:

  • «видеть» полноценные URL'ы всех запрашиваемых пользователями объектов, размеры получаемых объектов, типы их данных и все остальное, что может видеть администратор в случае обычных HTTP запросов.

    При этом следует учесть, что трафик становится «видимым» только для ISA Server (Forefront TMG). Наружу незашифрованный контент не попадает. Таким образом, для внешнего наблюдателя, трафик, исходящий с внешнего интерфейса ISA Server (Forefront TMG), как был зашифрованным SSL трафиком, так им и останется. Расшифрованный трафик циркулирует только в рамках локальной сети компании (в большинстве случаев даже не выходит за пределы компьютера, на котором работает ISA Server (Forefront TMG)).
  • анализировать содержимое получаемых пользователем страниц и объектов. При необходимости, эти страницы можно «на лету» модифицировать специальными веб-фильтрами, например, Response Modifier. Или можно проверять содержимое страниц на вирусы, используя различные решения независимых вендоров программного обеспечения.
  • ускорение работы за счет кеширования. Поскольку теперь трафик превращается в обычный HTTP трафик, то все объекты, запрашиваемые пользователем по SSL каналу, после обработки SSL Decoder, попадают в кеш ISA Server (Forefront TMG). И, естественно, при последующих запросах данного контента, объект будет взят из кеша, а не из интернета. В результате, скорость отображения HTML страниц увеличивается на 15-20%.
  • возможность забыть про защищенные соединения при создании Policy Rules. Теперь весь, ранее невидимый SSL трафик, выглядит как обычный HTTP трафик и, соответственно, все атрибуты соединения могу т быть использованы при составлении Policy Rules.

Минусы использования SSL Decoder:

  • возможны потери производительности обработки SSL трафика за счет дополнительных операций по шифровке/ расшифровке. Однако, данная потеря производительности не сопоставима с тем ускорением, которое возникает за счет возможности использования функции кеширования запрашиваемых объектов в ISA Server (Forefront TMG).
  • этическая составляющая вопроса. Администратор получает доступ к списку всех объектов, запрашиваемых пользователями. Все что раньше было невидимым – сразу становится видимым. Рекомендуется поставить пользователей локальной сети об этом в известность.

Принцип работы программы

При получении от пользователя исходящего запроса на подключение к внешнему защищенному веб-серверу, ISA Server (Forefront TMG) инициирует защищенное соединение и после того как это будет сделано – оповещает пользователя о готовности предоставить свои услуги в качестве посредника для передачи зашифрованного потока байтов. Таким образом, можно видеть, что логически процесс разделен на три этапа:

  • подключение клиента
  • подключения ISA Server'а к удаленному веб-серверу
  • передача данных

SSL Decoder внедряется на стыке каждого из этих этапов и меняет направление движения трафика таким образом, чтобы он протекал через его анализирующие модули. Для пользователя все эти манипуляции проходят прозрачно и «практически» незаметно.

Примерный алгоритм работы SSL Decoder можно описать так:

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

Из описанного алгоритма становится понятно, что SSL Decoder выступает в качестве SSL Proxy, который выполняет запросы пользователей и возвращает им результаты.

В алгоритме есть несколько важных моментов, требующих пояснения:

  • генерация сертификата

    SSL Decoder выступает как полноценный центр выдачи сертификатов(Certificate Authority), такой как, например, VeriSign, Equifax или Thawte. Но у выдаваемых сертификатов есть два принципиальных отличия:
    • они бесплатны
    • им никто не доверяет
  • подпись серверного сертификата корневым сертификатом

    Чтобы серверный сертификат, выдаваемый SSL Decoder был полноценным, его необходимо подписать. Подпись осуществляется другим сертификатом, который называется корневым (Root Certificate). Пока вы не предоставите программе какой-нибудь корневой сертификат – она не сможет функционировать. Подробнее о сертификатах читайте в одном из следующих разделов.

Следует знать, что существуют некоторые сайты, работа с которыми через программу SSL Decoder невозможна. Это сайты, которые требуют наличия клиентских сертификатов. Обычно персональные сертификаты устанавливаются в хранилище сертификатов на локальных компьютерах пользователей. Соответственно, доступ к ним отсутствует. В результате, SSL Decoder не в состоянии получить доступ к защищенному сайту от имени клиента, потому что сервер требует от клиента (в данном случае в качестве клиента выступает SSL Decoder) подтвердить свою благонадежность при помощи персонального сертификата. В результате, соединение закрывается.

К сожалению, получить доступ к таким сайтам при включенном SSL Decoder невозможно. Необходимо добавлять адрес данного сайта в «Белый список».

Сценарии работы программы

SSL Decoder

Итак, SSL Decoder разбивает любое защищенное соединение на следующие фазы:

  1. приветствие клиента, анализ запрашиваемых данных, генерация и отправка серверного сертификата
  2. получение от клиента запроса на получение какого-либо объекта с защищенного сайта и трансляция этого запроса на ISA Server (Forefront TMG)
  3. передача запроса по защищенному каналу внешнему веб-серверу

Первые две фазы выполняется тем компонентом, который «встречает» клиентские запросы: данные расшифровываются и далее передаются в открытом виде. Вторая фаза выполняется компонентом, который «провожает» клиентские запросы в интернет: ранее расшифрованные запросы зашифровываются и отправляются в Интернет.

Данные компоненты встроены в программу и независимы друг от друга. При этом они могут функционировать на разных ISA Server'ах (Актуально для Enterprise Edition).

В программе предусмотрены следующие сценарии работы:

SSL Decoder

  • Scenario 1. Do nothing

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

  • Scenario 2. Decrypt and Encrypt

    Это наиболее распространненый сценарий работы. И единственно возможный, в случае использования Standard Edition. При работе по этому сценарию будут задействованы оба упоминавшихся выше компонента. Первый дешифрует поступивший от пользователя запрос, обработает и направит его на ISA Server в открытом виде. Второй компонент получит запрос, зашифрует и отправит его в интернет. В результате, весь трафик пройдет через ISA Server (Forefront TMG) в открытом виде, а на выходе наружу будет зашифрован.

  • Scenario 3. Decrypt outgoing HTTPS requests

    Этот сценарий может быть применен при использовании Enterprise Edition. При работе по данному сценарию, исходящие от пользователя запросы будут расшифровываться и передаваться на обработку ISA Server'у в открытом виде. Данный сценарий может быть хорош в том случае, если у вас в сети есть массив(Array) и несколько ISA Server’ов. Если все эти ISA Server'а в конечном счете перенаправляют запросы на граничный (Edge) ISA Server (Forefront TMG), то можно использовать раздельную установку. Т.е. на сервере «встречающем» клиентов выбрать сценарий 3, а на граничном сервере выбрать сценарий 4.

  • Scenario 4. Encrypt previously decrypted requests

    Этот сценарий является продолжением предыдущего. SSL Decoder должен использовать данный сценарий только на граничном ISA Server’е. Внимание! В том случае если вы на каком-то из ISA Server'ов выберете сценарий 3, но при этом на граничном сервере не выберете сценарий 4, то обработка SSL запросов не будет выполнена или выполнена с ошибками. В результате, пользователи могут видеть в своих браузерах сообщения о проблемах с подключением к запрашиваемым сайтам.

Зачем нужны сценарии 3 и 4?
Для повышения производительности. Чтобы исключить двойные или тройные шифрации/дешифрации, можно поставить SSL Decoder в режиме раздельной установки только на концах цепочки ISA Server'ов.

Чтобы лучше понимать как работает каждый из сценариев, можно воспользоваться следующей подсказкой:

SSL Decoder

Производительность

Как уже упоминалось выше, после установки программы возможно (гипотетичски) снижение производительности обработки SSL запросов. Это происходит потому, что теперь первоначальное клиентское SSL соединение (стадия установки туннеля) разбивается на три части, а все запросы, приходящие от браузера клиента по зашифрованному каналу, требуют дополнительной обработки со стороны ISA Server (Forefront TMG). В большей степени это заметно при работе со старыми веб-серверами, работающими по протоколу HTTP/1.0.

Однако, поскольку:

  • доля старых веб-северов в интернете постоянно снижается
  • доля SSL трафика в общей массе трафика чаще всего низка
  • в современном мире компьютеры быстры, мощны, имеют большие объемы памяти и в действительности располагают избыточной производительностью
  • после расшифровки, все запрашиваемые объекты будут помещаться в кеш ISA Server (Forefront TMG) и быстро извлекаться оттуда в случае повторного обращения к ним

то, потери производительности при шифровке/расшифровке будут не заметны пользователю и с лихвой компенсированы другими, описанными выше, плюсами.

Сертификаты. Корневой сертификат

Любые SSL запросы подразумевают использование сертификатов. Что это такое?

Если говорить упрощенно, то сертификаты – это защищенная замена для комбинации «логин/пароль». Цифровой сертификат содержит информацию о человеке, компании или веб-сайте, которому он принадлежит, публичный ключ, информацию о выдавшей организации, сроке годности и списке операций, для которых данный сертификат может быть использован.

Сертификаты выдаются центрам сертификации. Что это такое?

Сертификаты могут быть двух типов: самоподтвержденные(self-signed) и выданные компетентным центром выдачи сертификатов(certificate authority). Большинство систем, за редким исключением, не работают с самоподтвержденными сертификатами.

Центр сертификации(CA) - это организация, в чьи функции входит выдача цифровых сертификатов, проверка их подлинности и, в случае необходимости, отзыв.

SSL Decoder работает как настоящий Центр Сертификации (Certificate Authority): при каждом исходящем SSL запросе, SSL Decoder анализирует параметры и создает сертификат, подтверждающий благонадежность запрашиваемого сайта. Далее созданный сертификат передается браузеру клиента. Созданный сертификат должен убедить клиента (его браузер), что посещаемый сайт и полученный серверный сертификат соответствуют друг другу. В противном случае, браузер выдаст множество предупреждений и рекомендует отказаться от посещения сайта. Например, вот так выглядит предупреждение в браузере Firefox:

SSL Decoder

А вот так в браузере Internet Explorer:

SSL Decoder

Чтобы убедить браузер в подлинности сертификата, требуется соблюсти два условия:

  1. сертификат должен быть подписан сертификатом компетентного центра сертификации
  2. браузер клиента должен доверять данному центру сертификации и, как следствие, всем подписанным данным центром сертификатам

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

Второе условие выполнить сложнее. Чтобы это сделать, необходимо экспортировать из программы сертификат (без приватных ключей) и распространить его по всей вашей компании. Данный сертификат должен быть установлен на каждом компьютере и в каждом браузере клиента в раздел «Доверенные Центры Сертификации».

Так выглядит хранилище сертификатов в браузере Firefox:

SSL Decoder

А вот так в браузере Internet Explorer:

SSL Decoder

Если оба условия будут соблюдены, то при посещении защищенных сайтов с использованием SSL Decoder, пользователи не будут видеть каких-либо предупреждающих сообщений.

Для получения дополнительной информации, смотрите приложение к данному документу.


Генерация нового корневого сертификата

Диалог генерации корневого сертификата вызывается нажатием кнопки «Settings» группы настроек «Root Certificate». Процесс состоит из нескольких простых этапов:

  1. Этап 1. Сертификат не установлен. Генерация нового сертификата.
  2. SSL Decoder

    На данном этапе, Вы можете либо создать новый сертификат, либо загрузить его из файла. Поддерживается загрузка из наиболее распространенных форматов хранения сертификатов: PFX, CER, PEM.

    Внимание! Файл, из которого загружается сертификат, должен содержать приватные ключи.

    Чтобы создать новый корневой сертификат, нажмите кнопку «Generate New Root Certificate». Появится следующий диалог:

    SSL Decoder

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

  3. Этап 2. Сертификат создан или загружен, проверен, но не установлен. Установка сертификата.
  4. SSL Decoder

    На данном этапе вы можете просмотреть содержимое сертификата с помощью кнопки «View…» и установить его, нажав кнопку «Install Root Certificate»

  5. Этап 3. Сертификат установлен. Просмотр, резервное копирование, удаление и экспорт сертификата.
  6. SSL Decoder

Все операции по созданию и установке сертификата успешно завершены. Программа SSL Decoder полностью готова к работе. На данном этапе Вы можете просмотреть сертификат, создать его резервную копию, либо удалить его, чтобы создать или загрузить новый.

Внимание! При создании резервной копии будут сохранены приватные ключи.

Кроме этого, на данном этапе вы можете экспортировать сертификат в файл для дальнейшего распространения на клиентских компьютерах вашей компании. Приватные ключи при этом экспортироваться не будут. Поддерживается экспорт в наиболее распространенные форматы хранения сертификатов: PFX, CER, PEM.

О том для чего необходимо распространить сертификат на клиентских компьютерах, читайте выше.

Дополнительные настройки

В программе присутствует следующие дополнительные настройки:

  • «белый список» сайтов
  • дополнительные сервисные настройки

«Белый список» предназначен для того, чтобы указать программе перечень сайтов, которые должны быть исключены из обработки. Это делается в том случае, если у Вас возникают какие-то проблемы с доступом к тому или иному защищенному сайту или требуемый сайт предполагает использование клиентских сертификатов. Работа с «Белым списком» в SSL Decoder реализована посредством стандартных для ISA Server (Forefront TMG) объектов типа "Domain Name Set". Вам необходимо создать Domain Name Set, добавить туда сайт, который вы хотите исключить и отметить галочкой название созданного Domain Name Set в специальном диалоге. Делается это в параметрах приложения путем нажатия на кнопку «Settings» подгруппы настроек «White Lists»

SSL Decoder

Диалог «Дополнительные настройки» выглядит следующим образом:

SSL Decoder


Опция «Modify Web Proxy log files»

Когда SSL Decoder осуществляет шифровку/расшифровку данных, он инициирует различные исходящие запросы. По сути, эти запросы делаются ДЛЯ клиента, т.е. SSL Decoder своими силами получает требуемый контент для пользователя, который инициировал SSL соединение и затем отдает ему полученный объект. Если после этих операций проанализировать лог файлы ISA Server (Forefront TMG), то в них можно будет увидеть, что:

  1. Пользователь подключился к ISA Server (Forefront TMG) и инициировал защищенное соединение
  2. ISA Server (Forefront TMG) инициировал соединение с внешним защищенным веб-сервером, контент с которого пользователь пожелал получить
  3. ISA Server (Forefront TMG) запросил требуемый объект у внешнего защищенного веб-сервера
  4. ISA Server (Forefront TMG) получил объект и передал его пользователю
  5. Пользователь закрыл соединение
  6. ISA Server (Forefront TMG) закрыл соединение

Как, наверное, понятно, в действительности все запросы инициированные ISA Server (Forefront TMG) – это запросы инициируемые по требования данного пользователя. Поэтому, логично чтобы в лог файлах они отображались так, как будто они были им самим и инициированы. Это позволит получить более логичную картину запросов пользователя.

Если опция «Modify Web Proxy log files» включена, то SSL Decoder будет модифицировать лог файлы Web Proxy таким образом, чтобы все выглядело так, как будто сервисные запросы были инициированы пользователем, который инициировал первоначальное SSL подключение.


Опция «Enable connection errors logging»

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

Настройка Microsoft ISA Server (Forefront TMG) для работы с SSL Decoder

Программа работает с Microsoft ISA Server 2004/2006/Forefront TMG. Поддерживаются как Standard Edition, так и Enterprise Edition.

Для того чтобы SSL Decoder мог извлекать данные, необходимо разрешить ему доступ с Local Host в External. Для этого можно создать специальное правило. Например, вот так(В поле Users обязательно должно быть "All Authenticated Users"):

SSL Decoder

ИЛИ вот так:

SSL Decoder

Тестирование приложения

Убедиться что программа работает и успешно выполняет свои функции можно следующим образом:

  • проанализировать лог файлы Web Proxy

    Когда программа включена и работает, то проанализировав лог файлы (например, с помощью Internet Access Monitor for ISA Server) вы будете видеть полноценные URL'ы запрашиваемых пользователем объектов. Кроме этого вы будете видеть объем входящего и исходящего трафика, для каждого запрошенного файла.

  • настроить Response Modifier

    Вы можете попробовать установить и настроить Response Modifier на замену определенных слов. После этого посетить какой-нибудь защищенный ресурс и убедиться, что замена подстрок осуществляется.

  • посмотреть на сертификат

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

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

Взаимодействие SSL Decoder с другими приложениями комплекта ISA Server (Forefront TMG) Toolkit и продуктами сторонних разработчиков

Все продукты комплекта ISA Server (Forefront TMG) Toolkit тесно связаны друг с другом и работают в единой цепочке. Последовательность обращения к тому или иному Web фильтру регулируется ISA Server'ом и зависит от приоритета каждого из фильтров. Для того чтобы программы не мешали друг другу, необходимо следовать указанным ниже правилам:

  1. В списке Web фильтров SSL Decoder всегда должен находиться ВЫШЕ фильтра Client User Name Resolver
  2. В списке Web фильтров SSL Decoder всегда должен находиться ВЫШЕ фильтра Advanced Web Routing Rules
  3. Следует понимать, что Web фильтры сторонних разработчиков и SSL Decoder могут конфликтовать друг с другом. Поэтому, в случае возникновения проблем с получением доступа к защищенному сайту, следует убедиться что природа проблемы не в конфликте с другим программным продуктом. Для этого можно ВРЕМЕННО, в целях тестирования, попробовать отключить альтернативный Web фильтр. Если после этого проблема разрешится, то следует обратиться к нам в службу технической поддержки с подробным описание проблемы.

Заключение

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

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

Дополнительные ссылки

Поиск по сайту

Новости

Выпущена версия SurfCop 1.5
[01 Июня 2010] Выпущена версия SurfCop 1.5. Увеличение скорости генерации отчетов, улучшение стабильности, добавлен новый функционал.
Выпущена версия Printer Activity Monitor 3.8
[24 Мая 2010] Выпущена версия Printer Activity Monitor 3.8. Исправлен ряд ошибок, добавлен новый функционал и сделаны небольшие усовершенствования.
Выпущена версия SurfCop 1.4
[06 Апреля 2010] Выпущена версия SurfCop 1.4. Новый тип отчетов, увеличение скорости генерации отчетов, локализация, улучшение стабильности.

Все новости

RSS

Авторизация

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

Подписка

Подписка на новости компании