트랜잭션 보안 APM 이벤트에 대한 경고 생성

Microsoft.SystemCenter.Apm.MvcTransaction.AlertSecurityAspectRule (Rule)

Knowledge Base article:

요약

정의된 기간당 총 보안 이벤트 수가 모니터 임계값을 초과하는 경우 인스턴스 상태가 비정상이 됩니다.

원인

보안 경고는 응용 프로그램이 외부 리소스에 액세스하려고 할 때 권한 부여, 인증 또는 사용 권한 문제로 인해 생성됩니다. 액세스되는 리소스에 대한 실패한 함수의 이름 및 문제 해결을 위한 작업 컨텍스트를 포함하는 설명이 경고 정보 필드에 표시됩니다. 보안 예외는 소스 코드에 액세스하지 않고도 보통 환경 또는 구성을 변경하면 해결되는 문제로 인해 발생합니다. 이런 종류의 문제 원인은 데이터베이스 서버, 웹 서비스, IO 리소스 또는 Active Directory에 액세스하는 동안 인증, 권한 부여 또는 사용 권한 문제일 수 있습니다.

해결 방법

보안 경고는 외부 리소스 액세스 문제로 인한 처리되지 않은 예외에서 발생합니다. 이러한 문제를 해결하려면 다음을 확인하세요.

1) 경고 및 이벤트에 대한 설명

2) 작업 대상(예: Microsoft SQL Server)

3) 작업 - 리소스에 대해 실행하도록 지정된 메서드(예: 서버에 대한 연결)

4) 보안 컨텍스트 - 연결, 사용자 및 ID 정보. 이 정보를 검토한 후 응용 프로그램 구성 또는 서버/도메인 쪽에서 계정, 암호 또는 사용 권한을 업데이트하세요.

Element properties:

TargetMicrosoft.SystemCenter.Apm.MvcTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableFalse
Alert Message
트랜잭션 보안 예외
{1}의 {0} 응용 프로그램에 대한 {5} 트랜잭션에서 보안 오류가 발생했습니다. '{3}'의 메시지가 포함된 '{2}' 유형의 예외가 '{4}'에서 발생했습니다. 자세한 내용은 다음 링크를 참조하세요. $Url[Query='{6}']/APMEvent$

Member Modules:

ID Module Type TypeId RunAs 
LOBProvider DataSource Microsoft.SystemCenter.Apm.MvcTransaction.LobDataProvider.ExceptionAspect Default
AlertWriteAction WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.MvcTransaction.AlertSecurityAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.MvcTransaction" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.MvcTransaction.LobDataProvider.ExceptionAspect">
<Name>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</Name>
<AspectType>security</AspectType>
<ControllerName>$Target/Property[Type="Microsoft.SystemCenter.Apm.MvcTransaction"]/ControllerName$</ControllerName>
<ActionName>$Target/Property[Type="Microsoft.SystemCenter.Apm.MvcTransaction"]/ActionName$</ActionName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.MvcTransaction.AlertSecurityAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Data/EventData/exceptionclass$</AlertParameter3>
<AlertParameter4>$Data/EventData/message$</AlertParameter4>
<AlertParameter5>$Data/EventData/name$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/TransactionName$</AlertParameter6>
<AlertParameter7>$Data/EventData/ViewDetail$</AlertParameter7>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Security</Custom1>
</WriteAction>
</WriteActions>
</Rule>