Инфраструктура безопасности для WEB–приложений ЗАО «ПЕТЕР-СЕРВИС»

автор: 
Дмитрий Черников, главный специалист ЗАО "ПЕТЕР-СЕРВИС"; Денис Александров, старший инженер-программист ЗАО "ПЕТЕР-СЕРВИС"
источник: 
Век качества №2, 2009
Операторы связи всегда одними из первых внедряли сложные программные продукты ведущих мировых брендов. Зачастую это было связано с необходимостью поддержать требуемый уровень информационно-технического обеспечения при расширении предприятия по количеству обслуживаемых абонентов и охвату территории. Но с увеличением количества компонентов ИТ инфраструктуры необходимы изменения и в мерах, обеспечивающих реализацию информационной безопасности.
При разработке систем с многоуровневой распределенной архитектурой создаются приложения, в которых передача данных осуществляется через общедоступные каналы. Потенциальных пользователей подобных решений волнуют вопросы безопасности. Инфраструктуру безопасности в WEB-приложениях необходимо оценивать комплексно, понимая, насколько эффективен тот или иной механизм защиты информации. Использование комплексного подхода позволит построить систему, где выход из строя одного из компонентов не скажется на уровне защищенности в целом.
WEB-системы массового обслуживания (далее ВСМО), разрабатываемые ЗАО «ПЕТЕР-СЕРВИС», имеют классическую трехзвенную архитектуру: WEB-сервер (Apache), сервер приложений (HAS), система управления базами данных Oracle (далее СУБД) и пользовательской оснасткой для поддержки тонкого клиента. Инфраструктура безопасности, основанная на применении встроенных средств обеспечения защиты и безопасности операционных систем, а также внутренних механизмов звеньев архитектуры, используется во многих ВСМО, таких как:
·       Центр самообслуживания абонентов (SCC);
·       Платежная карточная система (CPS);
·       WEB-интерфейсы системы управления контактами (CMS_WEB);
·       Система управления абонентской базой (SBMS);
·       Система управления абонентской базой для операторов фиксированной связи (WBMS).
Следует понимать, что, чем сложнее архитектура системы и выше ее функциональность, тем больше вероятность возникновения в ходе эксплуатации проблем, связанных с её безопасным использованием. Даже единственная ошибка в коде или настройках, прямо или косвенно отвечающих за безопасное использование WEB-приложения, может позволить злоумышленнику получить неограниченный доступ к конфиденциальным данным.
Определим средства, с помощью которых предполагается обеспечить защиту информации и данных в ВСМО. Для решения данной задачи выделим следующие условные рубежи защиты информации: WEB-сервер Apache, сервер приложений (HAS), СУБД (Oracle) и рабочее место пользователя.
WEB-сервер – наиболее важное звено для обеспечения информационной безопасности в
WEB–приложениях, так называемая, «передовая». По статистике именно на него приходится наибольшее количество атак (до 80%), поэтому необходимо предпринимать постоянные шаги поддержания безопасности данного компонента.
Основные механизмы защиты информации реализуются штатными настройками ограничений на доступ к контейнерам контента (виртуальные хосты, каталоги и файлы на файловой системе, разделы сайтов). Встроенные механизмы логирования в Apache гибко настраиваются и решают задачу аудита всех запросов.
Широкие возможности по защите от разного рода атак предоставляет модуль Apache ModSecurity (начиная с версии 2.0), предназначенный для обнаружения и предотвращения вторжения на WEB-сервер. Модуль реализует концепцию web application firewall (WAF). При активизации ModSecurity добавляется дополнительный внешний слой безопасности, который позволяет обнаруживать и блокировать атаки на WEB-приложения еще до того, как запрос попадет на обработку.
ModSecurity имеет расширенные возможности по обнаружению вторжений, которые обеспечиваются поддержкой PIDS (protocol-based intrusion detection system). Данная функция является аналогом анализатора сетевого трафика на уровне HTTP протокола. ModSecurity позволяет в реальном времени осуществлять мониторинг и анализировать различные действия, обычные с точки зрения HTTP протокола, но трудные для анализа классическими системами обнаружения вторжений (IDS). Немаловажную роль играет возможность блокировки запросов. Модуль расположен между клиентом и сервером, и, при обнаружении в запросе злонамеренных данных, может отклонить запрос, выполняя встроенные действия в соответствии с правилами, определёнными конфигурацией.
Грамотное использование только одного модуля ModSecurity может существенно повысить общий уровень безопасности WEB-приложений без внесения серьёзных изменений в существующие программные продукты.
Встроенные механизмы сервера приложений (HAS) при надлежащем их применении позволяют обеспечить высокий уровень безопасности приложений.
Контроль над аутентификацией осуществляется с помощью расширенной парольной политики: ограничения по сложности и размеру паролей, использование временных паролей с ограничением срока действия. Возможно ограничение доступа для пользователей по различным логическим каналам (WWW, WAP, STK, USSD, и т.д.) и IP-адресам.
Система авторизации операций базируется на механизме ролей с возможностью объединения последних в иерархии. Поддерживаются механизмы ограничения доступа к аргументам операций и маски для валидации допустимых значений аргументов.
Реализованы возможности по блокировке пользователей и операций, а также функция аудита всех входящих запросов.
Для поддержания конфиденциальности и целостности данных при передаче по открытым каналам имеется поддержка SSL, используются клиентские и серверные сертификаты.
Среди большого набора возможностей, которые предоставляет СУБД для защиты данных, особо выделим механизм ограничения доступа к столбцам и строкам базы данных Oracle Fine Grained Access Control (FGAC), обеспечивающий максимально прозрачный детальный контроль доступа к данным для пользователей и фиксацию аудитной информации (имени пользователя и даты изменения) в таблицах СУБД.
Обеспечение безопасности на клиентских рабочих местах
Наиболее тяжелые последствия для компонентов ИТ-инфраструктуры могут иметь инсайдерские атаки или использование различных злонамеренных программ (например, Keylogger или «Троянов»), в том числе без ведома пользователя. Существующие злонамеренные программные средства стараются, в первую очередь, перехватить атрибуты аутентификации пользователя системы (логин, пароль), чтобы в дальнейшем воспользоваться ими или попытаться увеличить свои привилегии. Все это тесно связано с недостатками аутентификации с использованием пароля.
       Аутентификация по паролям
Учетные записи пользователей подсистем ВСМО, хранящиеся в СУБД, позволяют организовать аутентификацию с помощью простых идентификаторов (logins) и паролей (passwords). При попытке логического входа в ВСМО пользователь набирает свой идентификатор и пароль, который поступает в службу аутентификации (входящую в состав сервера приложений HAS). По итогам сравнения криптографической контрольной суммы введенного пароля с эталонным значением для данного пользователя из базы данных учетных записей, пользователь может успешно пройти процедуру аутентификации и авторизоваться в ВСМО.
Допустимо применение паролей, не имеющих ограничений по времени, временных паролей, назначаемых администратором, а также личных паролей.
Механизмы аутентификации на основе сертификатов более надежны и предполагают использование протокола HTTPS (SSL/TLS). Несмотря на то, что согласно спецификации Х.509, ассиметричный метод криптографии обеспечивает «строгую» аутентификацию пользователя ВСМО, сам по себе незащищенный закрытый ключ, хранящийся на жестком диске компьютера, уязвим по отношению к прямым и сетевым атакам. Имеются специальные троянские программы, ворующие сертификаты X.509 из реестра Windows. В связи с этим для обеспечения высокого уровня безопасности в ВСМО требуется наличие безопасного хранилища для закрытого ключа.
Аутентификация на основе сертификатов, находящихся в защищенном USB-ключе, является наиболее безопасной, так как при входе в ВСМО для доступа к закрытому ключу необходимо использовать уникальный физический объект (USB-ключ) и знать PIN-код (применяется двухфакторная аутентификация).
Преимущества двухфакторной аутентификации перед другими способами:
·       кража USB-ключа без знания PIN-кода не позволит злоумышленнику воспользоваться им;
·       владелец быстро узнает о пропаже USB-ключа и может сразу принять меры для предотвращения несанкционированного доступа;
·       USB-ключ является физическим устройством с защищенной памятью, в силу архитектурных особенностей его дублирование невозможно, а сертификат X.509 можно экспортировать и сделать много копий.
Закрытый ключ и сертификат, выданный на его основе, не могут быть восстановлены в случае утери или выхода устройства из строя. Но эта проблема не является критической, так как ключ шифрования используется только для аутентификации пользователя, а не для шифрования данных.
Продукт «Аппаратная аутентификация пользователей» (TOKEN_INT) ЗАО «ПЕТЕР-СЕРВИС» является расширением оснастки для WEB-приложений и реализует поддержку строгой аутентификации во всех прикладных подсистемах, разработанных на базе применяемой в продуктах компании трехзвенной архитектуры.
Продукт обеспечивает доступ к WEB-приложениям с использованием клиентских сертификатов и защищенным хранением закрытого ключа, а также предоставляет пользовательский интерфейс для формирования запросов на получение сертификата и управления выданными сертификатами.
Безопасность применяемой технологии PKI обеспечивается ёё ключевым элементом – удостоверяющим центром (УЦ), который должен быть максимально защищён. Необходимо ограничение сетевого и физического доступа к информации, которую хранит УЦ.
В рамках продукта TOKEN_INT интеграция с УЦ сторонних производителей реализована с помощью адаптеров. Обеспечивается взаимодействие с Сертификационным центром компании Microsoft (MicrosoftCAServer) и Сертификационным центром на основе OPENSSL.
Использование продукта TOKEN_INT предполагает существование утверждённого «Регламента», содержащего правила корректной работы с сертификатами X.509 при их использовании в ВСМО и определяющего основополагающие моменты взаимодействия для всех сторон (обязанности пользователей, администраторов, аудиторов, действия при компрометации ключей, правила и порядок разбора спорных моментов и т.д.).
Для доступа к защищенной функциональной части приложений ВСМО пользователю необходимо использовать браузер Microsoft Internet Explorer и USB–ключ, защищенный PIN-кодом, с действующим сертификатом. Ключ должен быть подключен к USB-порту компьютера пользователя во время всего сеанса работы с системой. Общая схема совместного функционирования ВСМО и TOKEN_INT приведена на рисунке.

Перед началом работы пользователю необходимо получить сертификат X.509, для чего необходимо строго соблюдать приведенный далее порядок действий.
Используя временные идентификатор и пароль, пользователь входит в защищенную регистрационную часть приложения ВСМО, где на основании закрытого ключа, находящегося в USB-ключе, создает и отправляет запрос на создание сертификата.
На основании запроса пользователя создается сертификат. Обработка всех входящих запросов на сертификаты выполняется администратором.
После подтверждения запроса на сертификат, пользователь загружает сертификат в USB-ключ.
В решении предусмотрено два способа выдачи сертификатов: централизованный и децентрализованный. 
Преимущества TOKEN_INT
Необходимо выделить следующие преимущества продукта TOKEN_INT. Переход на использование USB-ключа приводит к жесткой персонализации доступа, обеспечивается невозможность одновременного входа в систему разных пользователей по одной учетной записи, предотвращаются любые типы атак, направленных на кражу пароля или сертификата с его закрытым ключом у пользователей ВСМО.
Любой переход на другой тип аутентификации предполагает, что будет определен некий час «X», после которого невозможна работа пользователей со старым типом аутентификации, что вводит существенные риски в направлении непрерывности ведения бизнеса. Но решение TOKEN_INT обеспечивает полную поддержку существующих учетных записей сервера приложений (HAS) и реализует плавный и адресный (с точностью до пользователя) переход на следующую усиленную систему аутентификации (двухфакторную, с защищенным хранением закрытого ключа).
Данная реализация позволяет использовать все преимущества PKI инфраструктуры (обеспечение конфиденциальности информации, ее целостности, аутентификации пользователей и ресурсов, к которым обращаются пользователи, обеспечение возможности подтверждения совершенных пользователями действий с информацией) совместно с двухфакторной системой аутентификации.
Имеется возможность применять сертифицированные средства защиты информации от различных поставщиков в части аутентификации и криптографической защиты, а также использовать сертифицированные удостоверяющие центры для создания PKI в организациях, если это требуется законодательством РФ в области защиты информации.