2017-02-16 10 views
0

この問題を解決しようとしています。メッセージ:CSRF攻撃が検出されました

私はelb1を指し示すcdn url abc.comとelb2を指すdef.comを持っています。

両方ELB abc.com しかし、私はからナビゲートされるIがサーバにログインすることができ

負荷がバランスされているのと同じ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#webfarmservers-configuration_themachineKeyelementinweb.configを構成することができました使用しているHFバージョンを指定してください。 – bayotop

+0

its kentico 10 latest – SmartestVEGA

答えて

-1

Neshiは正しいですし、ページ上のポスト要求は、同じソースから来ているそうでなければ、かなりのクロスサイトスクリプティングの定義を満たしていることを、確認する必要があります。

全体のセットアップは非常に複雑である、しかし、あなたはまだ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を参照してください。

関連する問題