Discussion:
請問iis程式防拷問題
(时间太久无法回复)
u300
2006-02-28 16:42:23 UTC
Permalink
請問放在網站虛擬目錄所對應之實體目錄中的.aspx程式,有沒可能被合法使用者copy走?
該如何防範???
璉璉
2006-03-01 03:59:32 UTC
Permalink
網路使用者還是本機使用者?

網路使用者有可能在 ASP.NET 不正常的時候,aspx 被當成一般文字檔被拷走。我會把核心的 aspx 另外放在一個目錄,在 IIS 內把該目錄的權限變更為 移除 讀取 前面的勾號,並將執行指令碼打勾。這樣若是出問題的時候,該檔案也不能讀取。

本機使用者就透過帳號權限管理,不要開共用帳號。
Post by u300
請問放在網站虛擬目錄所對應之實體目錄中的.aspx程式,有
u300
2006-03-01 15:44:32 UTC
Permalink
我網站是設"暱名存取"....如果如您所說"將重要的aspx程式另放一個目錄,那我設虛擬目錄,如:
虛擬目錄名稱test,並在iis中設對應實體目錄c:\ABC,這樣算不算?還是還得將aspx主程式搬去另一目錄,其它放目錄中,但這樣要怎麼設定呢?

"璉璉" 來函:
Post by 璉璉
網路使用者還是本機使用者?
網路使用者有可能在 ASP.NET 不正常的時候,aspx 被當成一般文字檔被拷走。我會把核心的 aspx 另外放在一個目錄,在 IIS 內把該目錄的權限變更為 移除 讀取 前面的勾號,並將執行指令碼打勾。這樣若是出問題的時候,該檔案也不能讀取。
本機使用者就透過帳號權限管理,不要開共用帳號。
Post by u300
請問放在網站虛擬目錄所對應之實體目錄中的.aspx程式,有沒可能被合法使用者copy走?
該如何防範???
u300
2006-03-02 08:13:27 UTC
Permalink
您給的安裝說明寫得好清楚,感謝您無私的提供,我就沒那麼幸運,委外程式出問題,還得自己找答案,因為寫程式的沒您這麼專業...不過還有點不懂..請再指點
1.所有程式包括aspx...不是都放在同一個主目錄下,所以不知如何像說明一樣分aspx跟sods,您說的sods目錄是否只是放資料庫檔,而aspx目錄下是放.aspx檔.web.config,bin次目錄...等

2.我為方便目錄靈活切換,所以把資料庫路徑宣告在web.config是否是不好的,因容易暴光?

3.當初為了保護公司資產,所以將很多程式中的計算核心切出獨立成web-serviecs,因考慮執行速度的問題,沒有整支做成wen程式,但一直很擔心放在iis上的切出核心防拷問題,當初委外時承包者建議我用這個方式,因用keypro或任何方式都會面臨被破解的命運,不知我這個選擇正確嗎?

4.另外我用這個方式面臨一個小小問題,那就是原來按下執行幾乎同部出現答案,但現在會有等待2~3秒的問題,尤其第一次連結更要7~8秒...對使用者來說變成人等機器,尤其若工做上需很密集的呼叫,就會感覺不便,不知有沒方式可改善呼叫跟回饋的速度

"璉璉" 來函:
不是我講的意思。
通常虛擬目錄也會開放讀取的權限,否則該目錄下所有的圖片或是 script 將無法下載到客戶端順利瀏覽。
我的作法是類似下面那樣:
http://www.comc.ncku.edu.tw/sods/Help/System/install.htm
步驟 8 第 iii 項。
虛擬目錄中 aspx 目錄不允許讀取,但 sods 目錄可以。
像你另外一篇 Access 資料庫放在該虛擬目錄下時,細部設定可參考上面那篇 database 的設定,否則若是 ASP.NET 解譯出問題時,你的 web.config / dll 都有可能被抓走,然後就發現你的 資料庫路徑 ,就可以直接抓走資料庫,或是像你把資料庫路徑在討論時不小心洩漏出來,有心人士也可以依照此資訊直接抓資料庫。
Windows 的比較不會出問題,以前曾經有過一次問題,之後再也沒碰過,不過在 Linux 上跑 Mono-Project 支援 ASP.NET 的,某國立大學開給學生放個人網頁的就可以直接抓...
Post by u300
虛擬目錄名稱test,並在iis中設對應實體目錄c:\ABC,這樣算不算?還是還得將aspx主程式搬去另一目錄,其它放目錄中,但這樣要怎麼設定呢?
"璉璉" 來函:
Post by 璉璉
網路使用者還是本機使用者?
網路使用者有可能在 ASP.NET 不正常的時候,aspx 被當成一般文字檔被拷走。我會把核心的 aspx 另外放在一個目錄,在 IIS 內把該目錄的權限變更為 移除 讀取 前面的勾號,並將執行指令碼打勾。這樣若是出問題的時候,該檔案也不能讀取。
本機使用者就透過帳號權限管理,不要開共用帳號。
Post by u300
請問放在網站虛擬目錄所對應之實體目錄中的.aspx程式,有沒可能被合法使用者copy走?
該如何防範???
u300
2006-03-03 09:15:28 UTC
Permalink
您真的很專業,再次感謝,如果我還是真的搞不懂,不知您有沒承接此類網路安全性規劃的case,交給專家比較放心...
我針對第3點再跟您說明一下:
早期我公司開發的程式,因是專門行業用的軟體,若讓同業拿走,公司會失去競爭力,所以用盡各種保護方式,包括序號,到期日,硬體檢查,keypro硬體鎖,但這終究很容易被解開,去年有找到軟體開發公司,他們建議我用.net中的web-services功能,把每支程式中的某個計算核心改用asp.net
web服務來寫(*.asmx),當主程式走到一半,呼叫iis上的asp,送出一堆計算之數據給iis,等計算完成,iis再回傳答案給主程式,主程式再走完後面的程序
如此一來,當我裝在客戶端的主程式被濫copy,並解開保護,他還是缺了放在iis的asp.net程式,程式並不完整,無法運做,他也無能力在主程式內補足缺的運算部份,因為他不知整個運算過程
當然軟體公司還有幫我開發一套aspx的權限管制程式,以防不合法的user連上我程式,現在我對放在iis上的aspx和asmx程式安全性沒有把握,總是怕很容易被整個copy走,這樣對方自己假一個iis就可執行,所以一直想找真正懂得安全維護的人,來幫我解答安全性的問題

"璉璉" 來函:
1.我只把重要的核心抽出來,一般頁面展示的程式碼不怕人看,想看就去看好了。比如說:
http://tlcheng.no-ip.com/aspx/Tools/Count/FontEnum.aspx (這個網頁的程式碼到不是怕有人看,有在 aspnet 討論區貼過,只是因為要做字型列舉的範例,跟原先的計數器放一起)
在這種情況下,若發生 ASP.NET 部分損毀而 IIS 服務還正常時,由於 IIS 那邊只允許執行,不允許瀏覽,所以 aspx 不會被當成原始檔送出去,ASP.NET 不能服務時就不能顯示,但是放在一般目錄下,若過濾器註冊資料錯誤,沒有正常識別 aspx 等網頁時,就會被當成原始碼送出去,在眾網海逛的時候,有時候你也會碰上這類事情。
2.很多人喜歡放在 web.config ,各有優缺點,我自己不太喜歡放在那,一般狀況是不會被偷的,因為 ASP.NET 預設會擋,但是我碰過在 ASP.NET 安裝有問題的電腦上,可以直接抓 web.config/dll (Win2k/XP,Win2003 預設會擋,除非你解開),所以請記得替存放 database 的目錄瀏覽權限去掉,當然,如果本身不在乎那個資料庫被人抓走的話,也不需要去掉瀏覽權限,有的資料庫是願意讓使用者直接下載的時候,就會有這種情況。
3.不太了解你的意思。你有開放給委外廠商存取這個目錄還是?有資產的問題,可以把 .cs / .vb 原始碼移除,這樣就只有 dll 可能會被拷貝走,只要 dll 內沒有企業的金鑰產生器、SQL 查詢字串,就算被偷走,也很難有大作為,而且也可以再用擾亂器編碼(VS.NET 有送一個),更難被反組譯。
註:
金鑰產生器指所有的帳號密碼或是加解密器,也就是要考慮到可能 dll 被抓走後,直接在新的應用程式直接引用,丟個帳號或是字串,就可以得到結果,導致企業內部程式利器變駭客手中利劍,比如說序號產生器。
SQL 查詢字串指的是以字串常數方式直接編譯在 dll 內,包含帳號、密碼等資訊,這類可能可以直接檢視 dll 就可獲得。
4.ASP.NET 在每次開機後第一次執行會比較久,再做動態編譯更新快取,之後有時在所有的 Session 都結束時,可能會重做。這是 ASP.NET 的特性,2 ~ 3 秒差不多,7 ~ 8 秒可能是你的重新編譯太久或是系統資源不足?這邊重新動態編譯主要針對那些原始碼檔,有 dll 的 cs/vb 到不會重編。
Post by u300
1.所有程式包括aspx...不是都放在同一個主目錄下,所以不知如何像說明一樣分aspx跟sods,您說的sods目錄是否只是放資料庫檔,而aspx目錄下是放.aspx檔.web.config,bin次目錄...等
2.我為方便目錄靈活切換,所以把資料庫路徑宣告在web.config是否是不好的,因容易暴光?
3.當初為了保護公司資產,所以將很多程式中的計算核心切出獨立成web-serviecs,因考慮執行速度的問題,沒有整支做成wen程式,但一直很擔心放在iis上的切出核心防拷問題,當初委外時承包者建議我用這個方式,因用keypro或任何方式都會面臨被破解的命運,不知我這個選擇正確嗎?
4.另外我用這個方式面臨一個小小問題,那就是原來按下執行幾乎同部出現答案,但現在會有等待2~3秒的問題,尤其第一次連結更要7~8秒...對使用者來說變成人等機器,尤其若工做上需很密集的呼叫,就會感覺不便,不知有沒方式可改善呼叫跟回饋的速度
"璉璉" 來函:
不是我講的意思。
通常虛擬目錄也會開放讀取的權限,否則該目錄下所有的圖片或是 script 將無法下載到客戶端順利瀏覽。
我的作法是類似下面那樣:
http://www.comc.ncku.edu.tw/sods/Help/System/install.htm
步驟 8 第 iii 項。
虛擬目錄中 aspx 目錄不允許讀取,但 sods 目錄可以。
像你另外一篇 Access 資料庫放在該虛擬目錄下時,細部設定可參考上面那篇 database 的設定,否則若是 ASP.NET 解譯出問題時,你的 web.config / dll 都有可能被抓走,然後就發現你的 資料庫路徑 ,就可以直接抓走資料庫,或是像你把資料庫路徑在討論時不小心洩漏出來,有心人士也可以依照此資訊直接抓資料庫。
Windows 的比較不會出問題,以前曾經有過一次問題,之後再也沒碰過,不過在 Linux 上跑 Mono-Project 支援 ASP.NET 的,某國立大學開給學生放個人網頁的就可以直接抓...
Post by u300
虛擬目錄名稱test,並在iis中設對應實體目錄c:\ABC,這樣算不算?還是還得將aspx主程式搬去另一目錄,其它放目錄中,但這樣要怎麼設定呢?
"璉璉" 來函:
Post by 璉璉
網路使用者還是本機使用者?
網路使用者有可能在 ASP.NET 不正常的時候,aspx 被當成一般文字檔被拷走。我會把核心的 aspx 另外放在一個目錄,在 IIS 內把該目錄的權限變更為 移除 讀取 前面的勾號,並將執行指令碼打勾。這樣若是出問題的時候,該檔案也不能讀取。
本機使用者就透過帳號權限管理,不要開共用帳號。
Post by u300
請問放在網站虛擬目錄所對應之實體目錄中的.aspx程式,有沒可能被合法使用者copy走?
該如何防範???
继续阅读narkive:
Loading...