검사 목록: 데이터에 액세스 제한

이 검사 목록을 사용하면 조직 내 데이터 액세스 제한 방법을 검토할 수 있습니다. 이 검사 목록을 사용하여 사용자가 SQL Server 데이터베이스 엔진에 저장된 정보에 액세스하는 방법을 정기적으로 감사하십시오.

SQL Server 인스턴스에 액세스

이 항목은 데이터베이스 엔진의 전체 인스턴스와 관련이 있습니다.

...

설명

부울 필드 아이콘
Windows 그룹을 통해 대부분의 로그인에 액세스 권한을 부여했습니까?

Windows 그룹을 사용하여 데이터베이스 엔진에 대한 액세스 권한을 구성하면 액세스 권한을 쉽게 유지 관리할 수 있습니다. 로그인에 대한 자세한 내용은 보안 주체(데이터베이스 엔진)를 참조하십시오.

부울 필드 아이콘
데이터베이스 엔진에서 불필요하거나 사용되지 않는 로그인을 제거했습니까?

이 항목은 정기적으로 직접 검토해야 합니다. 주로 Windows 그룹을 통해 액세스 권한을 부여하면 이러한 태스크를 쉽게 수행할 수 있습니다.

부울 필드 아이콘
최소 권한의 원칙을 구현했습니까?

보안 주체(로그인, 사용자 및 역할)에 대해서는 작업을 수행하기 위해 액세스해야만 하는 데이터베이스에 대한 사용 권한만 부여되어야 합니다. 일반 사용자가 sa 같은 관리자 계정을 사용하여 접속하지 않도록 하십시오. 또한 웹 페이지, 사용자 지정 응용 프로그램 또는 SSIS 패키지에서 관리자 계정을 사용하여 접속하지 않도록 하십시오.

부울 필드 아이콘
추가 사용 권한을 부여하지 않고 시스템 메타데이터를 보기 위해 개체, 스키마, 데이터베이스 또는 서버 수준에서 VIEW DEFINITION 권한을 선택적으로 부여했습니까?

자세한 내용은 GRANT(Transact-SQL)를 참조하십시오.

부울 필드 아이콘
원격 서버를 연결된 서버로 대체했습니까?

자세한 내용은 원격 서버 구성서버 연결을 참조하십시오.

부울 필드 아이콘
연결된 서버에 대한 통과 인증이 필요할 경우 제한된 위임을 구현했습니까?

자세한 내용은 sp_addlinkedsrvlogin(Transact-SQL)을 참조하십시오.

부울 필드 아이콘
필요한 경우를 제외하고 서버를 통한 임시 쿼리를 사용하지 않도록 설정했습니까?

팁 자세한 내용은 Ad Hoc Distributed Queries 옵션을 참조하십시오.

사용자 ID 관리

다음 항목은 각 데이터베이스의 설정과 관련이 있습니다.

...

설명

부울 필드 아이콘
익명 사용자에게 필요한 경우를 제외하고 guest 사용자 계정을 사용하지 않도록 설정했습니까?

SQL Server Management Studio 또는 Transact-SQL을 사용하여 계정을 사용하지 않도록 설정하십시오.

부울 필드 아이콘
사용자가 필요한 데이터베이스에 대한 액세스 권한만 가지고 있습니까?

이 항목은 정기적으로 직접 검토해야 합니다. 주로 SQL Server 역할을 통해 액세스 권한을 부여하면 이러한 태스크를 쉽게 수행할 수 있습니다. 자세한 내용은 서버 수준 역할을 참조하십시오.

부울 필드 아이콘
대부분의 사용자에게 SQL Server 역할을 통해 액세스 권한을 부여했습니까?

서버 및 데이터베이스 역할을 사용하여 액세스 권한을 구성하면 액세스 권한을 쉽게 유지 관리할 수 있습니다. 역할에 대한 자세한 내용은 데이터베이스 수준 역할을 참조하십시오.

부울 필드 아이콘
SQL Server 에이전트 서비스 계정의 권한을 조정하는 대신 SQL Server 에이전트가 자격 증명을 사용하여 특정 권한이 필요한 작업 단계를 실행합니까?

자세한 내용은 자격 증명(데이터베이스 엔진)을 참조하십시오.

부울 필드 아이콘
SQL Server 에이전트 사용자가 다른 Windows 자격 증명이 필요한 작업을 실행해야 할 경우 해당 사용자에게 태스크를 수행하는 데 충분한 권한이 있는 프록시 계정을 할당했습니까?

자세한 내용은 방법: 프록시 만들기(SQL Server Management Studio)를 참조하십시오.

부울 필드 아이콘
저장 프로시저, 함수, 트리거 또는 어셈블리와 같은 모듈 내의 데이터베이스 개체에 대한 액세스 권한을 캡슐화했습니까?

팁: 미리 정의된 모듈에 대한 액세스를 제한하면 악의적 사용자가 임의의 코드를 실행하는 것을 어렵게 만들 수 있습니다. 자세한 내용은 저장 프로시저 이해를 참조하십시오.

부울 필드 아이콘
모듈에 기본 컨텍스트를 사용하는 대신 실행 컨텍스트를 명시적으로 설정했습니까?

자세한 내용은 모듈에서 EXECUTE AS 사용을 참조하십시오.

부울 필드 아이콘
모듈이 변조를 방지하도록 서명되었습니까?

자세한 내용은 모듈 서명(데이터베이스 엔진)을 참조하십시오.

부울 필드 아이콘
응용 프로그램 역할 대신 USER WITHOUT LOGIN을 사용합니까?

자세한 내용은 SQL Server 2005 보안 최선의 구현 방법 - 운영 및 관리 태스크(SQL Server 2005 Security Best Practices - Operational and Administrative Tasks)를 참조하십시오.

부울 필드 아이콘
SETUSER 대신 EXECUTE AS를 사용합니까?

자세한 내용은 EXECUTE AS와 SETUSER를 참조하십시오.

부울 필드 아이콘
응용 프로그램 역할을 EXECUTE AS로 대체했습니까?

가능하면 EXECUTE AS … WITH NO REVERT를 사용하십시오. ID 변경 사항을 중첩할 때는 EXECUTE AS … WITH COOKIE 옵션을 사용하십시오. 자세한 내용은 EXECUTE AS(Transact-SQL)를 참조하십시오.

개체 액세스

다음 항목은 데이터베이스 개체 액세스와 관련이 있습니다.

...

설명

부울 필드 아이콘
public 서버 및 데이터베이스 역할에 매우 제한적인 권한만 부여했습니까?

모든 로그인 및 사용자는 public 역할의 멤버이며 제거할 수 없습니다. 따라서 매우 제한적인 권한만 부여해야 합니다.

부울 필드 아이콘
유사한 데이터베이스 개체를 동일한 스키마로 그룹화했습니까?

비즈니스 요구에 따라 스키마를 만드십시오. dbo 스키마 대신 이러한 사용자 지정 스키마를 사용하십시오. 자세한 내용은 스키마(데이터베이스 엔진)를 참조하십시오.

부울 필드 아이콘
스키마 수준에서 소유권과 권한을 설정하여 데이터베이스 개체 보안을 관리합니까?

자세한 내용은 GRANT 스키마 권한(Transact-SQL)을 참조하십시오.

부울 필드 아이콘
dbo가 모든 스키마를 소유하는 대신 스키마별로 소유자를 설정했습니까?

모든 스키마의 소유자가 동일할 경우 소유권 체인에서 필수 권한 확인을 무시할 수 있습니다. 자세한 내용은 소유권 체인을 참조하십시오.

부울 필드 아이콘
프로시저에 추가적인 권한이 필요할 경우 프로시저 코드에 대한 코드 서명을 사용합니까?

자세한 내용은 모듈 서명(데이터베이스 엔진)을 참조하십시오.

부울 필드 아이콘
TRUSTWORTHY 데이터베이스 옵션을 OFF로 설정했습니까?

ON으로 설정하면 가장 컨텍스트를 사용하는 데이터베이스 모듈(예: 사용자 정의 함수 또는 저장 프로시저)이 데이터베이스 외부의 리소스에 액세스할 수 있습니다. ALTER DATABASE 문을 사용하여 TRUSTWORTHY 설정을 변경하십시오. 자세한 내용은 TRUSTWORTHY 데이터베이스 속성을 참조하십시오.

부울 필드 아이콘
모듈에서 SQL 삽입을 방지하기 위한 단계를 수행했습니까?

팁: 자세한 내용은 SQL 인젝션을 참조하십시오.

부울 필드 아이콘
모듈 내에서 액세스를 캡슐화하는 대신 데이터베이스에 대한 임시 액세스가 허용되는 경우 응용 프로그램에서 SQL 삽입을 방지하기 위한 단계를 수행했습니까?

자세한 내용은 다음 링크를 참조하십시오.

액세스 감사

...

설명

부울 필드 아이콘
시나리오별로 감사를 수행합니까?

감사 필요성과 추가 데이터 생성이라는 오버헤드 간에 균형을 맞추십시오. SQL Server 감사를 사용하면 단일 데이터베이스 및 특정 개체의 DML에 대한 감사를 설정할 수 있습니다. 자세한 내용은 SQL Server Audit 이해를 참조하십시오.

부울 필드 아이콘
로그인 감사가 실패한 로그인에 대한 기록을 보존하도록 구성되었습니까?

Management Studio에서 서버 속성(보안 페이지)을 사용하여 로그인 감사를 구성하십시오.

부울 필드 아이콘
매우 중요한 데이터를 저장하는 경우 성공한 로그인과 실패한 로그인 모두를 감사합니까?

자세한 내용은 Audit Login 이벤트 클래스Audit Login Failed 이벤트 클래스를 참조하십시오.

부울 필드 아이콘
SQL Server 감사 또는 추적 이벤트를 사용하여 DDL, DML 및 특정 서버 이벤트를 감사합니까?

자세한 내용은 SQL Server Audit 이해, 이벤트 알림 이해, DDL 이벤트이벤트 알림용 추적 이벤트를 참조하십시오.

부울 필드 아이콘
긴급 이벤트에 대한 알림을 받기 위해 WMI를 사용합니까?

자세한 내용은 서버 이벤트용 WMI 공급자 개념을 참조하십시오.

부울 필드 아이콘
필요할 경우에만 C2 감사 또는 Common Criteria 호환성을 사용합니까?

비즈니스 요구에 따라 구성을 수행해야 합니다. 비즈니스에 필요할 경우에만 C2 감사 또는 Common Criteria 호환성을 사용하십시오. Common Criteria 인증을 참조하십시오.