Безопасные приложения, созданные на платформе .NET Framework

В этой статье рассматриваются важные рекомендации по защите приложений, созданных на платформе Microsoft .NET Framework.

Для важных аспектов развертывания приложений, созданных на платформе .NET Framework, см. связанные материалы в Deploy applications that are built on the .NET Framework.

Область применения: .NET Framework

Исходный номер базы знаний: 818014

Настройка безопасности платформа .NET Framework на основе зон

Платформа .NET Framework назначает уровни доверия управляемым сборкам. Эти назначения основаны, в частности, на зоне, в которой выполняется сборка. Стандартные зоны : "Мой компьютер", "Локальная интрасетя", "Интернет", "Надежные сайты" и "Ненадежные сайты". Возможно, потребуется увеличить или уменьшить уровень доверия, связанный с любой из этих зон. Платформа .NET Framework включает средства для настройки этих параметров.

Настройка уровня доверия в сборке платформа .NET Framework

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

Восстановление настроенных уровней политики

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

Оценка разрешений, предоставленных сборке

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

Аудит безопасности . Приложения, подключенные к NET

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

Так как это действие может снизить безопасность системы с течением времени, рекомендуется выполнять регулярные аудиты. Чтобы провести аудит, создайте базовый показатель, документируя ключевые аспекты первозданной системы. Сравните эти параметры с базовым показателем с течением времени, чтобы определить, появились ли какие-либо проблемы, которые могут значительно снизить уровень безопасности.

Настройте приложение, подключенное к .NET, и SQL Server для использования альтернативного номера порта для сетевого взаимодействия.

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

Одним из способов снижения воздействия таких средств является изменение номера порта, используемого приложениями. Этот метод можно применить к . Подключенные к NET приложения, использующие серверную базу данных SQL Server. Этот метод работает, если сервер и клиент настроены правильно.

Блокировка веб-приложения или веб-службы ASP.NET

Существует множество способов повышения безопасности веб-приложений и веб-служб ASP.NET. Например, можно использовать фильтрацию пакетов, брандмауэры, ограниченные права доступа к файлам, фильтр URL Scan ISAPI или тщательно контролируемые привилегии SQL Server. Эти различные методы следует изучить для углубленной защиты приложений ASP.NET.

Настройка разрешений файлов NTFS для повышения безопасности приложений ASP.NET

Новые разрешения файловой системы технологии (NTFS) по-прежнему важны для веб-приложений. ASP.NET приложения включают гораздо больше типов файлов, чем предыдущие среды веб-приложения. Список файлов, к которым должны иметь доступ анонимные учетные записи пользователей, не является очевидным.

Настройка безопасности SQL Server для приложений, созданных на платформе .NET Framework

По умолчанию SQL Server не предоставляет пользователям возможность запрашивать или обновлять базы данных. Это правило также относится к приложениям ASP.NET и учетной записи пользователя ASPNET. Чтобы разрешить ASP.NET приложениям получить доступ к данным, хранящимся в базе данных SQL Server, администратор базы данных должен предоставить права учетной записи ASPNET.

Дополнительные сведения о настройке SQL Server для разрешения запросов и обновлений из ASP.NET приложений см. в разделе "Настройка разрешений для объектов базы данных".

Настройка URLScan для повышения защиты веб-приложений ASP.NET

При установке URLScan на сервере IIS 5.0 инструмент настроен на разрешение запуска приложений ASP 3.0. Однако при установке .NET Framework конфигурация URLScan не обновляется, чтобы включить новые типы файлов ASP.NET. Если требуется добавленная безопасность фильтра ISAPI URLScan для приложений ASP.NET, настройте конфигурацию URLScan.

Требовать проверку подлинности для веб-приложений ASP.NET

Многие ASP.NET приложения не разрешают анонимный доступ. Приложение ASP.NET, требующее проверки подлинности, может использовать один из следующих трех методов: проверка подлинности форм, проверка подлинности .NET Passport и проверка подлинности Windows. Для каждого метода проверки подлинности требуется другой метод настройки.

Ограничение доступа определенных пользователей к указанным веб-ресурсам

ASP.NET включает проверку подлинности форм. Этот уникальный метод проверяет подлинность пользователей без создания учетных записей Windows. ASP.NET также включает возможность предоставления или запрета доступа к различным веб-ресурсам для этих пользователей.

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

Ограничение протоколов веб-служб, разрешенных сервером

По умолчанию ASP.NET поддерживает три метода для клиентов веб-служб для выдачи запросов к веб-службам: SOAP, HTTP GET и HTTP PUT. Однако для большинства приложений требуется только один из этих методов. Рекомендуется уменьшить область атаки, отключив все неиспользуемые протоколы.

Не разрешайте доступ к браузеру. Веб-службы, подключенные к NET

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

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

Использование ASP.NET для защиты типов файлов

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