보안 로그에 SQL Server Audit 이벤트 쓰기Write SQL Server Audit Events to the Security Log

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

보안 수준이 높은 환경에서는 Windows 보안 로그에 개체 액세스를 기록하는 이벤트를 쓰는 것이 좋습니다.In a high security environment, the Windows Security log is the appropriate location to write events that record object access. 다른 감사 위치도 지원되지만 변조될 가능성이 높습니다.Other audit locations are supported but are more subject to tampering.

Windows 보안 로그에 SQL ServerSQL Server 서버 감사를 쓰려면 두 가지 주요 요구 사항을 충족해야 합니다.There are two key requirements for writing SQL ServerSQL Server server audits to the Windows Security log:

  • 감사 개체 액세스 설정이 이벤트를 캡처하도록 구성되어야 합니다.The audit object access setting must be configured to capture the events. 이 감사 정책 도구(auditpol.exe)는 감사 개체 액세스 범주의 여러 하위 정책 설정을 제공합니다.The audit policy tool (auditpol.exe) exposes a variety of sub-policies settings in the audit object access category. SQL ServerSQL Server 가 개체 액세스를 감사하도록 허용하려면 응용 프로그램에서 생성된 설정을 구성합니다.To allow SQL ServerSQL Server to audit object access, configure the application generated setting.
  • SQL ServerSQL Server 서비스를 실행 중인 계정이 Windows 보안 로그에 쓰려면 보안 감사 생성 권한이 있어야 합니다.The account that the SQL ServerSQL Server service is running under must have the generate security audits permission to write to the Windows Security log. 기본적으로 LOCAL SERVICE 및 NETWORK SERVICE 계정에는 이 권한이 포함됩니다.By default, the LOCAL SERVICE and the NETWORK SERVICE accounts have this permission. SQL ServerSQL Server 가 이러한 계정 중 하나로 실행 중인 경우에는 이 단계가 필요하지 않습니다.This step is not required if SQL ServerSQL Server is running under one of those accounts.
  • SQL ServerSQL Server 서비스 계정에 대한 모든 권한을 레지스트리 하이브 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security에 제공합니다.Provide full permission for the SQL ServerSQL Server service account to the registry hive HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security.

    중요

    레지스트리를 올바르게 편집하지 않으면 시스템을 심각하게 손상시킬 수 있습니다.Incorrectly editing the registry can severely damage your system. 따라서 레지스트리를 변경하기 전에 컴퓨터의 중요한 데이터는 백업해 두는 것이 좋습니다.Before making changes to the registry, we recommend that you back up any valued data on the computer.

Windows 감사 정책은 Windows 보안 로그에 기록하도록 구성된 경우 SQL ServerSQL Server 감사에 영향을 줄 수 있으며 감사 정책이 잘못 구성된 경우 이벤트가 손실될 가능성이 있습니다.The Windows audit policy can affect SQL ServerSQL Server auditing if it is configured to write to the Windows Security log, with the potential of losing events if the audit policy is incorrectly configured. 일반적으로 Windows 보안 로그는 이전 이벤트를 덮어쓰도록 설정됩니다.Typically, the Windows Security log is set to overwrite the older events. 이렇게 하면 가장 최신 이벤트를 유지할 수 있습니다.This preserves the most recent events. 하지만 Windows 보안 로그가 이전 이벤트를 덮어쓰도록 설정되지 않으면 보안 로그가 꽉 찰 경우 시스템에서 Windows 이벤트 1104(로그가 꽉 참)가 발생합니다.However, if the Windows Security log is not set to overwrite older events, then if the Security log is full, the system will issue Windows event 1104 (Log is full). 그러면 다음과 같이 됩니다.At that point:

  • 보안 이벤트가 더 이상 기록되지 않습니다.No further security events will be recorded
  • SQL ServerSQL Server 에서 시스템이 보안 로그에 이벤트를 기록할 수 없다는 것을 감지하지 못하고 따라서 감사 이벤트가 손실될 수 있습니다. will not be able to detect that the system is not able to record the events in the Security log, resulting in the potential loss of audit events
  • 시스템 관리자가 보안 로그를 수정하면 로깅 동작이 정상으로 돌아옵니다.After the box administrator fixes the Security log, the logging behavior will return to normal.

시작하기 전에 Before You Begin

제한 사항 Limitations and Restrictions

SQL ServerSQL Server 컴퓨터 관리자는 도메인 정책이 보안 로그에 대한 로컬 설정을 덮어쓸 수 있다는 점을 유의해야 합니다.Administrators of the SQL ServerSQL Server computer should understand that local settings for the Security log can be overwritten by a domain policy. 이 경우에 도메인 정책은 하위 범주 설정을 덮어쓸 수 있습니다(auditpol /get /subcategory:"application generated").In this case, the domain policy might overwrite the subcategory setting (auditpol /get /subcategory:"application generated"). 이는 SQL ServerSQL Server 에서 감사하려는 이벤트가 기록되지 않는다는 점을 감지할 필요 없이 이벤트를 로깅할 수 있는 SQL ServerSQL Server 의 기능에 영향을 미칠 수 있습니다.This can affect SQL ServerSQL Server ability to log events without having any way to detect that the events that SQL ServerSQL Server is trying to audit are not going to be recorded.

보안 Security

사용 권한 Permissions

이러한 설정을 구성하려면 Windows 관리자여야 합니다.You must be a Windows administrator to configure these settings.

Windows에서 auditpol을 사용하여 감사 개체 액세스 설정을 구성하려면 To configure the audit object access setting in Windows using auditpol

  1. 관리자 권한으로 명령 프롬프트를 엽니다.Open a command prompt with administrative permissions.

    1. 시작 메뉴에서 모든 프로그램, 보조프로그램을 차례로 가리키고 명령 프롬프트를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 클릭합니다.On the Start menu, point to All Programs, point to Accessories, right-click Command Prompt, and then click Run as administrator.

    2. 사용자 계정 컨트롤 대화 상자가 열리면 계속을 클릭합니다.If the User Account Control dialog box opens, click Continue.

  2. 다음 문을 실행하여 SQL ServerSQL Server에서 감사를 사용하도록 설정합니다.Execute the following statement to enable auditing from SQL ServerSQL Server.

    auditpol /set /subcategory:"application generated" /success:enable /failure:enable  
    
  3. 명령 프롬프트 창을 닫습니다.Close the command prompt window.

secpol을 사용하여 계정에 보안 감사 생성 권한을 부여하려면 To grant the generate security audits permission to an account using secpol

  1. Windows 운영 체제의 시작 메뉴에서 실행을 클릭합니다.For any Windows operating system, on the Start menu, click Run.

  2. secpol.msc 를 입력한 다음 확인을 클릭합니다.Type secpol.msc and then click OK. 사용자 액세스 제어 대화 상자가 열리면 계속을 클릭합니다.If the User Access Control dialog box appears, click Continue.

  3. 로컬 보안 정책 도구에서 보안 설정, 로컬 정책을 차례로 확장한 다음 사용자 권한 할당을 클릭합니다.In the Local Security Policy tool, expand Security Settings, expand Local Policies, and then click User Rights Assignment.

  4. 결과 창에서 보안 감사 생성을 두 번 클릭합니다.In the results pane, double-click Generate security audits.

  5. 로컬 보안 설정 탭에서 사용자 또는 그룹 추가를 클릭합니다.On the Local Security Setting tab, click Add User or Group.

  6. 사용자, 컴퓨터 또는 그룹 선택 대화 상자에서 domain1\user1 과 같은 사용자 계정의 이름을 입력한 다음 확인을 클릭하거나 고급 을 클릭하여 계정을 검색합니다.In the Select Users, Computers, or Groups dialog box, either type the name of the user account, such as domain1\user1 and then click OK, or click Advanced and search for the account.

  7. 확인을 클릭합니다.Click OK.

  8. 보안 정책 도구를 닫습니다.Close the Security Policy tool.

  9. 이 설정을 사용하려면 SQL ServerSQL Server 를 다시 시작합니다.Restart SQL ServerSQL Server to enable this setting.

Windows에서 secpol을 사용하여 감사 개체 액세스 설정을 구성하려면 To configure the audit object access setting in Windows using secpol

  1. 운영 체제가 Windows VistaWindows Vista 또는 Windows Server 2008 이전 버전인 경우 시작 메뉴에서 실행을 클릭합니다.If the operating system is earlier than Windows VistaWindows Vista or Windows Server 2008, on the Start menu, click Run.

  2. secpol.msc 를 입력한 다음 확인을 클릭합니다.Type secpol.msc and then click OK. 사용자 액세스 제어 대화 상자가 열리면 계속을 클릭합니다.If the User Access Control dialog box appears, click Continue.

  3. 로컬 보안 정책 도구에서 보안 설정, 로컬 정책을 차례로 확장한 다음 감사 정책을 클릭합니다.In the Local Security Policy tool, expand Security Settings, expand Local Policies, and then click Audit Policy.

  4. 결과 창에서 개체 액세스 감사를 두 번 클릭합니다.In the results pane, double-click Audit object access.

  5. 로컬 보안 설정 탭의 다음 시도 감사 영역에서 성공실패를 모두 선택합니다.On the Local Security Setting tab, in the Audit these attempts area, select both Success and Failure.

  6. 확인을 클릭합니다.Click OK.

  7. 보안 정책 도구를 닫습니다.Close the Security Policy tool.

참고 항목See Also

SQL Server Audit(데이터베이스 엔진)SQL Server Audit (Database Engine)