2017-02-16 4 views
0

이 문제를 해결하기 위해 노력하고 있습니다.메시지 : CSRF 공격이 감지되었습니다.

저는 elb1을 가리키는 cdn url abc.com과 elb2를 가리키는 def.com을 가지고 있습니다.

두 ELB abc.com 하지만 난 오전를 탐색하는 내가 서버에 로그인 할 수 있습니다

부하가 균형 같은 EC2 인스턴스 (EC2-A와 EC2-B)를 가리키는 (elb1 및 elb2) def.com에서 탐색 한 서버에 로그인 할 수 없습니다.

def.com login은 다음 오류를 발생시킵니다.

두 dns가 모두 동일한 EC2를 가리 키므로 Web.config 파일은 동일합니다.

Message: CSRF attack detected. 

Exception type: CMS.Protection.Web.UI.CsrfException 
Stack trace: 
at CMS.Protection.Web.UI.CsrfProtection.ThrowCsrfException(Exception innerException) 
at CMS.Protection.Web.UI.CsrfProtection.OnPostMapRequestHandlerExecute(Object sender, EventArgs eventArgs) 
at CMS.Base.AbstractHandler.CallEventHandler[TArgs](EventHandler`1 h, TArgs e) 
at CMS.Base.AbstractHandler.Raise[TArgs](String partName, List`1 list, TArgs e, Boolean important) 
at CMS.Base.SimpleHandler`2.RaiseExecute(TArgs e) 
at CMS.Base.SimpleHandler`2.RaiseExecute(TArgs e) 
at CMS.Base.SimpleHandler`2.StartEvent(TArgs e) 
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

Message: Error occurred during a cryptographic operation. 

Exception type: System.Security.Cryptography.CryptographicException 
Stack trace: 
at System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func`2 func, Byte[] input) 
at CMS.Protection.Web.UI.CsrfProtection.OnPostMapRequestHandlerExecute(Object sender, EventArgs eventArgs) 
+0

외부 웹 사이트에서 게시물 요청을 보내신 것처럼 보입니다 –

+0

machineKeys와 (과) 일치하지 않는 것 같습니다. 이것 좀 봐 : https://docs.kentico.com/k10/configuring-kentico/optimizing-website-performance/setting-up-web-farms/configuring-web-farm-servers#Configuringwebfarmservers- 구성 기본 키 구성 요소 inweb.config 수 HF 버전을 사용하고 계신가요? – bayotop

+0

its kentico 10 latest – SmartestVEGA

답변

-1

Neshi은 정확하고 페이지의 POST 요청이 그렇지 않으면 당신은 꽤 많이 크로스 사이트 스크립팅의 정의를 충족 같은 소스에서 오는 당신은 확인해야합니다.

전반적인 설정은 꽤 복잡하지만 CSRF 쿠키의 보안 토큰이 CMSPage에서 생성 된 토큰과 동일해야하며 이러한 리디렉션과로드 전송이 잘 수행되는지 여부는 확실하지 않습니다. 세션을 충분히 끈끈하게 유지해야합니다.

부동산은이다 https://docs.kentico.com/k10/securing-websites/developing-secure-websites/cross-site-request-forgery-csrf-xsrf

0

고정 된 난 생성 장치 키 모두 EC2 인스턴스에서 동일한 시스템 키를 넣어. 따라서 문제가 수정되었습니다.

2

Kentico의 CSRF 보호는 MachineKey.Unprotect() 메소드를 사용하여 토큰의 유효성을 검사하므로 모든 서버가 동일한 암호화 키를 사용해야합니다.

이 동작을 수행하는 방법에 대한 자세한 내용은 documentation을 참조하십시오.