ADO.NET 애플리케이션 보안

보안 ADO.NET 애플리케이션을 작성하려면 사용자 입력의 유효성을 확인하지 않는 것과 같은 일반적인 코딩 문제를 피하는 것 외에도 여러 부분을 고려해야 합니다. 데이터에 액세스하는 애플리케이션에는 공격자가 주요한 데이터를 검색, 조작 또는 파괴하는 데 사용할 수 있는 수많은 잠재적인 오류 지점이 있습니다. 따라서 애플리케이션 디자인 단계의 위협 모델링 과정에서부터 최종 배포와 진행 중인 유지 관리에 이르기까지 보안의 모든 측면을 이해해야 합니다.

.NET Framework에서는 데이터베이스 애플리케이션을 보호하고 관리할 수 있는 여러 유용한 클래스, 서비스 및 도구를 제공합니다. CLR(공용 언어 런타임)은 관리 코드의 권한을 더 제한하는 CAS(코드 액세스 보안)를 사용하여 실행될 코드에 형식 안전 환경을 제공합니다. 다음 보안 데이터 액세스 코딩 연습에서는 잠재적인 공격자에 의해 발생할 수 있는 손상을 제한합니다.

보안 코드를 작성하면 데이터베이스와 같은 관리되지 않는 리소스 작업을 할 때 자초한 보안 허점을 막지 못합니다. SQL Server와 같은 대부분의 서버 데이터베이스는 제대로 구현되는 경우 보안을 강화하는 자체 보안 시스템을 가집니다. 그러나 제대로 구성되지 않은 경우 강력한 보안 시스템으로 구성된 데이터 소스라 할지라도 공격에 취약할 수 있습니다.

이 섹션의 내용

보안 개요
보안 ADO.NET 애플리케이션 디자인에 대한 권장 사항을 제공합니다.

보안 데이터 액세스
안전한 데이터 소스의 데이터로 작업하는 방법에 대해 설명합니다.

안전한 클라이언트 애플리케이션
클라이언트 애플리케이션 보안을 위한 고려 사항에 대해 설명합니다.

코드 액세스 보안 및 ADO.NET
CAS를 사용하여 ADO.NET 코드를 보호하는 방법 및 부분 신뢰를 사용하는 방법에 대해 설명합니다.

개인 정보 및 데이터 보안
ADO.NET 애플리케이션의 암호화 옵션에 대해 설명합니다.

DataSet 및 DataTable 보안 지침
DataSetDataTable에 대한 보안 지침을 제공합니다.

SQL Server 보안
개발자 관점에서 SQL Server 보안 기능에 대해 설명합니다.

Security Considerations
Entity Framework 애플리케이션의 보안에 대해 설명합니다.

보안
.NET에서 보안의 모든 측면을 설명하는 문서에 대한 링크가 포함되어 있습니다.

보안 도구
보안 정책을 보호하고 관리하는 .NET Framework 도구입니다.

보안 애플리케이션을 만들기 위한 리소스
보안 애플리케이션을 만들기 위한 문서에 대한 링크를 제공합니다.

보안 관련 참조 목록
온라인 및 인쇄 작업에서 사용 가능한 외부 리소스의 링크를 제공합니다.

참고 항목