jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks
          Web系統(tǒng)因為是面向Internet/Intranet的,所以其安全性比常規(guī)的應用程序系統(tǒng)更難以保證。

          在談到其安全性的時候,很多的都是從“網(wǎng)絡安全”的角度去看待問題,殊不知,堡壘
          的內(nèi)部是最最不安全的。對付“黑客攻擊”是系統(tǒng)管理員所要面對的問題,而如何更好的
          加強堡壘內(nèi)部自身的安全,是在Web程序的設(shè)計中就需要考慮的問題。

          系統(tǒng)管理員所要面對的網(wǎng)絡攻擊、操作系統(tǒng)?安全不是我所考慮的問題,如何加強Web系統(tǒng)
          自身的健康是我所最最關(guān)心的事情。?

          從“構(gòu)造URL”攻擊到“注入SQL文”攻擊,都是屬于過分信任用戶輸入,而造成的安全問題。
          這恰恰應該是由應用程序自身加以重視、解決的問題。

          基于角色的安全控制已經(jīng)逐漸的被大家逐漸的接受,每個用戶被分配為不同的角色,不同的角色
          具有不同的操作權(quán)限。 但是如何劃分角色、用戶、操作權(quán)限,則是需要認真對待的問題。

          舉例:
          一個MIS系統(tǒng)中,員工有查詢工資的權(quán)限,但是某個員工是否具有查詢其他員工的權(quán)限呢?

          不能深入的追問問題,詳細的分辨清楚系統(tǒng)中到底有多少角色、每個用戶所在的角色,是不能完成安全控制的。



          btw:?以上的問題,大家不妨在自己的類似系統(tǒng)中自己去檢查一下,有此問題的占絕大多數(shù)吧。
          看過此文的,愿意回答“是”“否”的,可以留言,?也當作一個調(diào)查吧。



          上面的這個例子,就是一個很成熟的辦公系統(tǒng)中存在的問題。使用客戶端script腳本,控制了用戶的界面操作,殊不知maxthon就可以解除這個限制。此系統(tǒng)中,用戶的請求都被整理為URL(get方式提交),雖然URL中的鍵值含義并不是很明顯,但是還是可以嘗試著去攻擊,獲取秘密。

          認真的核查用戶的輸入,利用AOP部署,細密的對用戶的輸入進行核查,是很有必要的事情。

          某個人、某個資源、某個操作,這三個要素組織在一起則是:某個人對某個資源進行某項操作
          實際情況下,許多人、許多資源、對每個資源冰存在著多個操作。

          將人、資源、操作進行劃分,可以得到:
          具體的某一類人,可以對某些資源,進行某些的操作=》 這就是具體的某項權(quán)限限制。
          ??? 某一類人,則可以歸納為角色。
          ??? 對某些資源的某些操作,則可以歸納為工作任務。
          也就是說,整個系統(tǒng)是“某個角色去完成某些工作任務,而具體的一個帳戶屬于某個角色,某項工作則具體的是指對某個資源進行某個操作”。

          相對來說,系統(tǒng)中的人員是最容易辨認的,系統(tǒng)中的資源也是可以在系統(tǒng)的功能調(diào)查時分清楚的,系統(tǒng)中的操作則是最復雜、最難分清晰,甚至在系統(tǒng)完成時都會變化的。

          只有分辨清楚了系統(tǒng)中的人、資源、操作,才能辨別清楚系統(tǒng)中的具體的權(quán)限限制。

          “基于角色的安全控制”這樣的提法,只提及了人,未能強調(diào)將資源、操作進行規(guī)類,這是很不充分的一種提法。

          在Web系統(tǒng)中,系統(tǒng)在設(shè)計的過程中,就分清楚資源,分清楚操作,極大縮小每個頁面的功能、提高頁面功能的原子性,這也是權(quán)限控制對系統(tǒng)設(shè)計提出的一項要求。

          前面提及使用AOP進行權(quán)限控制,現(xiàn)在簡述一下各部件的功能:
          ?? 業(yè)務模塊--完成具體的對某個資源的操作;
          ?? 前臺頁面模塊-- 完成整體頁面的整合;
          ?? 安全控制模塊--實現(xiàn)安全控制功能,完成人員、角色、工作的邏輯判斷;
          ?? AOP配置整合模塊--粘合安全控制模塊和業(yè)務模塊;


          在于如何去解決,而是如何去發(fā)現(xiàn)。隱藏起來的問題更是危險。

          而如何發(fā)現(xiàn)問題,則完全是一個素質(zhì)、能力的事情,也許這是下一個話題。
          posted on 2007-02-14 14:53 jinfeng_wang 閱讀(4080) 評論(5)  編輯  收藏 所屬分類: javaZZThinkingAOPviewidoms

          評論

          # re: 人員、資源、操作及這三者構(gòu)成的權(quán)限控制 2007-02-14 23:18 fyxruben
          我更傾向于“身份證”
          可以將所以可以的操作添加到這個“身份證”
          然后將“身份證”發(fā)給用戶
          并且一個用戶可以擁有多個“身份證”  回復  更多評論
            

          # re: 人員、資源、操作及這三者構(gòu)成的權(quán)限控制 2007-02-15 20:59 jinfeng_wang
          樓上的,你說的身份證是實現(xiàn)。
          實話實說,你所說的“身份證”的概念,我第一次聽說。可能的話,給我介紹一下。

          問題的關(guān)鍵不在于實現(xiàn),而是在于問題的發(fā)現(xiàn)。
          “員工只能查詢自己的工資”,這在絕大部分的公司都是這樣的要求,
          但是為何一個在實際中已經(jīng)推廣了幾年的產(chǎn)品,還存在著這樣的問題?

          安全認證、安全控制的手段有很多, 如何利用這些手段只是一個技術(shù)問題,
          我所提及的更多的是側(cè)重于“問題的發(fā)現(xiàn)”。

            回復  更多評論
            

          # re: 人員、資源、操作及這三者構(gòu)成的權(quán)限控制 2007-02-16 00:26 施偉
          暫時沒弄懂博主所說的“問題的發(fā)現(xiàn)”是什么意思,繼續(xù)關(guān)注!  回復  更多評論
            

          # re: 人員、資源、操作及這三者構(gòu)成的權(quán)限控制 2008-10-02 15:59 三上
          權(quán)限我的系統(tǒng)采用的是AOP控制每個方法,與版主說的基本上是一個意思。  回復  更多評論
            

          # re: 人員、資源、操作及這三者構(gòu)成的權(quán)限控制 2009-07-30 17:39 情深意重
          你好啊,能不能給個大嘴日語破解版啊,謝謝你了,想學日語,可惜囊中羞澀啊
          麻煩你發(fā)到我的郵箱好嗎?
          276659377@qq.com  回復  更多評論
            

          主站蜘蛛池模板: 泰安市| 巧家县| 会东县| 龙岩市| 都兰县| 邵阳市| 鹤庆县| 阳高县| 富锦市| 汕尾市| 平南县| 赤壁市| 祥云县| 英德市| 长汀县| 磐石市| 昌吉市| 自贡市| 桓台县| 商都县| 共和县| 饶平县| 潞城市| 雷山县| 高安市| 聂拉木县| 尤溪县| 西乌| 洞头县| 雷山县| 任丘市| 岳阳市| 杂多县| 平顺县| 安庆市| 海阳市| 鄂州市| 云阳县| 汉寿县| 威海市| 嘉定区|