Windows의 MSSQL: SQL Server Service Broker가 FIPS 호환성 모드로 실행되는 경우 RC4 암호화 알고리즘을 사용할 수 없습니다.

Microsoft.SQLServer.Windows.EventRule.DBEngine.SQL_Server_Service_Broker_cannot_use_RC4_encryption_algorithm_when_running_in_FIPS_compliance_mode_5_Rule (Rule)

SQL Server Service Broker에 하나 이상의 끝점이 RC4 암호화를 사용하도록 구성되어 있는 대화가 있으며 서버가 FIPS(Federal Information Processing Standard) 호환성 모드로 설정되어 있습니다. FIPS 호환성 모드로 실행되는 경우 RC4 암호화가 지원되지 않습니다.

Knowledge Base article:

요약

SQL Server Service Broker에 하나 이상의 끝점이 RC4 암호화를 사용하도록 구성되어 있는 대화가 있으며 서버가 FIPS(Federal Information Processing Standard) 호환성 모드로 설정되어 있습니다. FIPS 호환성 모드로 실행되는 경우 RC4 암호화가 지원되지 않습니다.

원인

로컬 보안 설정은 시스템 암호화: 암호화, 해시 및 서명에 FIPS 호환 알고리즘 사용입니다. 이 메시지는 Windows 응용 프로그램 로그에 MSSQLSERVER 이벤트 ID 28078로 기록됩니다.

해결 방법

ALTER ENDPOINT를 사용하여 지원되는 알고리즘을 지정하십시오.

외부

자세한 내용은 Microsoft SQL Server 온라인 설명서의 "ALTER ENDPOINT(Transact-SQL)"를 참조하세요.

재정의 가능한 매개 변수

이름

설명

기본값

사용

워크플로를 사용하거나 사용하지 않도록 설정합니다.

간격(초)

워크플로를 실행하는 반복 시간 간격(초)입니다.

300

우선 순위

알림 우선 순위를 정의합니다.

1

심각도

알림 심각도를 정의합니다.

2

동기화 시간

동기화 시간

 

시간 제한(초)

여기서 지정한 시간 동안 워크플로가 실행된 후 워크플로가 닫히고 실패로 표시됩니다.

200

데이터베이스 연결 시간 제한(초)

워크플로는 지정된 기간 동안 데이터베이스에 액세스할 수 없으면 실패하며 이벤트를 등록합니다.

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Windows의 MSSQL: SQL Server Service Broker가 FIPS 호환성 모드로 실행되는 경우 RC4 암호화 알고리즘을 사용할 수 없습니다.
{0}
CommentMom2017ID='{945A6297-4BF8-4948-9920-5489E951CF28}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.SQL_Server_Service_Broker_cannot_use_RC4_encryption_algorithm_when_running_in_FIPS_compliance_mode_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{945A6297-4BF8-4948-9920-5489E951CF28}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>28078</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.SQL_Server_Service_Broker_cannot_use_RC4_encryption_algorithm_when_running_in_FIPS_compliance_mode_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>