解析訪問控制策略管理
策略管理—用于防火墻分析的工具
隨著網絡規模的變化,防火墻或網絡設備的配置隨著不斷增加的改變越來越復雜,即使是資深的網絡管理員,有時候也會發現在一番復雜的防火墻配置后,自己的服務器仍然不能訪問外網或者不能被外網訪問,規則看了很多遍,卻不知道是哪里出了問題。
有一個自動化的工具來幫助網絡管理員發現問題一直是網管們的夢想,來自伍斯特理工學院(Worcester Polytechnic Institute)的Timothy Nelson等人就專門開發了一個開源工具Margrave來解決這個問題。Margrave 是一個用于防火墻分析的工具,提供了枚舉規則修改后果、發現沖突規則、為防火墻的行為跟蹤到具體執行規則以及驗證安全目的與規則等多項功能。與傳統的防火墻規則分析工具不同,Margrave提供了多種不同層次的分析:從規則、過濾器、防火墻到網絡。
Margrave支持現實中網絡防火墻的配置語言(例如思科的IOS),并從這些配置中提取出NAT、路由、IP ACL設置,如圖1所示。當管理員發現問題時,可以向配置規則查詢,期望通過的報文是被哪一條具體的規則所丟棄,或期望被丟棄的報文被哪一條報文所接受。這樣管理員就可以迅速定位到問題發生的地點。有興趣的讀者可以訪問http://www.cs.brown.edu/research/plt/software/margrave/來試試這個工具。
策略管理—自動修正防火墻策略的第一步
Margrave能夠幫助管理員發現問題,但發現問題以后還是需要網絡管理員自己修改問題。有沒有可能讓計算機幫助管理員來自動解決錯誤的配置?雖然大多數網絡管理員不敢將配置托付給一臺計算機,但計算機的科學家們已經開始了這樣的嘗試。密歇根州立大學陳飛等人發表的文章開始了自動修正防火墻策略的第一步。
修正防火墻策略首先必須發現防火墻策略的錯誤,為了能讓計算機理解防火墻的錯誤,陳飛等人將防火墻可能發生的錯誤定義為5類:
1.錯誤的順序,防火墻的規則發生沖突時是以優先級或先后為選擇依據,如果規則的優先級倒置或順序錯誤,則該生效的規則沒有生效,或者錯誤的規則生效了;
2.缺少規則,顧名思義就是缺少了用于處理該類報文的規則;
3.錯誤的條件,即期望處理的報文和規則定義的報文不完全符合;
4.錯誤的動作,即雖然定義期望處理的報文是什么,但是對該報文應該進行的動作定義錯了;
5.多余的規則,這種規則的作用由更高優先級或先出現的規則所實現,不會被命中。
為了讓計算機自動發現錯誤和修改錯誤,作者采用軟件測試的辦法,將安全目標轉換成一系列的測試報文(測試報文分為兩種:一種應該穿過防火墻,另一種不應該穿過防火墻),作者再將兩類報文分別對防火墻策略進行測試,如果所有報文的行為都符合預期,說明規則正確,否則就需要修改報文。
為了避免計算機自動修改規則時出現狀態爆炸問題,作者引入了全匹配防火墻決策圖(all-matched Firewall Decision Diagram)的數據結構。結合測試報文和決策圖兩種工具,作者實現了一種自動化的策略修改算法。盡管根據對實際防火墻策略的實驗,作者的算法也只對某些錯誤的更正有較好的效率,但這仍是防火墻自動策略管理的第一步。
基于角色的策略管理
防火墻策略管理之外,還有一個更形式化的問題:基于角色的策略管理。在大型系統中,權限不僅僅是網絡權限,還包括了用戶對各類資源的訪問。本文中,作者借用了RBAC 中的角色和權限的概念,將一切實際對象泛化成為抽象的角色u和抽象的權限p,將權限的管理轉化為符號的計算,并在符號計算工具N u S M V 的基礎上開發了自己的工具RoleUpdater。本文更多的是停留在如何在理論上實現一個自動化的最小代價進行訪問控制策略管理,并沒有考慮與實際系統的連接。
【編輯推薦】