2013-01-22 45 views
0

我有一個使用SSL EV證書進行安全保護的Web服務。可以說它位於: https://webservice.justawebservice.com/webservice/。用戶可以將消息發送到此Web服務。如何確保Web服務位置?

當惡意的人獲得該URL的所有權時,該人員可以向WSDL和Web顯示服務位置。但最重要的是,他將能夠發送消息。 Web服務有一些認證,但僅在發送消息時發生(消息包含用戶名和密碼)。一個惡意的人可以用大量的消息來氾濫這個web服務,這可能導致它離線。

我想確保這個區域安全,所以當這個人去鏈接時,他會被要求進行某種認證。

這樣做的最好方法是什麼? (如果可能)

任何幫助是極大的讚賞,

謝謝!

回答

2

如果你的目標是防止DOS攻擊類型,然後驗證「與請求洪水」是不是做的正確的方式,因爲即使正確地驗證客戶端可能會導致由不理解如何使用API​​或自然洪水他的代碼中的錯誤等

正確的方法恕我直言將是在你的代碼中開發某種'斷路器'模式(可能是WS攔截器),它會查看來自特定用戶或來自IP地址或全部或全部上述內容),並通過將錯誤返回給調用者來快速執行調用,因此不會佔用系統上的大部分資源。

這將是一個很好的第一步,但不能完全保證免受DOS攻擊(因爲你的服務仍然會消耗資源來接受請求並解釋它)。下一步就是嘗試在儘可能低的層面阻止這類客戶 - 例如在防火牆上丟棄TCP數據包 - 有幾個防火牆包可以簡化這項任務 - 例如法新社用ddos放氣等等。

+0

感謝您的輸入!我將討論這些想法。 – Jef

+0

你知道是否可以使用用戶名和密碼保護此webservice的URL?當有惡意的人獲得這個URL時,他會被要求進行認證。 – Jef

+1

如果你想讓你可以訪問你的WS方法中的HTTP頭並從那裏獲取用戶名/密碼,模仿簡單的HTTP身份驗證機制:webServiceContex.getMessageContext().get(「Username」)等返回HTTP 401(未授權)在認證失敗。更好的做法是在WS攔截器中進行 – maximdim

1

一個soley人/用戶不會是問題,但可以創建一個機器人,這洪水您的服務。

選項:

  • 在防火牆上水平,不斷氾濫包away
  • 使用客戶端認證與client certificate。大多數機器人在需要客戶認證時放棄。
+0

感謝您的輸入!現在閱讀這些鏈接,我已經在我的工作環境中早些時候聽說過客戶端證書(我是實習生)。該教程看起來很有希望再次感謝! – Jef

+0

你知道是否可以使用用戶名和密碼來保護此webservice的URL?當有惡意的人獲得這個URL時,他會被要求進行認證。 – Jef