WCF 어댑터 보안 권장 사항
BizTalk Server WCF 어댑터를 사용하여 WCF 서비스를 게시(수신)하고(보내기) 사용합니다. 이러한 지침에 따라 사용자 환경에서 WCF 어댑터의 보안을 설정하고 배포하는 것이 좋습니다.
WCF 어댑터에 대한 자세한 내용은 WCF 어댑터를 참조하세요. WCF 서비스에 대한 자세한 내용은 WCF 서비스 사용을 참조하세요.
모든 WCF 어댑터에 대한 보안 권장 사항
프런트 엔드 사용자의 콘텐츠를 백 엔드 시스템의 자격 증명에 매핑해야 하는 시나리오에서 Enterprise SSO(Single Sign-On)를 사용할 수 있습니다.
모든 서비스에서 메타데이터를 게시해야 하는 것은 아닙니다. 메타데이터 게시를 사용하지 않으면 서비스에서 공격 받을 수 있는 부분이 줄어들고 실수로 정보가 공개될 위험이 감소합니다. 메타데이터와 관련된 보안 문제에 대한 자세한 내용은 의 "메타데이터를 사용하는 보안 고려 사항"을 참조하세요 https://go.microsoft.com/fwlink/?LinkId=196671.
메타데이터 엔드포인트 바인딩 및 서비스 엔드포인트 바인딩의 모든 조합이 유효하지는 않습니다. 경우에 따라 메타데이터 엔드포인트의 바인딩 구성은 서비스 엔드포인트의 바인딩 구성과 일치해야 합니다. 예를 들어 수신 위치와 동일한 위치에서 메타데이터가 제공되는 경우 수신 위치가 HTTPS 기반 보안 모드를 사용하면 HTTP 전송이 필요한 보안 모드로 메타데이터 엔드포인트를 구성할 수 없습니다.
참고
동일한 위치가 있지만 HTTPS 전송에 의존하는 보안 모드가 필요한 서비스 엔드포인트에 대한 HTTP 전송을 통해 메타데이터를 게시하는 경우 BizTalk WCF 게시 마법사가 생성하는 Web.config 파일에서 httpsGetEnabled 및 httpGetEnabled 특성을 모두 true로 설정해야 합니다.
WCF 어댑터는 WCF(Windows Communication Foundation)의 보안 기능을 활용하여 통신합니다. 보안과 관련해서 WCF의 기능과 제한을 이해하는 것이 중요합니다. WCF의 보안 기능에 대한 자세한 내용은 의 "Windows Communication Foundation Security"를 참조하세요 https://go.microsoft.com/fwlink/?LinkId=87806.
Isolated WCF 어댑터에 대한 보안 권장 사항
웹 서비스 게시에 대한 보안 권장 사항은 웹 서비스 사용을 참조하세요.
WCF-CustomIsolated, WCF-BasicHttp 및 WCF-WSHttp 어댑터와 같은 격리된 WCF 어댑터는 HTTP(Hypertext Transfer Protocol)를 활용하여 메시지를 BizTalk Server 주고받습니다. 따라서 IIS(인터넷 정보 서비스)의 보안을 유지하려면 보안 권장 사항을 따라야 합니다.
격리된 WCF 수신 위치에 대한 애플리케이션 풀을 만들 때 WCF 수신 어댑터 및 인터넷 정보 서비스 작업자 프로세스 그룹(IIS_WPG 그룹)을 실행하는 격리된 호스트에 대한 Windows 그룹의 구성원인 계정으로 실행되도록 구성해야 합니다. 그런 다음 이 계정을 사용하도록 WCF 수신 어댑터의 호스트 인스턴스를 구성해야 합니다. 계정을 IIS_WPG 그룹으로 변경하는 경우 호스트 인스턴스도 새 계정으로 실행되도록 업데이트해야 합니다.
WCF-Custom 어댑터에 대한 보안 권장 사항
- WCF-Custom 수신 위치가 SSL(Secure Sockets Layer) 통신의 httpsTransport 바인딩 요소와 같은 HTTP 커널 모드 드라이버(HTTP.sys)를 사용하는 경우 수신 위치에는 각 소켓(IP 주소/포트 조합)에 대해 등록된 인증서가 있어야 합니다. HttpCfg.exe 도구를 사용하여 SSL 인증서를 컴퓨터의 포트에 바인딩합니다. 자세한 내용은 의 "방법: SSL 인증서를 사용하여 포트 구성"을 참조하세요 https://go.microsoft.com/fwlink/?LinkId=86384.
WCF-NetMsmq 어댑터에 대한 보안 권장 사항
- WCF-NetMsmq 어댑터를 사용하려면 netMsmqBinding과 동일한 방식으로 WCF-NetMsmq 어댑터에 대한 MSMQ 보안 설정을 구성해야 합니다. netMsmqBinding에 대한 MSMQ 보안 설정을 구성하는 방법에 대한 자세한 내용은 에서 https://go.microsoft.com/fwlink/?LinkId=87816"대기 중인 메시징 문제 해결"을 참조하세요.
WCF 어댑터에서 ChainTrust 모드를 사용하여 인증서 유효성 검사
- 표준 WCF 수신 어댑터는 ChainTrust 모드를 사용하여 클라이언트 및 서비스 인증서의 유효성을 검사하기 때문에 CA 인증서 체인을 설치하여 X.509 인증서의 유효성을 검사해야 합니다. WCF-Custom 또는 WCF-CustomIsolated 어댑터를 사용하여 이 기본 동작을 변경할 수 있습니다.
WCF 어댑터에 대한 보안 감사
WCF 어댑터는 기본적으로 WCF 보안 감사 기능을 사용하지 않습니다. WCF 어댑터에 대해 WCF 보안 감사 기능을 사용하도록 설정하는 여러 가지 방법이 있습니다. WCF 보안 감사 기능에 대한 자세한 내용은 의 "보안 이벤트 감사"를 https://go.microsoft.com/fwlink/?LinkId=88975참조하세요.
WCF-Custom 수신 어댑터와 함께 WCF 보안 감사 기능을 사용하려면 수신 위치에 대해 ServiceSecurityAuditBehavior 를 구성할 수 있습니다.
In Process WCF 어댑터의 경우 BTSNTSvc.exe.config 파일을 통해 성능 카운터를 사용하도록 설정할 수 있습니다. Isolated WCF 어댑터의 경우 BizTalk WCF 서비스 게시 마법사가 웹 응용 프로그램 폴더에 만드는 Web.config 파일을 수정하여 WCF 추적을 사용하도록 설정할 수 있습니다. BTSNtSvc.exe.config 또는 Web.config를 수정하려면 구성 파일을 열고 다음 구성 예에 표시된 대로 WCF 추적을 구성합니다.
참고
BTSNTSvc.exe.config 파일은 일반적으로 \Program Files (x86)\Microsoft BizTalk Server VERSION>인 BTSNTSvc.exe <파일과 동일한 디렉터리에 항상 있습니다.
참고
BTSNTSvc.exe.config 파일을 수정한 후 In Process WCF 수신 위치가 실행되는 호스트 인스턴스를 다시 시작해야 합니다.
<configuration> <system.serviceModel> <diagnostics performanceCounters="All" /> <behaviors> <serviceBehaviors> <behavior name="ServiceBehaviorConfiguration"> <serviceSecurityAudit auditLogLocation="Application" suppressAuditFailure="true" serviceAuthorizationAuditLevel="SuccessOrFailure" messageAuthenticationAuditLevel="SuccessOrFailure" /> </behavior> </serviceBehaviors> </behaviors> <services> <service name="Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkServiceInstance" behaviorConfiguration="ServiceBehaviorConfiguration"> </service> </services> </system.serviceModel> </configuration>
Security Calls Not Authorized 등의 보안 관련 성능 카운터를 사용하여 WCF 어댑터를 모니터링할 수도 있습니다. WCF 성능 카운터를 사용하도록 설정하는 방법에 대한 자세한 내용은 WCF 어댑터 성능 카운터를 참조하세요.