Вопросы безопасности
Безопасность охватывает широкий диапазон факторов и имеет решающее значение для всех
типов приложений. Проектирование и реализация насыщенных Интернет-приложений
должны вестись с обязательным учетом вопросов безопасности, а там где эти приложения
выступают в роли слоя представления для бизнес-приложений, они должны участвовать в
обеспечении безопасности других слоев приложения. Безопасность касается множества
аспектов, включая защиту конфиденциальных данных, аутентификацию и авторизацию
пользователей, защиту от атак злонамеренного кода и пользователей, аудит и
протоколирование событий и действий пользователей.
При проектировании стратегии обеспечения безопасности руководствуйтесь следующими
рекомендациями:
Выберите подходящую технологию и подход к аутентификации пользователей.
Необходимо принять решение о том, как и когда регистрировать пользователей,
должна ли быть реализована поддержка различных типов пользователей (ролей) с
разными правами доступа (например, администраторы и обычные пользователи), и
как регистрировать успешные или неудачные попытки входа пользователя в систему.
Используйте интегрированную аутентификацию Windows (Windows Integrated
Authentication), механизм единой регистрации (single sign-on, SSO) или
интегрированное решение аутентификации, если требуется обеспечить пользователям
возможность доступа к множеству приложений по одному удостоверению или с
использованием одних и тех же учетных данных. Если нет возможности использовать
Windows Integrated Authentication, можно применить внешний сервис, предлагающий
интегрированную поддержку аутентификации. Если нет возможности использовать
внешний сервис, используйте систему на базе сертификатов или создавайте
собственное решение для своей организации.
Продумайте необходимость проверки ввода и от пользователя, и из источников, таких
как сервисы и интерфейсы других приложений. Можно создавать собственные
механизмы проверки или, по возможности, использовать функции валидации,
предлагаемые применяемой технологией UI.
Продумайте стратегию аудита и протоколирования для приложения и то, какие
данные будут регистрироваться. Не забывайте защищать конфиденциальные данные в
журналах с помощью шифрования. Для наиболее важных данных, уязвимых для
повреждения и подделки, можно применять цифровые подписи.
Вопросы обработки данных
Как правило, доступ к данным приложения осуществляется через сетевые сервисы. Кэшируйте
эти данные для улучшения производительности и обеспечения возможности их использования
в автономном режиме. Данные приложения можно разделить на две основные категории:
Справочные данные только для чтения. Это данные, которые меняются нечасто и
используются клиентом для справочных целей, такие как, например, каталог
продукции. Храните ссылочные данные на клиенте, чтобы сократить объемы данных,