통합 보안 및 승격 권한

승격된 권한이 있는 계정으로 보고서를 실행하면 보고서 쿼리에 무단 로그온을 만들거나, 데이터를 수정 또는 삭제하거나, 오류 데이터를 발생시키는 등의 악의적인 Transact-SQL 문이 포함된 경우 SQL Server가 보안상 위험할 수 있으며 데이터 원본을 호스팅하는 서버에 대해 승격된 권한이 있는 사용자가 보고서를 실행할 수 있습니다. 예를 들어 공격자가 악의적인 쿼리가 포함된 보고서를 게시한 경우 쿼리는 다음과 같은 조건 중 하나가 부합되면 관리자 자격 증명으로 처리될 수 있습니다.

  • 보고서 데이터 원본이 통합 보안을 사용하도록 구성되고 보고서를 실행하는 사용자는 관리자로 로그온합니다.

  • 보고서 데이터 원본은 자격 증명을 요청하도록 구성되고 사용자는 자신의 관리자 자격 증명을 입력하여 보고서를 실행합니다.

승격된 권한 공격을 줄이기 위한 최선의 구현 방법

이러한 위협을 해소하려면 다음 권장 보안 정책 중 하나를 따르십시오.

  • 최소 권한 계정을 사용하여 보고서에 데이터를 제공하는 외부 데이터 원본에 액세스합니다. 항상 최소 권한 계정의 저장된 자격 증명을 사용하도록 보고서 데이터 원본을 구성할 수 있습니다.

  • 공유 데이터 원본을 사용하여 데이터 원본 연결 정보를 지정합니다. 공유 데이터 원본에 할당된 역할을 사용하여 구성 문자열 및 실행 시 자격 증명 획득 방법을 정의하는 설정에 대한 액세스를 제어할 수 있습니다.

  • 역할 할당 및 워크플로 프로세스를 사용하여 확실하게 신뢰할 만한 보고서만 보고서 서버에 게시되도록 합니다. 역할 할당을 통해 특정 폴더에 대한 보고서 게시를 제한한 다음 보고서가 최종 위치로 이동되기 전에 관리자에게 새로 게시되는 보고서의 RDL 파일 및 쿼리에 대한 조사를 요구할 수 있습니다. Reporting Services에서는 각각의 조직에 맞게 표준 작동 프로시저를 정의하는 방법은 제공하지 않습니다. 따라서 조사 요구를 게시에 앞서 수행하도록 지정하는 기능은 없습니다.

  • 보고서 데이터 원본 자격 증명 옵션에 따라 통합 보안을 해제합니다. 통합 보안을 사용하는 데이터 원본 연결을 해제하려면 EnableIntegratedSecurity를 false로 설정합니다. Management Studio의 서버 속성 페이지에서 이 속성을 설정하는 방법은 방법: 보고서 서버 속성 설정(Management Studio)을 참조하십시오.

통합 보안을 사용하여 외부 데이터 원본에 액세스하도록 하면 사용자가 보고서를 실행하기 전에 보고서에서 통합 보안을 사용하도록 구성되어 있다는 사실에 대한 알림을 받지 않으므로 보안 토큰이 외부 데이터 원본으로 전달된다는 사실을 모르는 보고서 사용자에게 큰 문제가 될 수 있습니다. 게다가 사용자는 알 수 없는 원본으로부터 받은 전자 메일 첨부 파일을 여는 것처럼 보고서를 여는 데에도 별 염려가 없을 수 있습니다. 그러나 보안 위험은 두 시나리오에 동일하게 내재되어 있습니다. 악의적인 쿼리는 하이퍼링크를 통해 노출되거나 전자 메일 첨부 파일에 숨겨진 악의적인 스크립트가 워크스테이션을 손상 또는 감염시키는 것과 같은 방식으로 서버를 손상 또는 감염시킬 수 있습니다.

통합 보안을 해제한 경우 현재 통합 보안을 사용하도록 구성되어 있거나 이 기능을 해제한 후에 통합 보안을 사용하도록 구성되는 보고서 데이터 원본은 더 이상 실행되지 않습니다. 보고서 서버에서 통합 보안을 사용할 수 없는 경우에는 "이 데이터 원본은 Windows 통합 보안을 사용하도록 구성되었습니다. 이 보고서 서버에서는 Windows 통합 보안을 사용할 수 없습니다"라는 오류가 반환됩니다.