Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП / ООП / ры_приложений_полная_книга.pdf
Скачиваний:
500
Добавлен:
18.02.2017
Размер:
7.08 Mб
Скачать

Вопросы безопасности сетевой инфраструктуры

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

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

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

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

Обратите внимание и убедитесь в наличии таких средств защиты, как межсетевые экраны, фильтры пакетов и аппаратные системы, которые приложение предполагает получить от сети.

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

Вопросы управляемости

Решения, принимаемые при развертывании приложения, оказывают влияние на возможности управления и мониторинга приложения. Примите во внимание следующие рекомендации:

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

Храните данные так, чтобы они были доступны средствам архивации и восстановления.

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

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

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

Средства мониторинга, такие как System Center Operations Manager, должны иметь доступ к компьютерам для получения сведений по управлению, и это может влиять на варианты развертывания.

Шаблоны проектирования

Основные шаблоны организованы по категориям, таким как Развертывание, Управляемость, Производительность и надежность и Безопасность, и представлены в следующей таблице. Рассмотрите возможности применения этих шаблонов при принятии проектных решений для каждой из категорий.

Категория

 

Шаблоны

 

 

 

Развертывание

 

Layered Application (Многослойное приложение). Архитектурный

 

 

шаблон, обеспечивающий организацию системы по слоям.

 

 

Three-Layered Services Application (Трехслойное сервисное

 

 

приложение). Архитектурный шаблон, в котором слои проектируются так,

 

 

чтобы обеспечивать максимальную производительность, и при этом

 

 

предоставляют сервисы, доступные для использования другими

 

 

приложениями.

 

 

Tiered Distribution (Многоуровневое распределение). Архитектурный

 

 

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

 

 

границы.

 

 

Three-Tiered Distribution (Трехуровневое распределение).

 

 

Архитектурный шаблон, в котором слои дизайна распределяются по трем

 

 

физическим уровням.

 

 

Deployment Plan (План развертывания). Описывает процессы

 

 

сопоставления логических слоев и физических уровней с учетом

 

 

ограничений, налагаемых инфраструктурой.

 

 

 

Управляемость

 

Adapter (Адаптер). Объект, поддерживающий общий интерфейс и

 

 

транслирующий операции между общим интерфейсом и объектами,

 

 

реализующими аналогичную функциональность, но использующими другие

 

 

интерфейсы.

 

 

Provider (Поставщик). Компоненты, которые предоставляют API,

 

 

отличающийся от клиентского API, чтобы обеспечить возможность

 

 

подключения любой специальной реализации. Многие приложения,

 

 

обеспечивающие инструментарий, предоставляют поставщиков, которые

 

 

могут использоваться для сбора данных о состоянии и работоспособности

 

приложения и системы, в которой размещается приложение.

 

 

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

Server Clustering (Кластеризация сервера). Шаблон развертывания, при

надежность

котором множество серверов конфигурированы так, что могут разделять

 

рабочую нагрузку, и представляются клиенту как один компьютер или

 

ресурс.

 

Load-balanced Cluster (Кластер с балансировкой нагрузки). Шаблон

 

развертывания, при котором множество серверов конфигурированы так,

 

что могут разделять рабочую нагрузку. Балансировка нагрузки

 

обеспечивает и повышение производительности благодаря распределению

 

работы между множеством серверов, и повышение надежности, поскольку

 

при сбое одного из серверов остальные серверы продолжают обработку.

 

Failover Cluster (Отказоустойчивый кластер). Шаблон развертывания,

 

обеспечивающий уровень инфраструктуры с высоким уровнем доступности

 

для защиты от потери обслуживания из-за сбоя отдельного сервера или

 

размещаемого на нем ПО.

 

 

Безопасность

Brokered Authentication (Аутентификация через посредника).

 

Аутентификация на посреднике, который предоставляет маркер для

 

аутентификации при доступе к сервисам или системам.

 

Direct Authentication (Прямая аутентификация). Аутентификация

 

непосредственно на сервисе или системе, к которым выполняется доступ.

 

Impersonation and Delegation (Олицетворение и делегирование).

 

Процесс временного присвоения другого удостоверения для обеспечения

 

возможности использования для доступа к ресурсу другого контекста

 

безопасности или набора учетных данных. При этом учетная запись

 

сервиса может выполнять доступ к удаленному ресурсу от лица другого

 

пользователя.

 

Trusted Subsystem (Доверенная подсистема). Для получения доступа к

 

дополнительным ресурсам приложение ведет себя как доверенная

 

подсистема. Для доступа к ресурсу оно использует собственные учетные

 

данные, а не учетные данные пользователя.

 

 

Более подробно шаблоны Layered Application, Three-Layered Services Application, Tiered Distribution, Three-Tiered Distribution и Deployment Plan рассматриваются в статье «Deployment Patterns» (Шаблоны развертывания) по адресу http://msdn.microsoft.com/enus/library/ms998478.aspx.

Более подробно шаблон Adapter рассматривается в главе 4, «Структурные шаблоны», книги Эрика Гамма, Ричарда Хельма, Ральфа Джонсона и Джона Влиссидса «Приемы объектно-

ориентированного проектирования. Паттерны проектирования». Питер, 2006.

Более подробно шаблон Provider рассматривается в материале «Provider Model Design Pattern and Specification, Part 1» (Шаблон проектирования модели провайдеров и спецификация, Часть

1) по адресу http://msdn.microsoft.com/en-us/library/ms972319.aspx.

Более подробно шаблоны Server Clustering, Load-Balanced Cluster и Failover Cluster

рассматриваются в статье «Performance and Reliability Patterns» (Шаблоны развертывания для обеспечения производительности и надежности) по адресу http://msdn.microsoft.com/enus/library/ms998503.aspx.

Более подробно шаблоны Brokered Authentication, Direct Authentication, Impersonation and Delegation и Trusted Subsystem рассматриваются в статье «Web Service Security» (Безопасность Веб-сервисов) по адресу http://msdn.microsoft.com/en-us/library/aa480545.aspx.

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

Электронная версия списка используемых источников, которые могут быть полезны при проектировании стратегии развертывания, доступна по адресу http://www.microsoft.com/architectureguide.

Более подробно методики авторизации рассматриваются в статье «Designing Application-Managed Authorization» по адресу http://msdn.microsoft.com/enus/library/ms954586.aspx.

Сценарии развертывания и связанные с ними вопросы рассматриваются в статье

«Deploying .NET Framework-based Applications» (Развертывание .NET-приложений)

по адресу http://msdn.microsoft.com/en-us/library/ms954585.aspx.

Больше сведений о шаблонах проектирования можно найти в статье «Enterprise Solution Patterns Using Microsoft .NET» по адресу http://msdn.microsoft.com/enus/library/ms998469.aspx.

Соседние файлы в папке ООП