.NET Framework 기반의 보안 애플리케이션

이 문서에서는 Microsoft .NET Framework 빌드된 애플리케이션을 보호하기 위한 중요한 고려 사항을 설명합니다.

원래 제품 버전: .NET Framework
원본 KB 번호: 818014

요약

이 문서는 .NET Framework 빌드된 애플리케이션에 대한 자세한 정보를 제공하는 일련의 문서 중 하나입니다.

이 시리즈의 문서에는 다음 항목이 포함됩니다.

영역별로 .NET Framework 보안 조정

.NET Framework 관리되는 어셈블리에 신뢰 수준을 할당합니다. 이러한 할당은 어셈블리가 실행되는 영역에 부분적으로 기반합니다. 표준 영역은 내 컴퓨터, 로컬 인트라넷, 인터넷, 신뢰할 수 있는 사이트 및 신뢰할 수 없는 사이트입니다. 이러한 영역 중 하나와 연결된 신뢰 수준을 늘리거나 줄여야 할 수 있습니다. .NET Framework 이러한 설정을 조정하기 위한 도구가 포함되어 있습니다.

.NET Framework 어셈블리의 신뢰 수준 조정

.NET Framework 어셈블리에 부여해야 하는 신뢰 수준을 결정하는 여러 가지 방법이 포함되어 있습니다. 그러나 특정 어셈블리가 일반적으로 공용 언어 런타임에 제공된 증거를 기반으로 수신하는 것보다 더 높은 수준의 신뢰를 받을 수 있도록 규칙에 예외를 적용할 수 있습니다. 이 .NET Framework 특별히 이 목적을 위해 마법사 도구를 제공합니다.

사용자 지정된 정책 수준 복원

관리자는 다양한 신뢰 수준에서 실행되는 어셈블리에 부여하는 액세스를 완벽하게 제어할 수 있습니다. 신뢰 수준을 사용자 지정하는 경우 일반적으로 표준 신뢰 수준에서 실행되는 애플리케이션을 실행할 때 문제가 발생할 수 있습니다. 그러나 정책 수준을 기본 설정으로 신속하게 복원할 수 있습니다.

어셈블리에 부여된 권한 평가

엔터프라이즈, 머신 및 사용자 보안 구성 정책과 사용자 지정 가능한 신뢰 수준이 있는 경우 관리되는 어셈블리에 부여된 권한을 평가하기 어려울 수 있습니다. .NET Framework 구성 도구에는 이러한 권한을 평가하는 간단한 방법이 포함되어 있습니다.

의 보안을 감사합니다. NET 연결 애플리케이션

업그레이드, 테스트 및 문제 해결 중에 프로덕션 시스템의 구성은 의도하지 않은 방식으로 변경 될 수 있습니다. 예를 들어 관리자는 사용자에게 관리 자격 증명을 부여하면서 오류가 액세스 권한과 관련이 있는지 여부를 결정할 수 있습니다. 관리자가 문제 해결 프로세스를 완료한 후 관리자 권한 자격 증명을 해지하지 않으면 시스템의 무결성이 손상됩니다.

이러한 유형의 작업으로 인해 시간이 지남에 따라 시스템 보안이 저하될 수 있으므로 정기적인 감사를 수행하는 것이 좋습니다. 이렇게 하려면 기본 시스템의 주요 측면을 문서화하여 기준 측정값을 만듭니다. 이러한 설정을 시간에 따른 기준과 비교하여 취약성 수준을 크게 줄일 수 있는 문제가 발생했는지 확인합니다.

를 구성합니다. 네트워크 통신에 대체 포트 번호를 사용하는 NET 연결 애플리케이션 및 SQL Server

많은 자동화된 도구는 잘 알려진 포트 번호를 쿼리하여 사용 가능한 서비스 및 취약성을 식별합니다. 이러한 도구에는 악의적인 사용자가 사용할 수 있는 합법적인 보안 평가 도구와 도구가 모두 포함되어 있습니다.

이러한 유형의 도구에 대한 노출을 줄이는 한 가지 방법은 애플리케이션에서 사용하는 포트 번호를 변경하는 것입니다. 이 메서드를 에 적용할 수 있습니다. 백 엔드 SQL Server 데이터베이스를 사용하는 NET 연결 애플리케이션. 이 메서드는 서버와 클라이언트가 모두 올바르게 구성된 경우 작동합니다.

ASP.NET 웹 애플리케이션 또는 웹 서비스 잠금

ASP.NET 웹 애플리케이션 및 웹 서비스의 보안을 강화하는 방법에는 여러 가지가 있습니다. 예를 들어 패킷 필터링, 방화벽, 제한적인 파일 권한, URL Scan ISAPI(Internet Server Application Programming Interface) 필터 및 신중하게 제어되는 SQL Server 권한을 사용할 수 있습니다. 이러한 다양한 방법을 검토하여 ASP.NET 애플리케이션에 대한 심층 보안을 제공하는 것이 좋습니다.

ASP.NET 애플리케이션의 보안을 강화하도록 NTFS 파일 권한 구성

NTFS(새 기술 파일 시스템) 파일 권한은 웹 애플리케이션에 대한 중요한 보안 계층으로 계속 사용됩니다. ASP.NET 애플리케이션에는 이전 웹 애플리케이션 환경보다 더 많은 파일 형식이 포함됩니다. 익명 사용자 계정에 액세스할 수 있어야 하는 파일은 명확하지 않습니다.

.NET Framework 빌드된 애플리케이션에 대한 SQL Server 보안 구성

기본적으로 SQL Server 사용자에게 데이터베이스를 쿼리하거나 업데이트할 수 있는 기능을 부여하지 않습니다. 이 규칙은 ASP.NET 애플리케이션 및 ASPNET 사용자 계정에도 적용됩니다. ASP.NET 애플리케이션이 SQL Server 데이터베이스에 저장된 데이터에 액세스할 수 있도록 하려면 데이터베이스 관리자가 ASPNET 계정에 대한 권한을 부여해야 합니다.

ASP.NET 애플리케이션에서 쿼리 및 업데이트를 허용하도록 SQL Server 구성하는 방법에 대한 자세한 내용은 데이터베이스 개체에 대한 권한 구성을 참조하세요.

ASP.NET 웹 애플리케이션의 보호를 강화하도록 URLScan 구성

인터넷 정보 서비스 5.0(IIS 5.0) 서버에 URLScan을 설치하면 ASP 3.0 애플리케이션이 실행되도록 구성됩니다. 그러나 .NET Framework 설치할 때 새 ASP.NET 파일 형식을 포함하도록 URLScan 구성이 업데이트되지 않습니다. ASP.NET 애플리케이션에 대한 URLScan ISAPI 필터의 보안을 추가하려면 URLScan 구성을 조정합니다.

ASP.NET 웹 애플리케이션에 대한 인증 필요

많은 ASP.NET 애플리케이션은 익명 액세스를 허용하지 않습니다. 인증이 필요한 ASP.NET 애플리케이션은 양식 인증, .NET Passport 인증 및 Windows 인증 세 가지 방법 중 하나를 사용할 수 있습니다. 각 인증 방법에는 다른 구성 기술이 필요합니다.

특정 사용자가 지정된 웹 리소스에 액세스하지 못하도록 제한

ASP.NET Forms 인증을 포함합니다. Windows 계정을 만들지 않고 사용자를 인증하는 고유한 방법입니다. ASP.NET 다른 웹 리소스에 대한 이러한 사용자의 액세스 권한을 부여하거나 거부하는 기능도 포함됩니다.

사용자별로 웹 리소스에 대한 액세스를 제어하는 방법에 대한 자세한 내용은 지정된 웹 리소스에 대한 액세스 권한을 얻기에서 특정 사용자를 제한하는 방법을 참조하세요.

서버에서 허용하는 웹 서비스 프로토콜 제한

기본적으로 ASP.NET 웹 서비스 클라이언트가 웹 서비스에 요청을 발급하는 세 가지 방법( SOAP, HTTP GET 및 HTTP PUT)을 지원합니다. 그러나 대부분의 애플리케이션에는 이러한 세 가지 방법 중 하나만 필요합니다. 사용하지 않는 프로토콜을 사용하지 않도록 설정하여 공격 표면을 줄이는 것이 좋습니다.

에 대한 브라우저 액세스를 허용하지 않습니다. NET 연결 웹 서비스

ASP.NET 웹 서비스는 개발자가 웹 서비스 클라이언트를 더 쉽게 만들 수 있도록 브라우저 친화적인 인터페이스를 제공합니다. 이 친숙한 인터페이스를 사용하면 웹 서비스에 연결할 수 있는 모든 사용자가 사용 가능한 메서드 및 필요한 매개 변수의 전체 세부 정보를 볼 수 있습니다. 이 액세스는 공개적으로 사용할 수 있는 메서드만 포함하는 공용 웹 서비스에 유용합니다. 그러나 프라이빗 웹 서비스의 보안이 저하될 수 있습니다.

사용자별로 웹 리소스에 대한 액세스를 제어하는 방법에 대한 자세한 내용은 특정 사용자가 지정된 웹 리소스에 액세스하지 못하도록 제한하는 방법을 참조하세요.

ASP.NET 사용하여 파일 형식 보호

ASP.NET 애플리케이션의 구조로 인해 최종 사용자가 요청하는 파일과 함께 많은 프라이빗 파일이 저장됩니다. ASP.NET 파일에 대한 요청을 가로채 오류를 반환하여 이러한 파일을 보호합니다. 구성 설정을 사용하여 이러한 유형의 보호를 모든 파일 형식으로 확장할 수 있습니다. 애플리케이션에 비공개로 유지해야 하는 비정상적인 파일 형식이 포함된 경우 ASP.NET 파일 보호를 사용하여 해당 파일을 보호할 수 있습니다.

참조

.NET Framework 빌드된 애플리케이션을 보호하는 방법에 대한 자세한 내용은 Windows 10 배포의 새로운 기능 을 참조하세요.