SQL Server 보안 설정Securing SQL Server

SQL ServerSQL Server 보안은 플랫폼, 인증, 개체(데이터 포함) 및 시스템에 액세스하는 응용 프로그램의 네 가지 영역과 관련된 일련의 단계로 볼 수 있습니다.Securing SQL ServerSQL Server can be viewed as a series of steps, involving four areas: the platform, authentication, objects (including data), and applications that access the system. 다음 항목에서는 효과적인 보안 계획을 만들고 구현하는 방법을 설명합니다.The following topics will guide you through creating and implementing an effective security plan.

SQL ServerSQL Server SQL Server [웹 사이트에서](http://go.microsoft.com/fwlink/?LinkID=31629) 보안에 대한 자세한 정보를 확인할 수 있습니다.You can find more information about SQL ServerSQL Server security at the SQL Server Web site. 여기에는 최선의 구현 방법 안내와 보안 검사 목록도 포함되어 있습니다.This includes a best practice guide and a security checklist. 이 사이트에는 최신 서비스 팩 정보 및 다운로드도 포함되어 있습니다.This site also contains the latest service pack information and downloads.

플랫폼 및 네트워크 보안Platform and Network Security

SQL ServerSQL Server 에 대한 플랫폼에는 클라이언트를 데이터베이스 서버에 연결하는 물리적 하드웨어와 네트워킹 시스템 및 데이터베이스 요청을 처리하는 데 사용되는 이진 파일이 포함되어 있습니다.The platform for SQL ServerSQL Server includes the physical hardware and networking systems connecting clients to the database servers, and the binary files that are used to process database requests.

물리적 보안Physical Security

최상의 물리적 보안 방법은 물리적 서버 및 하드웨어 구성 요소에 대한 접근을 엄격하게 제한하는 것입니다.Best practices for physical security strictly limit access to the physical server and hardware components. 예를 들어 데이터베이스 서버 하드웨어 및 네트워킹 장치가 있는 방에는 자물쇠를 달고 접근을 제한합니다.For example, use locked rooms with restricted access for the database server hardware and networking devices. 또한 별도의 안전한 장소에 백업 미디어를 보관하여 접근을 제한합니다.In addition, limit access to backup media by storing it at a secure offsite location.

물리적 네트워크 보안의 구현은 권한이 없는 사용자가 네트워크에 접근하지 못하게 방지하는 것으로부터 시작됩니다.Implementing physical network security starts with keeping unauthorized users off the network. 다음 표에서는 네트워킹 보안에 대한 자세한 정보를 제공합니다.The following table contains more information about networking security information.

내용For information about 참조 항목See
SQL Server CompactSQL Server Compact 및 다른 SQL ServerSQL Server 버전에 대한 네트워크 액세스 editions SQL Server CompactSQL Server Compact 온라인 설명서의 "서버 환경 구성 및 보안 설정""Configuring and Securing the Server Environment" in SQL Server CompactSQL Server Compact Books Online

운영 체제 보안Operating System Security

운영 체제 서비스 팩 및 업그레이드에는 중요한 보안 향상 기능이 포함되어 있습니다.Operating system service packs and upgrades include important security enhancements. 모든 업데이트와 업그레이드를 데이터베이스 응용 프로그램을 사용하여 테스트한 후 운영 체제에 적용합니다.Apply all updates and upgrades to the operating system after you test them with the database applications.

방화벽을 사용하는 것도 효과적인 보안 구현 방법입니다.Firewalls also provide effective ways to implement security. 논리적으로 방화벽은 네트워크 트래픽을 분리 또는 제한하므로 방화벽을 구성하여 조직의 데이터 보안 정책을 강화할 수 있습니다.Logically, a firewall is a separator or restrictor of network traffic, which can be configured to enforce your organization's data security policy. 방화벽을 사용하면 보안 조치를 중점적으로 취할 수 있는 검사점이 제공되어 운영 체제 수준의 보안이 향상됩니다.If you use a firewall, you will increase security at the operating system level by providing a chokepoint where your security measures can be focused. 다음 표에서는 SQL ServerSQL Server의 방화벽 사용 방법에 대한 자세한 정보를 제공합니다.The following table contains more information about how to use a firewall with SQL ServerSQL Server.

내용For information about 참조 항목See
사용할 방화벽 구성: SQL ServerSQL ServerConfiguring a firewall to work with SQL ServerSQL Server 데이터베이스 엔진 액세스에 대한 Windows 방화벽 구성Configure a Windows Firewall for Database Engine Access
사용할 방화벽 구성: Integration ServicesIntegration ServicesConfiguring a firewall to work with Integration ServicesIntegration Services Integration Services 서비스(SSIS 서비스)Integration Services Service (SSIS Service)
사용할 방화벽 구성: Analysis ServicesAnalysis ServicesConfiguring a firewall to work with Analysis ServicesAnalysis Services Analysis Services 액세스를 허용하도록 Windows 방화벽 구성Configure the Windows Firewall to Allow Analysis Services Access
다음에 액세스할 수 있도록 방화벽의 특정 포트 열기: SQL ServerSQL ServerOpening specific ports on a firewall to enable access to SQL ServerSQL Server SQL Server 액세스를 허용하도록 Windows 방화벽 구성Configure the Windows Firewall to Allow SQL Server Access
채널 바인딩 및 서비스 바인딩을 사용하여 인증에 대한 확장된 보호 지원 구성Configuring support for Extended Protection for Authentication by using channel binding and service binding 확장된 보호를 사용하여 데이터베이스 엔진에 연결Connect to the Database Engine Using Extended Protection

노출 영역 축소는 사용하지 않는 구성 요소를 중지하거나 비활성화하는 보안 조치입니다.Surface area reduction is a security measure that involves stopping or disabling unused components. 노출 영역 축소는 시스템에 대한 공격 가능성을 낮춤으로써 보안 향상에 도움이 됩니다.Surface area reduction helps improve security by providing fewer avenues for potential attacks on a system. SQL ServerSQL Server 의 노출 영역을 제한할 때의 핵심은 서비스와 사용자에게 적절한 권한만 부여하여 "최소한의 권한"으로 필요한 서비스를 실행하는 것입니다.The key to limiting the surface area of SQL ServerSQL Server includes running required services that have "least privilege" by granting services and users only the appropriate rights. 다음 표에서는 서비스 및 시스템 액세스에 대한 자세한 정보를 제공합니다.The following table contains more information about services and system access.

내용For information about 참조 항목See
다음을 위해 필요한 서비스: SQL ServerSQL ServerServices required for SQL ServerSQL Server Windows 서비스 계정 및 권한 구성Configure Windows Service Accounts and Permissions

SQL ServerSQL Server 시스템에서 인터넷 정보 서비스(IIS)를 사용하는 경우 추가 단계를 수행해야 플랫폼의 노출 영역에 대한 보안을 설정할 수 있습니다.If your SQL ServerSQL Server system uses Internet Information Services (IIS), additional steps are required to help secure the surface of the platform. 다음 표에서는 SQL ServerSQL Server 및 인터넷 정보 서비스에 대한 자세한 정보를 제공합니다.The following table contains information about SQL ServerSQL Server and Internet Information Services.

내용For information about 참조 항목See
다음 IIS 보안: SQL Server CompactSQL Server CompactIIS security with SQL Server CompactSQL Server Compact SQL Server CompactSQL Server Compact 온라인 설명서의 "IIS 보안""IIS Security" in SQL Server CompactSQL Server Compact Books Online
Reporting ServicesReporting Services 인증 Authentication Reporting Services의 인증Authentication in Reporting Services
SQL Server CompactSQL Server Compact 및 IIS 액세스 and IIS access SQL Server CompactSQL Server Compact 온라인 설명서의 "인터넷 정보 서비스 보안 순서도""Internet Information Services Security Flowchart" in SQL Server CompactSQL Server Compact Books Online

SQL Server 운영 체제 파일 보안SQL Server Operating System Files Security

SQL ServerSQL Server 는 작업 및 데이터 저장을 위해 운영 체제 파일을 사용합니다. uses operating system files for operation and data storage. 최상의 파일 보안 방법은 이러한 파일에 대한 액세스를 제한하는 것입니다.Best practices for file security requires that you restrict access to these files. 다음 표에서는 이러한 파일에 대해 설명합니다.The following table contains information about these files.

내용For information about 참조 항목See
SQL ServerSQL Server 프로그램 파일 program files SQL Server 기본 인스턴스 및 명명된 인스턴스의 파일 위치File Locations for Default and Named Instances of SQL Server

SQL ServerSQL Server 서비스 팩 및 업그레이드는 향상된 보안 기능을 제공합니다. service packs and upgrades provide enhanced security. SQL ServerSQL Server에 사용할 수 있는 최신 서비스 팩을 확인하려면 [SQL Server](http://go.microsoft.com/fwlink/?LinkID=31629) 웹 사이트를 참조하십시오.To determine the latest available service pack available for SQL ServerSQL Server, see the SQL Server Web site.

다음 스크립트를 사용하여 시스템에 설치된 서비스 팩을 확인할 수 있습니다.You can use the following script to determine the service pack installed on the system.

SELECT CONVERT(char(20), SERVERPROPERTY('productlevel'));  
GO  

보안 주체 및 데이터베이스 개체 보안Principals and Database Object Security

보안 주체는 SQL ServerSQL Server에 대한 액세스 권한을 부여 받은 개인, 그룹 및 프로세스입니다.Principals are the individuals, groups, and processes granted access to SQL ServerSQL Server. “보안 개체”는 서버, 데이터베이스 및 데이터베이스에 포함된 개체입니다.“Securables” are the server, database, and objects the database contains. SQL ServerSQL Server 노출 영역이 감소되도록 각 보안 개체의 사용 권한 집합을 구성할 수 있습니다.Each has a set of permissions that can be configured to help reduce the SQL ServerSQL Server surface area. 다음 표에서는 보안 주체 및 보안 개체에 대한 자세한 정보를 제공합니다.The following table contains information about principals and securables.

내용For information about 참조 항목See
서버와 데이터베이스 사용자, 역할 및 프로세스Server and database users, roles, and processes 보안 주체(데이터베이스 엔진)Principals (Database Engine)
서버 및 데이터베이스 개체 보안Server and database objects security 보안 개체Securables
SQL ServerSQL Server 보안 계층The SQL ServerSQL Server security hierarchy 사용 권한 계층(데이터베이스 엔진)Permissions Hierarchy (Database Engine)

암호화 및 인증서Encryption and Certificates

암호화를 통해 액세스 제어 문제를 해결할 수는 없습니다.Encryption does not solve access control problems. 그러나 암호화를 사용하면 드물게 발생하긴 하지만 액세스 제어가 무시되는 경우에도 데이터 손실을 제한하여 보안이 향상됩니다.However, it enhances security by limiting data loss even in the rare occurrence that access controls are bypassed. 예를 들어 데이터베이스 호스트 컴퓨터가 잘못 구성되어 악의적인 사용자가 신용 카드 번호와 같은 중요한 데이터를 얻는 경우 해당 정보가 암호화되어 있으면 도난 당한 정보를 사용할 수 없을 수도 있습니다.For example, if the database host computer is misconfigured and a malicious user obtains sensitive data, such as credit card numbers, that stolen information might be useless if it is encrypted. 다음 표에서는 SQL ServerSQL Server의 암호화에 대한 자세한 정보를 제공합니다.The following table contains more information about encryption in SQL ServerSQL Server.

내용For information about 참조 항목See
다음 암호화 계층 구조: SQL ServerSQL ServerThe encryption hierarchy in SQL ServerSQL Server 암호화 계층Encryption Hierarchy
안전한 연결 구현Implementing secure connections 데이터베이스 엔진에 암호화 연결 사용(SQL Server 구성 관리자)Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager)
암호화 함수Encryption functions 암호화 함수(Transact-SQL)Cryptographic Functions (Transact-SQL)

인증서는 강력한 인증을 통해 안전한 통신을 수행할 수 있도록 두 서버 간에 공유되는 소프트웨어 "키"입니다.Certificates are software "keys" shared between two servers that enable secure communications by way of strong authentication. SQL ServerSQL Server 에서 인증서를 만들고 사용하여 개체 및 연결 보안을 향상시킬 수 있습니다.You can create and use certificates in SQL ServerSQL Server to enhance object and connection security. 다음 표에서는 SQL ServerSQL Server의 인증서 사용 방법에 대한 자세한 정보를 제공합니다.The following table contains information about how to use certificates with SQL ServerSQL Server.

내용For information about 참조 항목See
다음에서 사용할 인증서 만들기 SQL ServerSQL ServerCreating a certificate for use by SQL ServerSQL Server CREATE CERTIFICATE(Transact-SQL)CREATE CERTIFICATE (Transact-SQL)
데이터베이스 미러링에 인증서 사용Using a certificate with database mirroring 데이터베이스 미러링 끝점에 대한 인증서 사용(Transact-SQL)Use Certificates for a Database Mirroring Endpoint (Transact-SQL)

응용 프로그램 보안Application Security

SQL ServerSQL Server 보안 방법에는 보안 클라이언트 응용 프로그램 작성이 포함됩니다. security best practices include writing secure client applications.

네트워킹 계층에서 클라이언트 응용 프로그램의 보안을 설정하는 방법은 Client Network Configuration을 참조하십시오.For more information about how to help secure client applications at the networking layer, see Client Network Configuration.

SQL Server 보안 도구, 유틸리티, 뷰 및 함수SQL Server Security Tools, Utilities, Views, and Functions

SQL ServerSQL Server 는 보안을 구성하고 관리하는 데 사용할 수 있는 도구, 유틸리티, 뷰 및 함수를 제공합니다. provides tools, utilities, views, and functions that can be used to configure and administer security.

SQL Server 보안 도구 및 유틸리티SQL Server Security Tools and Utilities

다음 표에서는 보안을 구성하고 관리하는 데 사용할 수 있는 SQL ServerSQL Server 도구 및 유틸리티에 대한 자세한 정보를 제공합니다.The following table contains information about SQL ServerSQL Server tools and utilities that you can use to configure and administer security.

내용For information about 참조 항목See
다음 연결, 구성 및 제어: SQL ServerSQL ServerConnecting to, configuring, and controlling SQL ServerSQL Server SQL Server Management Studio 사용Use SQL Server Management Studio
SQL ServerSQL Server 연결 및 명령 프롬프트에서 쿼리 실행Connecting to SQL ServerSQL Server and running queries at the command prompt sqlcmd 유틸리티sqlcmd Utility
다음 네트워크 구성 및 제어: SQL ServerSQL ServerNetwork configuration and control for SQL ServerSQL Server SQL Server 구성 관리자SQL Server Configuration Manager
정책 기반 관리를 사용하여 기능 설정 및 해제Enabling and disabling features by using Policy-Based Management 정책 기반 관리를 사용하여 서버 관리Administer Servers by Using Policy-Based Management
보고서 서버에 대한 대칭 키 조작Manipulating symmetric keys for a report server rskeymgmt 유틸리티(SSRS)rskeymgmt Utility (SSRS)

SQL Server 보안 카탈로그 뷰 및 함수SQL Server Security Catalog Views and Functions

데이터베이스 엔진Database Engine 은 성능과 유틸리티에 맞게 최적화된 다양한 뷰 및 함수를 통해 보안 정보를 표시합니다.The 데이터베이스 엔진Database Engine exposes security information in several views and functions that are optimized for performance and utility. 다음 표에서는 보안 뷰 및 함수에 대한 자세한 정보를 제공합니다.The following table contains information about security views and functions.

내용For information about 참조 항목See
SQL ServerSQL Server 보안 카탈로그 뷰(데이터베이스 수준 및 서버 수준의 사용 권한, 보안 주체, 역할 등에 대한 정보 반환) security catalog views, which return information about database-level and server-level permissions, principals, roles, and so on. 암호화 키, 인증서 및 자격 증명에 대한 정보를 제공하는 카탈로그 뷰도 있습니다.In addition, there are catalog views that provide information about encryption keys, certificates, and credentials. 보안 카탈로그 뷰(Transact-SQL)Security Catalog Views (Transact-SQL)
SQL ServerSQL Server 보안 함수 security functions, which return information about the current user, permissions and schemas. 보안 함수(Transact-SQL)Security Functions (Transact-SQL)
SQL ServerSQL Server 보안 동적 관리 뷰 security dynamic management views. 보안 관련 동적 관리 뷰 및 함수(Transact-SQL)Security-Related Dynamic Management Views and Functions (Transact-SQL)

관련 내용Related Content

SQL Server 설치에 대한 보안 고려 사항Security Considerations for a SQL Server Installation
SQL Server 데이터베이스 엔진 및 Azure SQL 데이터베이스에 대한 보안 센터 Security Center for SQL Server Database Engine and Azure SQL Database
SQL Server 2012 보안 모범 사례 - 운영 및 관리 태스크 SQL Server 2012 Security Best Practices - Operational and Administrative Tasks
SQL Server 보안 블로그SQL Server Security Blog
보안 모범 사례 및 레이블 보안 백서Security Best Practice and Label Security Whitepapers
SQL Server 설치에 대한 보안 고려 사항Security Considerations for a SQL Server Installation
행 수준 보안 Row-Level Security
SQL Server 지적 재산 보호Protecting Your SQL Server Intellectual Property