維護ASP應用程式的安全

2021-08-23 11:56:56 字數 3534 閱讀 5641

千萬不要輕視正確配置安全設定的重要性。如果不正確配置安全設定,不但會使您的 asp 應用程式遭受不必要的篡改,而且會妨礙正當使用者訪問您的 .asp 檔案。

web 伺服器提供了各種方法來保護您的 asp 應用程式免受未授權的訪問和篡改。在您讀完本主題下的安全資訊之後,請花一定的時間仔細檢查一下您的 windows nt 和 web 伺服器安全性文件。

ntfs 許可權

您可以通過為單獨的檔案和目錄應用 ntfs 訪問許可權來保護 asp 應用程式檔案。ntfs 許可權是 web 伺服器安全性的基礎,它定義了乙個或一組使用者訪問檔案和目錄的不同級別。當擁有 windows nt 有效帳號的使用者試圖訪問乙個有許可權限制的檔案時,計算機將檢查檔案的 訪問控制表 (acl)。該錶定義了不同使用者和使用者組所被賦予的許可權。如果使用者的帳號具有開啟檔案的許可權,計算機則允許該使用者訪問檔案。例如,web 伺服器上的 web 應用程式的所有者需要有「更改」許可權來檢視、更改和刪除應用程式的 .asp 檔案。但是,訪問該應用程式的公共使用者應僅被授予「唯讀」許可權,以便將其限制為只能檢視而不能更改應用程式的 web 頁。

維護 global.asa 的安全

為了充分保護 asp 應用程式,一定要在應用程式的 global.asa 檔案上為適當的使用者或使用者組設定 ntfs 檔案許可權。如果 global.asa 包含向瀏覽器返回資訊的命令而您沒有保護 global.asa 檔案,則資訊將被返回給瀏覽器,即便應用程式的其他檔案被保護。

注意 一定要對應用程式的檔案應用統一的 ntfs 許可權。例如,如果您不小心過度限制了一應用程式需要包含的檔案的 ntfs 許可權,則使用者可能無法檢視或執行該應用程式。為了防止此類問題,在為您的應用程式分配 ntfs 許可權之前應仔細計畫。

web 伺服器許可權

您可以通過配置您的 web 伺服器的許可權來限制所有使用者檢視、執行和操作您的 asp 頁的方式。不同於 ntfs 許可權提供的控制特定使用者對應用程式檔案和目錄的訪問方式, web 伺服器許可權應用於所有使用者,並且不區分使用者帳號的型別。

對於要執行您的 asp 應用程式的使用者,在設定 web 伺服器許可權時,必須遵循下列原則:

對包含 .asp 檔案的虛擬目錄允許「讀」或「指令碼」許可權。

對 .asp 檔案和其他包含指令碼的檔案(如 .htm 檔案等)所在的虛目錄允許「讀」和「指令碼」許可權。

對包含 .asp 檔案和其他需要「執行」許可權才能執行的檔案(如 .exe 和 .dll 檔案等)的虛目錄允許「讀」和「執行」許可權。

維護asp應用程式的安全

指令碼對映檔案

cookie 安全性

asp 使用 sessionid cookie 跟蹤應用程式訪問或會話期間特定的 web 瀏覽器的資訊。這就是說,帶有相應的 cookie 的 http 請求被認為是來自同一 web 瀏覽器。web 伺服器可以使用 sessionid cookies 配置帶有使用者特定會話資訊的 asp 應用程式。例如,如果您的應用程式是乙個允許使用者選擇和購買 cd 唱盤的聯機**商店,就可以用 sessionid 跟蹤使用者漫遊整個應用程式時的選擇。

sessionid 能否被黑客猜中?

為了防止計算機黑客猜中 sessionid cookie 並獲得對合法使用者的會話變數的訪問,web 伺服器為每個 sessionid 指派乙個隨機生成號碼。每當使用者的 web 瀏覽器返回乙個 sessionid cookie 時,伺服器取出 sessionid 和被賦予的數字,接著檢查是否與儲存在伺服器上的生成號碼一致。若兩個號碼一致,將允許使用者訪問會話變數。這一技術的有效性在於被賦予的數字的長度(64 位),此長度使計算機黑客猜中 sessionid 從而竊取使用者的活動會話的可能性幾乎為 0。

加密重要的 sessionid cookie

截獲了使用者 sessionid cookie 的計算機黑客可以使用此 cookie 假冒該使用者。如果 asp 應用程式包含私人資訊,信用卡或銀行帳戶號碼,擁有竊取的 cookie 的計算機黑客就可以在應用程式中開始乙個活動會話並獲取這些資訊。您可以通過對您的 web 伺服器和使用者的瀏覽器間的通訊鏈路加密來防止 sessionid cookie 被截獲。

使用身份驗證機制保護被限制的 asp 內容

您可以要求每個試圖訪問被限制的 asp 內容的使用者必須要有有效的 windows nt 帳號的使用者名稱和密碼。每當使用者試圖訪問被限制的內容時,web 伺服器將進行身份驗證,即確認使用者身份,以檢查使用者是否擁有有效的 windows nt 帳號。

web 伺服器支援以下幾種身份驗證方式:

基本身份驗證 提示使用者輸入使用者名稱和密碼。

windows nt 請求/響應式身份驗證 從使用者的 web 瀏覽器通過加密方式獲取使用者身份資訊。

然而,web 伺服器僅當禁止匿名訪問或 windows nt 檔案系統的許可權限制匿名訪問時才驗證使用者身份。

保護元資料庫

訪問元資料庫的 asp 指令碼需要 web 伺服器所執行的計算機的管理員許可權。在從遠端計算機上執行這些指令碼時,須經已通過身份驗證的連線,如使用 windows nt 請求/響應驗證方式進行連線。應該為管理級 .asp 檔案建立乙個伺服器或目錄並將其目錄安全驗證方式設定為 windows nt 請求/響應式身份驗證。目前,僅 microsoft internet explorer 2.0 或更高版本支援 windows nt 請求/響應式身份驗證。

維護asp應用程式的安全

使用 ssl 維護應用程式的安全

secure sockets layer (ssl) 3.0 協議作為 web 伺服器安全特性,提供了一種安全的虛擬透明方式來建立與使用者的加密通訊連線。ssl 保證了 web 內容的驗證,並能可靠地確認訪問被限制的 web 站點的使用者的身份。

通過 ssl,您可以要求試圖訪問被限制的 asp 應用程式的使用者與您的伺服器建立乙個加密連線;以防使用者與應用程式間交換的重要資訊被擷取。

維護包含檔案的安全

如果您從位於沒有保護的虛擬根目錄中的 .asp 檔案中包含了位於啟用了 ssl 的目錄中的檔案,則 ssl 將不被應用於被包含檔案。因此,為了保證應用 ssl,應確保包含及被包含的檔案都位於啟用了 ssl 的目錄中。

客戶資格認證

控制對您的 asp 應用程式訪問的一種十分安全的方法是要求使用者使用 客戶資格 登入。客戶資格是包含使用者身份資訊的數字身份證,它的作用與傳統的諸如護照或駕駛執照等身份證明相同。使用者通常從委託的第三方組織獲得客戶資格,第三方組織在發放資格證之前確認使用者的身份資訊。(通常,這類組織要求姓名、位址、**號碼及所在組織名稱;此類資訊的詳細程度隨給予的身份等級而異。)

每當使用者試圖登入到需要資格驗證的應用程式時,使用者的 web 瀏覽器會自動向伺服器傳送使用者資格。如果 web 伺服器的 secure sockets layer (ssl) 資格對映特性配置正確,那麼伺服器就可以在許可使用者對 asp 應用程式訪問之前對其身份進行確認。

用於處理資格證明的 asp 指令碼

作為 asp 應用程式開發人員,您可以編寫指令碼來檢查資格是否存在並讀取資格字段。例如,您可以從資格證明中訪問使用者名字段和公司名字段。active server pages 在 request 物件的 clientcertificate 集合中儲存資格資訊。

必須將 web 伺服器配置為接受或需要客戶資格,然後才能通過 asp 處理客戶資格;否則,clientcertificate 集合將為空。

PHP應用程式安全

繼續php應用程式安全的 主要一定要注意以下幾個方面 1 過濾sql注入攻擊 可以使用addslashes等php內建的直接給出函式,方便使用 function verifyinput input 而在顯示時則用 正常顯示之 或者乾脆就用 mysql real escape string函式過濾,就...

PHP應用程式安全

繼續php應用程式安全的 主要一定要注意以下幾個方面 1 過濾sql注入攻擊 可以使用addslashes等php內建的直接給出函式,方便使用 function verifyinput input 而在顯示時則用 正常顯示之 或者乾脆就用 mysql real escape string函式過濾,就...

確保 PHP 應用程式的安全一

web 應用程式最重要的部分是什麼?根據回答問題的人不同,對這個問題的答案可能是五花八門。業務人員需要可靠性和可伸縮性。it 支援團隊需要健壯的可維護的 終端使用者需要漂亮的使用者介面和執行任務時的高效能。但是,如果回答 安全性 那麼每個人都會同意這對 web 應用程式很重要。但是,大多數討論到此就...