ADO.NET 애플리케이션 보안Securing ADO.NET Applications

보안 ADO.NET 애플리케이션을 작성하려면 사용자 입력의 유효성을 확인하지 않는 것과 같은 일반적인 코딩 문제를 피하는 것 외에도 여러 부분을 고려해야 합니다.Writing a secure ADO.NET application involves more than avoiding common coding pitfalls such as not validating user input. 데이터에 액세스하는 애플리케이션에는 공격자가 중요한 데이터를 검색, 조작 또는 제거하는 데 악용할 수 있는 여러 잠재적인 오류 지점이 있습니다.An application that accesses data has many potential points of failure that an attacker can exploit to retrieve, manipulate, or destroy sensitive data. 따라서 애플리케이션 디자인 단계의 위협 모델링 과정에서부터 최종 배포와 진행 중인 유지 관리에 이르기까지 보안의 모든 측면을 이해해야 합니다.It is therefore important to understand all aspects of security, from the process of threat modeling during the design phase of your application, to its eventual deployment and ongoing maintenance.

.NET Framework에서는 데이터베이스 애플리케이션을 보호하고 관리할 수 있는 여러 유용한 클래스, 서비스 및 도구를 제공합니다.The .NET Framework provides many useful classes, services, and tools for securing and administering database applications. CLR(공용 언어 런타임)은 관리 코드의 권한을 더 제한하는 CAS(코드 액세스 보안)를 사용하여 실행될 코드에 형식 안전 환경을 제공합니다.The common language runtime (CLR) provides a type-safe environment for code to run in, with code access security (CAS) to restrict further the permissions of managed code. 다음 보안 데이터 액세스 코딩 연습에서는 잠재적인 공격자에 의해 발생할 수 있는 손상을 제한합니다.Following secure data access coding practices limits the damage that can be inflicted by a potential attacker.

보안 코드를 작성하면 데이터베이스와 같은 관리되지 않는 리소스 작업을 할 때 자초한 보안 허점을 막지 못합니다.Writing secure code does not guard against self-inflicted security holes when working with unmanaged resources such as databases. SQL Server와 같은 대부분의 서버 데이터베이스는 제대로 구현되는 경우 보안을 강화하는 자체 보안 시스템을 가집니다.Most server databases, such as SQL Server, have their own security systems, which enhance security when implemented correctly. 그러나 제대로 구성되지 않은 경우 강력한 보안 시스템으로 구성된 데이터 소스라 할지라도 공격에 취약할 수 있습니다.However, even a data source with a robust security system can be victimized in an attack if it is not configured appropriately.

단원 내용In This Section

보안 개요Security Overview
보안 ADO.NET 애플리케이션 디자인에 대한 권장 사항을 제공합니다.Provides recommendations for designing secure ADO.NET applications.

보안 데이터 액세스Secure Data Access
안전한 데이터 소스의 데이터로 작업하는 방법에 대해 설명합니다.Describes how to work with data from a secured data source.

안전한 클라이언트 애플리케이션Secure Client Applications
클라이언트 애플리케이션 보안을 위한 고려 사항에 대해 설명합니다.Describes security considerations for client applications.

코드 액세스 보안 및 ADO.NETCode Access Security and ADO.NET
CAS를 사용하여 ADO.NET 코드를 보호하는 방법 및Describes how CAS can help protect ADO.NET code. 부분 신뢰를 사용하는 방법에 대해 설명합니다.Also discusses how to work with partial trust.

개인 정보 및 데이터 보안Privacy and Data Security
ADO.NET 애플리케이션의 암호화 옵션에 대해 설명합니다.Describes encryption options for ADO.NET applications.

SQL Server 보안SQL Server Security
개발자 관점에서 SQL Server 보안 기능에 대해 설명합니다.Describes SQL Server security features from a developer's perspective.

보안 고려 사항Security Considerations
Entity Framework 애플리케이션의 보안에 대해 설명합니다.Describes security for Entity Framework applications.

.NET에서 보안의 여러 가지 측면에 대해 설명하는 항목의 링크가 들어 있습니다.Contains links to topics describing all aspects of security in .NET.

보안 도구Security Tools
보안 정책을 보호하고 관리하는 .NET Framework 도구입니다..NET Framework tools for securing and administering security policy.

보안 애플리케이션을 만들기 위한 리소스Resources for Creating Secure Applications
보안 애플리케이션 만들기에 대한 항목의 링크를 제공합니다.Provides links to topics for creating secure applications.

보안 관련 참조 목록Security Bibliography
온라인 및 인쇄 작업에서 사용 가능한 외부 리소스의 링크를 제공합니다.Provides links to external resources available online and in print.

참조See also