當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]即使您對(duì)應(yīng)用程序安全性的體驗(yàn)和了解非常有限,也應(yīng)采取一些基本措施來(lái)保護(hù)您的 Web 應(yīng)用程序。本主題的以下各部分提供了適用于所有 Web 應(yīng)用程序的最低安全性準(zhǔn)則。有關(guān)編寫(xiě)安全代碼和確保應(yīng)用程序安全的

即使您對(duì)應(yīng)用程序安全性的體驗(yàn)和了解非常有限,也應(yīng)采取一些基本措施來(lái)保護(hù)您的 Web 應(yīng)用程序。本主題的以下各部分提供了適用于所有 Web 應(yīng)用程序的最低安全性準(zhǔn)則。有關(guān)編寫(xiě)安全代碼和確保應(yīng)用程序安全的最佳做法的更多詳細(xì)信息,請(qǐng)參見(jiàn)由 Michael Howard 和 David LeBlanc 編寫(xiě)的書(shū)籍《編寫(xiě)安全代碼》以及由“Microsoft Patterns and Practices”(Microsoft 模式和實(shí)踐)提供的指導(dǎo)。

常規(guī) Web 應(yīng)用程序安全性建議

使用最少特權(quán)運(yùn)行應(yīng)用程序

了解您的用戶

防止惡意用戶的輸入

安全地訪問(wèn)數(shù)據(jù)庫(kù)

創(chuàng)建安全的錯(cuò)誤消息

保證敏感信息的安全

安全地使用 Cookie

防止拒絕服務(wù)威脅

常規(guī) Web 應(yīng)用程序安全性建議

如果惡意用戶可以使用簡(jiǎn)單方法進(jìn)入您的計(jì)算機(jī),即使是最精心設(shè)計(jì)的應(yīng)用程序安全性也會(huì)失敗。常規(guī) Web 應(yīng)用程序安全性建議包括以下內(nèi)容:

經(jīng)常備份數(shù)據(jù),并將備份存放在安全的場(chǎng)所。

將您的 Web 服務(wù)器放置在安全的場(chǎng)所,使未經(jīng)授權(quán)的用戶無(wú)法訪問(wèn)它、關(guān)閉它、帶走它,等等。

使用 Windows NTFS 文件系統(tǒng),不使用 FAT32。NTFS 的安全性比 FAT32 高得多。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn) Windows 幫助文檔。

使用不易破解的密碼,保護(hù) Web 服務(wù)器和同一網(wǎng)絡(luò)上的所有計(jì)算機(jī)的安全。

遵循用于確保 Internet 信息服務(wù) (IIS) 安全的最佳做法。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)“Windows Server TechCenter for IIS”(用于 IIS 的 Windows Server TechCenter)。

關(guān)閉任何不使用的端口并關(guān)閉不使用的服務(wù)。

運(yùn)行監(jiān)視網(wǎng)站通信量的病毒檢查程序。

使用防火墻。有關(guān)建議,請(qǐng)參見(jiàn) Microsoft 安全網(wǎng)站上的“Microsoft Firewall Guidelines”(Microsoft 防火墻準(zhǔn)則)。

了解和安裝來(lái)自 Microsoft 和其他供應(yīng)商的最新安全更新。

使用 Windows 事件日志記錄,并且經(jīng)常檢查這些日志,以查找可疑活動(dòng)。這樣的活動(dòng)包括:反復(fù)嘗試登錄您的系統(tǒng),以及向您的 Web 服務(wù)器發(fā)出數(shù)量巨大的請(qǐng)求。

使用最少特權(quán)運(yùn)行應(yīng)用程序

當(dāng)您的應(yīng)用程序運(yùn)行時(shí),它運(yùn)行在一個(gè)具有本地計(jì)算機(jī)(還可能是遠(yuǎn)程計(jì)算機(jī))的特定特權(quán)的上下文中。有關(guān)配置應(yīng)用程序標(biāo)識(shí)的信息,請(qǐng)參見(jiàn) 配置 ASP.NET 進(jìn)程標(biāo)識(shí)。

若要以最少特權(quán)運(yùn)行,請(qǐng)遵循以下準(zhǔn)則:

不要以系統(tǒng)用戶(管理員)身份運(yùn)行應(yīng)用程序。

在具有最少實(shí)用特權(quán)的用戶上下文中運(yùn)行應(yīng)用程序。

設(shè)置應(yīng)用程序所需的所有資源上的權(quán)限(ACL 或訪問(wèn)控制列表)。使用最嚴(yán)格的設(shè)置。例如,如果在您的應(yīng)用程序中是可行的,則將文件設(shè)置為只讀。有關(guān) ASP.NET 應(yīng)用程序標(biāo)識(shí)所需的最少 ACL 權(quán)限的列表,請(qǐng)參見(jiàn) ASP.NET 必需的訪問(wèn)控制列表 (ACL)。

將您的 Web 應(yīng)用程序的文件保存在應(yīng)用程序根目錄下的一個(gè)文件夾中。不要讓用戶指定在應(yīng)用程序中進(jìn)行文件訪問(wèn)的路徑。這樣有助于防止用戶訪問(wèn)服務(wù)器的根目錄。

了解您的用戶

在許多應(yīng)用程序中,用戶有可能不必提供憑據(jù)即可訪問(wèn)網(wǎng)站。如果是這樣,則您的應(yīng)用程序通過(guò)在預(yù)定義用戶的上下文中運(yùn)行即可訪問(wèn)資源。默認(rèn)情況下,此上下文是 Web 服務(wù)器上的本地 ASPNET 用戶(Windows 2000 或 Windows XP)或 NETWORK SERVICE 用戶 (Windows Server 2003)。

若要僅允許已授權(quán)用戶進(jìn)行訪問(wèn),請(qǐng)遵循以下準(zhǔn)則:

如果您的應(yīng)用程序是 Intranet 應(yīng)用程序,則將其配置為使用 Windows 集成安全性。這樣,用戶的登錄憑據(jù)就可以用于訪問(wèn)資源。

如果您需要從用戶收集憑據(jù),則使用其中一種 ASP.NET 身份驗(yàn)證策略。有關(guān)示例,請(qǐng)參見(jiàn) ASP.NET Forms 身份驗(yàn)證概述。

防止惡意用戶的輸入

通常,決不假定從用戶獲得的輸入是安全的。對(duì)惡意用戶來(lái)說(shuō),從客戶端向您的應(yīng)用程序發(fā)送潛在危險(xiǎn)的信息是很容易的。若要幫助防止惡意輸入,請(qǐng)遵循以下準(zhǔn)則:

在窗體中,篩選用戶輸入以查找 HTML 標(biāo)記,其中可能包含腳本。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn) 如何:通過(guò)對(duì)字符串應(yīng)用 HTML 編碼在 Web 應(yīng)用程序中防止腳本侵入。

決不回顯(顯示)未經(jīng)篩選的用戶輸入。在顯示不受信任的信息之前,對(duì) HTML 進(jìn)行編碼以將潛在有害的腳本轉(zhuǎn)換為顯示字符串。

類似地,決不將未經(jīng)篩選的用戶輸入存儲(chǔ)在數(shù)據(jù)庫(kù)中。

如果要接受來(lái)自用戶的一些 HTML,則手動(dòng)篩選它。在您的篩選器中,顯式定義將要接受的內(nèi)容。不要?jiǎng)?chuàng)建一個(gè)試圖篩選出惡意輸入的篩選器;因?yàn)轭A(yù)料到所有可能的惡意輸入是非常困難的。

不要假定您從標(biāo)頭(通常通過(guò) Request 對(duì)象)獲得的信息是安全的。對(duì)查詢字符串、Cookie 等采取安全措施。注意,瀏覽器向服務(wù)器報(bào)告的信息(用戶代理信息)可以被假冒(如果此信息在您的應(yīng)用程序中相當(dāng)重要)。

如有可能,不要將敏感信息(如隱藏字段或 Cookie)存儲(chǔ)在可從瀏覽器訪問(wèn)的位置。例如,不要將密碼存儲(chǔ)在 Cookie 中。

視圖狀態(tài)是以編碼格式存儲(chǔ)在隱藏字段中的。默認(rèn)情況下,它包含消息身份驗(yàn)證代碼 (MAC),這樣頁(yè)可以確定視圖狀態(tài)是否已被篡改。

安全地訪問(wèn)數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)通常具有它們自己的安全性。Web 應(yīng)用程序安全性的一個(gè)重要方面是設(shè)計(jì)一種應(yīng)用程序安全地訪問(wèn)數(shù)據(jù)庫(kù)的方式。請(qǐng)遵循這些指導(dǎo):

使用數(shù)據(jù)庫(kù)的內(nèi)在安全性來(lái)限制可以訪問(wèn)數(shù)據(jù)庫(kù)資源的人員。確切的策略取決于您的數(shù)據(jù)庫(kù)和應(yīng)用程序:

如果在您的應(yīng)用程序中切實(shí)可行,請(qǐng)使用 Windows 集成安全性以便只有 Windows 授權(quán)的用戶才能訪問(wèn)數(shù)據(jù)庫(kù)。集成安全性比使用 SQL Server 標(biāo)準(zhǔn)安全性更安全。

如果您的應(yīng)用程序使用匿名訪問(wèn),請(qǐng)創(chuàng)建具有非常有限的權(quán)限的單個(gè)用戶,并以此用戶身份連接來(lái)執(zhí)行查詢。

不要通過(guò)串聯(lián)涉及用戶輸入的字符串創(chuàng)建 SQL 語(yǔ)句。相反,創(chuàng)建參數(shù)化查詢并使用用戶輸入設(shè)置參數(shù)值。

如果您必須將用戶名和密碼存儲(chǔ)在某個(gè)位置以用作數(shù)據(jù)庫(kù)登錄憑據(jù),請(qǐng)安全地存儲(chǔ)它們。如果可行,請(qǐng)對(duì)它們進(jìn)行加密或計(jì)算哈希值。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)加密和解密數(shù)據(jù)。

有關(guān)安全地訪問(wèn)數(shù)據(jù)的更多信息,請(qǐng)參見(jiàn)保證 ADO.NET 應(yīng)用程序的安全。

創(chuàng)建安全的錯(cuò)誤消息

如果您不小心,惡意用戶就可以從應(yīng)用程序顯示的錯(cuò)誤消息推斷出有關(guān)您的應(yīng)用程序的重要信息。請(qǐng)遵循這些指導(dǎo):

不要編寫(xiě)會(huì)回顯可能對(duì)惡意用戶有用的信息(例如用戶名)的錯(cuò)誤消息。

將應(yīng)用程序配置為不向用戶顯示詳細(xì)錯(cuò)誤。如果為進(jìn)行調(diào)試而要顯示詳細(xì)錯(cuò)誤消息,請(qǐng)先檢查該用戶是否為 Web 服務(wù)器的本地用戶。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)如何:顯示安全錯(cuò)誤信息。

使用 customErrors 配置元素控制誰(shuí)可以查看服務(wù)器發(fā)出的異常。

對(duì)于容易發(fā)生錯(cuò)誤的情況(如數(shù)據(jù)庫(kù)訪問(wèn))創(chuàng)建自定義錯(cuò)誤處理方式。

保證敏感信息的安全

“敏感信息”是需要保密的任意信息。密碼或加密密鑰即是典型的敏感信息。如果惡意用戶可以獲得敏感信息,則該信息保護(hù)的數(shù)據(jù)將受到威脅。請(qǐng)遵循這些指導(dǎo):

如果您的應(yīng)用程序在瀏覽器和服務(wù)器之間傳輸敏感信息,請(qǐng)考慮使用安全套接字層 (SSL)。有關(guān)如何使用 SSL 加密網(wǎng)站的詳細(xì)信息,請(qǐng)參見(jiàn) Microsoft 知識(shí)庫(kù)中的文章 Q307267,“How to: Secure XML Web Services with Secure Sockets Layer in Windows 2000”(如何:在 Windows 2000 中使用安全套接字層確保 XML Web 服務(wù)的安全)。

使用受保護(hù)的配置來(lái)確保配置文件(如 Web.config 或 Machine.config 文件)中敏感信息的安全。有關(guān)更多信息,請(qǐng)參見(jiàn) 使用受保護(hù)的配置加密配置信息。

如果您必須存儲(chǔ)敏感信息,即使是以您認(rèn)為人們將無(wú)法看到它的形式(如在服務(wù)器代碼中)進(jìn)行保存,也不要將它保存在網(wǎng)頁(yè)中。

使用 System.Security.Cryptography 命名空間中提供的強(qiáng)加密算法。

安全地使用 Cookie

為了讓用戶特定的信息保持可用,Cookie 是一種容易而有用的方法。但是,由于 Cookie 會(huì)被發(fā)送到瀏覽器所在的計(jì)算機(jī),因此它們?nèi)菀妆患倜盎蛴糜谄渌麗阂庥猛?。?qǐng)遵循這些指導(dǎo):

不要將任何關(guān)鍵信息存儲(chǔ)在 Cookie 中。例如,不要將用戶的密碼存儲(chǔ)在 Cookie 中,即使是暫時(shí)存儲(chǔ)也不要這樣做。作為一項(xiàng)原則,不要在 Cookie 中存儲(chǔ)任何敏感信息。而是在 Cookie 中保存對(duì)信息在服務(wù)器上的位置的引用。

將 Cookie 的過(guò)期日期設(shè)置為可以設(shè)置的最短時(shí)間。盡可能避免使用永久的 Cookie。

考慮對(duì) Cookie 中的信息加密。

考慮將 Cookie 的 Secure 和 HttpOnly 屬性設(shè)置為 true。

防止拒絕服務(wù)威脅

惡意用戶危害您的應(yīng)用程序的一種間接方式是使其不可用。惡意用戶可以使應(yīng)用程序太忙而無(wú)法為其他用戶提供服務(wù),或者僅僅使應(yīng)用程序出現(xiàn)故障。請(qǐng)遵循這些指導(dǎo):

關(guān)閉或釋放您使用的任何資源。例如,在使用完畢后,始終關(guān)閉數(shù)據(jù)連接和數(shù)據(jù)讀取器,而且始終關(guān)閉文件。

使用錯(cuò)誤處理機(jī)制(例如,try/catch 塊)。包含 finally 塊,以便萬(wàn)一失敗就可以在其中釋放資源。

將 IIS 配置為使用調(diào)節(jié),這樣可以防止應(yīng)用程序消耗過(guò)多的 CPU。

在使用或存儲(chǔ)用戶輸入之前,測(cè)試它的大小限制。

對(duì)數(shù)據(jù)庫(kù)查詢?cè)O(shè)置大小保護(hù)措施,以防止大型查詢耗盡系統(tǒng)資源。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉