蔣 華 劉 娟 胡榮磊 田萌萌
(1.西安電子科技大學 通信工程學院,陜西 西安710071;2.北京電子科技學院,中國 北京100070)
隨著近年來電子公文系統(tǒng)的廣泛發(fā)展和應用,處理公文的功能實現(xiàn)越來越需要逼近現(xiàn)實。 處理公文的電子化勢不可擋,建立電子公文系統(tǒng)也呈現(xiàn)白熱化趨勢。 而網(wǎng)絡(luò)帶給大家很多信息安全隱患,因此電子公文系統(tǒng)中也存在很多安全問題。訪問控制是指按用戶身份及其歸屬的某項定義組來限制用戶對某些信息項的訪問,或限制對某些控制功能的使用。訪問控制通常用于系統(tǒng)管理員控制用戶對服務器、目錄、文件等網(wǎng)絡(luò)資源的訪問。 LDAP 的訪問控制是指管理員對服務器中資源被瀏覽、修改、刪除權(quán)限的配置。論文背景的課題系統(tǒng)中LDAP 服務器用在公文系統(tǒng)和數(shù)據(jù)庫之間,作為用戶管理服務器使用。 LDAP 服務器的應用在很大程度上保證了數(shù)據(jù)庫的安全,進而保障了公文系統(tǒng)的安全可靠。
訪問控制權(quán)限是確定用戶只能做到權(quán)限規(guī)定范圍之內(nèi)的操作,任何用戶都不能越權(quán)操作。對公文系統(tǒng)中的用戶管理服務器進行動態(tài)配置訪問控制權(quán)限是保證OA 系統(tǒng)相對安全行之有效的方法之一。 OA系統(tǒng)中,訪問控制是保證公文系統(tǒng)中數(shù)據(jù)庫中的目錄信息安全性的一種重要措施。在LDAP 服務器中既可以發(fā)揮輕型目錄訪問協(xié)議本身的優(yōu)勢,進行快速的查詢,修改,增加刪除用戶和資源的功能,還能進行配置用戶的訪問控制權(quán)限,即對服務器中的資源進行特定操作的權(quán)限的配置。 在一個完整安全的OA 系統(tǒng)中,實現(xiàn)訪問控制是該系統(tǒng)必須實現(xiàn)的功能,它不僅能設(shè)置用戶的訪問權(quán)限,而且提高了系統(tǒng)查詢,運行的效率。 動態(tài)的實現(xiàn)訪問控制技術(shù)又是目前最靈活方便,有效的方式,它避免了靜態(tài)配置方式中時間,地域的限制。
一般的,配置用戶管理服務器的訪問控制權(quán)限是通過靜態(tài)的控制服務器的啟動和停止,配合修改slapd.conf 文件配置實現(xiàn)的。但是很多用戶使用這種靜態(tài)配置的方法都會遇到這樣的問題:這種靜態(tài)實現(xiàn)的方法是一種操作的方法,需要考慮實現(xiàn)周期,這是越來越不能被接受的。 所以下面我們引入一種動態(tài)實現(xiàn)配置的方法,這樣用戶不用去刻意的修改slapd.conf 文件配置,解決了時間地域工作狀態(tài)的局限性。
如圖1 所示OA 系統(tǒng)中訪問控制權(quán)限配置模型,其中用戶管理服務器提供存儲用戶信息和文件信息,數(shù)據(jù)服務器存儲公文文件和日志信息。 我們進行的操作是對用戶管理服務器進行配置,對于指定的用戶基于一定的身份給予相應的操作權(quán)限,比如可讀、可寫、添加、刪除、修改等。
動態(tài)的通過訪問控制鏈表來實現(xiàn)訪問控制,相當于間接配置文件slapd.conf 中的訪問策略語句來設(shè)置,訪問策略語句的格式如下:
Access to <what>
[by <who><access> ]+
這里尖括號的內(nèi)容是設(shè)置的參數(shù)內(nèi)容, 方括號的內(nèi)容是可選的,方括號后面的“+”表示方括號的內(nèi)容可以出現(xiàn)一次或者多次。 訪問策略語句意義是: 由<who>所制定的訪問主體可以對<what>所制定的被訪問的對象進行由<access>所制定的訪問操作。
例如:access to *
by * read
表示的語法意義是: 任何被訪問的對象可以被任何訪問主體以“讀”的訪問方式進行訪問。
基本思想:將配置文件slapd.conf 中所有配置信息分別以LDIF 格式編輯成文件slapd.d,并根據(jù)其內(nèi)容生成一顆根條目為“cn=config”的目錄信息樹,該目錄信息樹的屬性保存訪問控制信息等。 目錄服務器管理員可以直接通過標準的LDAP 瀏覽器對訪問控制進行動態(tài)修改,并能立即生效。 接下來我們介紹的配制實現(xiàn)方法是基于Openldap server 和一個LDAP Administer Browers 2012.2 版本的瀏覽器實現(xiàn)的動態(tài)配置訪問控制。
2.3.1 動態(tài)配置步驟
1)新建schema 文件,文件如下圖所示:在*.schema 文件中定義了數(shù)據(jù)庫服務器中存儲的文件的對象類型,和文件對象類中定義的屬性類型和屬性值, 為了模擬訪問控制的實現(xiàn), 新建兩個對象類:user,wenjian;user 對象類中包含usersName,post 兩個必選屬性;wenjian 對象類中包含wenjianming,printTimes,content 三個屬性;
2)在slapd.conf 文件中添加定義好的上面的*.schema 文件;
3)重啟服務器;
4)新建條目;
在根節(jié)點下新建條目并對添加的模式下的對象類下的屬性類型賦予相應的屬性值。
5) 設(shè)置訪問權(quán)限, 對新添加的條目配置訪問控制權(quán)限,在olcDatabase={1}bdb 中添加OlcAccess 屬性,然后把控制語句作為屬性值;如下圖為添加了訪問控制權(quán)限之后的效果圖:
使用了標準LDAP Browser 客戶端進行截圖。
2.3.2 屬性值參考,“olcAccess:” 后面的內(nèi)容是olcAccess 這個屬性的屬性值每一條是一個屬性值;
使用標準LDAP 規(guī)范描述的安全訪問控制參考代碼。
其實靜態(tài)配置服務器的訪問權(quán)限和動態(tài)實現(xiàn)服務器的訪問權(quán)限本質(zhì)上是相同的, 都是通過一定的操作對服務器的slapd.conf 文件進行配置修改。不同的是靜態(tài)實現(xiàn)訪問控制是通過直接去修改服務器的配置文件,這種方法受到了時間空間地域的限制,但如果服務器近在咫尺的話,這是最簡單有效的方法。 動態(tài)配置服務器是通過用戶使用client brower 進行上述的操作進行配置實現(xiàn),間接的修改slapd.conf 文件。 最終結(jié)果都是通過修改配置文件實現(xiàn)的,但是動態(tài)實現(xiàn)的方法可以解決靜態(tài)配置的地域限制問題,即使客戶端距離服務器很遠也能設(shè)置訪問權(quán)限,解決了配置要求的便利性和實時性。
本文結(jié)合了前人總結(jié)的訪問控制操作中的探索,在“萬變不離其宗”的原理下,即基本符合其語法規(guī)定的操作的范圍內(nèi),動態(tài)的實現(xiàn)對公文系統(tǒng)中訪問控制權(quán)限的配置。解決了電子公文系統(tǒng)中系統(tǒng)管理員和系統(tǒng)部屬單位在時間空間差異性導致配置不方便不夠及時的缺點,也節(jié)省了系統(tǒng)維護運營成本。
[1]黃金華.OpenLDAP 性能與安全研究[D].2007.
[2]RFC 3698 Lightweight Directory Access Protocol (LDAP) Additional Matching Rules[Z].
[3]RFC 2252 Lightweight Directory Access Protocol (LDAP)[Z].
[4]周源,李生紅.基于LDAP 的訪問控制及存儲方案研究[D].2005.
[5]李少春,蔣澤軍,王麗芳,張羽.J2EE 環(huán)境下基于LDAP 的訪問控制的設(shè)計與集成[D].2005.
[6]汪奕君,張興元.OpenLDAP 中訪問控制機制的分析[D].2005.
[7]陳岳斌.LDAP 技術(shù)的應用[D].2008.
[8]李健,唐文忠,宋長福.角色訪問控制技術(shù)在管理信息系統(tǒng)中的應用[D]. 2003.
[9]http://www.zytrax.com/books/ldap/ape/core-schema.html[OL].
[10] http://www.ldapadmin.org/screenshots/index.html[OL].
[11]http://blog.sina.com.cn/s/blog_61c2e5530100eonb.html[OL].
[12]http://www.openldap.org/doc/admin24/access-control.html[OL].
[13]http://bbs.chinaunix.net/thread-926041-1-1.html[OL].