2010-03-02 223 views
3

我們剛剛完成使用.NET MVC框架開發我公司的新網站。支持我們應用程序的sql服務器擁有一些重要數據,例如其他Web用戶的配置文件,我們希望確保這些數據不會因爲公司的聲譽風險而泄露。關於網站安全性的建議

我們對事情的一些想法做,以確保我們的網站,但我想獲得的計算器就這些。我們將使用SSL登錄屏幕,並防止基本的附加方法,如sql注入,跨站點腳本攻擊。

但是我們擔心物理機器會被一些漏洞利用所接管。我們將在DMZ中運行網絡服務器(帶IIS7的Windows Server 2008 SP2),只有端口80和443對互聯網開放。目前,sql server位於web服務器上,但我們正在考慮這是否存在安全風險。在第二個DMZ的主機上託管SQL服務器有助於安全嗎?

我們還考慮在一個DMZ中使用運行Apache的Ubuntu盒子,這個DMZ會將80或443個請求「重定向」到第二個DMZ中的獨立Windows機器,它將執行Web服務和SQL服務器託管。

,我們得到了一些其他的建議是使用的產品,如WatchGuard的可顯然過濾HTTP數據包符合標準從而到達Web服務器阻止狡猾的包。

我們應該尋求哪些其他保護措施?

謝謝

回答

0

1-關鍵數據必須在您的表中加密。

2-小心所有類型的SQL注入。

3-加密的web.config文件

+0

要澄清,我們已經實現了以下內容,我們正在從應用程序開發的角度和從部署/基礎架構的角度來尋找額外的東西: – Matthew 2010-03-02 12:23:06

+0

1.存儲在數據庫中的密碼被散列和醃製,因此即使數據庫被破壞,這些數據也是沒有用的。 2.通過確保所有用戶輸入的返回瀏覽器的數據是HTML編碼,防止跨站點腳本(XSS)和html注入。 3.通過防僞驗證令牌阻止跨站請求僞造。 4.通過SSL保護所有敏感數據的傳輸。 – Matthew 2010-03-02 12:23:56

2

連接字符串只允許80和443是一個非常好的主意。 DMZ代表非軍事區,這是爲了在所有流量都可以訪問的NAT上定義一臺機器,這應該避免。畢竟,在運行Windows之後,允許SQL Server和端口445會導致黑客入侵,而在另一個RPC漏洞出現之前,只有時間問題。

您必須做的最重要的事情是測試您的安全。它不足以說你正在阻止xss和sql注入。所有安全的系統必須被證明可以阻止攻擊。

你如何測試你的系統?我喜歡Acunetix,但它的價格已經超過了,但是有一個free xss tester。對於我推薦使用免費的Wapiti SQL注入和其他漏洞。我推薦使用OpenVAS這是現在是商業產品的Nessus的新的開源版本。 OpenVAS會告訴你,如果你的服務器配置錯誤或者你正在運行舊軟件。您應該對系統進行完整的端口掃描以測試您的防火牆,此命令將工作nmap -sT -p 1-65535 domain.com,這也可以通過OpenVas完成。

測試完系統後。然後安裝一個Web應用程序防火牆,mod_ secuirty是Apache的不錯選擇,你可以使用一個反向代理來獲得mod_security與IIS一起工作。 Aqtronix是爲IIS構建的開源WAF,但我沒有使用它。