胡金成 劉亞彬 陳琳
摘要:信息系統(tǒng)安全設計是WEB2.0時代的重要問題,該文對基于web的MIS的web服務器、應用服務器(中間件)、數據庫等進行安全防護設計,提高了系統(tǒng)的安全性。
關鍵詞:安全設計;信息系統(tǒng);WEB 2.0
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2012)26-6219-03
The Security Design of Management Information System Based on web2.0
HU Jin-cheng, LIU Ya-bin, CHEN Lin
(Management Information Center, Shanghai Finance University, Shanghai 201209, China)
Abstract: The security design of management information system (MIS) is one of the most important questions at web2.0 age. The security design of the management is based on information system in Web server, application server (middleware) and data? base. The safety of the system of were remarkably improved.
Key words: security design; management information system;Web 2.0
隨著Internet的不斷普及和深入,web得到了廣泛和深入的發(fā)展,與其他應用相比,Web在近些來發(fā)展更為迅猛。2003年以來,Web2.0開始替代web1.0,
Web2.0是以Blog、TAG、SNS、RSS、wiki等應用為核心,依據六度分隔、xml、ajax等新理論和技術實現的互聯(lián)網新一代模式?;趙eb2.0的MIS廣泛被開發(fā)、部署、運行。在企業(yè)內部,MIS系統(tǒng)對企業(yè)的日常運行、業(yè)務開展、資源配置發(fā)揮著不可替代的作用,因此,對MIS系統(tǒng)的可用性、可靠性、安全性、可信任日益關注。
近些年,安全問題越來越嚴重,安全事件時有發(fā)生。黑客在網絡層,主機層,以及應用層等層次進行漏洞掃描,安全問題不僅給企業(yè)帶來巨大的經濟損失,有損企業(yè)形象,而且可能導致企業(yè)倒閉。
圖1基于web2.0的MIS層次結構圖
目前,三層結構的B/S系統(tǒng)在MIS系統(tǒng)的設計和開發(fā)中被廣泛采用。應用系統(tǒng)一般主要由下列部分構成:瀏覽器、網絡、防火墻、web服務器、應用服務器(中間件)、數據庫。如圖1所示。
一個如此復雜的WEB系統(tǒng),其安全保護機制也應該是多層次全方位的,這是因為構成WEB系統(tǒng)的每一個環(huán)節(jié)都可能存在脆弱性并由此引入風險,所以每個環(huán)節(jié)都需要相應的安全控制,安全防護設計主要從這些層次出發(fā),分別對防火墻,操作系統(tǒng),web服務器、應用服務器、數據庫服務器等應用系統(tǒng)構成做安全防護設計。怎樣最大程度發(fā)現并解決WEB應用系統(tǒng)的漏洞呢?
本文將介紹一個MIS系統(tǒng)安全防護實例,該實例采用J2EE平臺,操作系統(tǒng)選擇Linux之Debian發(fā)行版本,防火墻采用iptables,web服務器采用apache2,應用服務器采用tomcat5.5,數據庫采用MySQL5,開發(fā)框架采用開源的Struts2、Hibernate3、Spring框架組合。
Web服務器、應用服務器、數據庫服務器等系統(tǒng)運行在各自平臺之上,從底向上,可將各系統(tǒng)劃分為:網絡系統(tǒng)、宿主操作系統(tǒng)、服務器系統(tǒng)三個層次。Web應用在應用服務器環(huán)境中運行,比如tomcat5就只能運行J2EE的web應用。應用服務器又和特定平臺有關,運行在特定平臺中,如tomcat5需要JVM虛擬機環(huán)境,而JVM的運行依賴運行特定操作系統(tǒng)的計算機硬件系統(tǒng)。數據庫系統(tǒng)也運行在特定操作系統(tǒng)的計算機硬件平臺之上。Web服務器同樣需要平臺的支持。應用服務器使用網絡與數據庫系統(tǒng)通訊,獲取所需要的數據資源;與web服務器交互,交付請求的資源。
安全防護設計從這三個層次出發(fā),分別對web服務器、應用服務器、數據庫服務器三個應用系統(tǒng)構成做安全防護設計。
1基于web的MIS系統(tǒng)各層設計
1.1網絡層安全防護設計
防火墻工作網絡層,在在內部主機和外部主機之間通過一些策略來控制通訊。最常用、有效的防火墻采用包過濾的方式來控制主機之間通訊的基本單位(數據包)。網絡層安全防護主要是通過防火墻保護系統(tǒng)來實現。iptable防火墻策略是linux系統(tǒng)中防火墻iptables的配置策略,具體控制iptables的行為方式。適當的iptables防火墻策略可以其他防護主機系統(tǒng)的作用。針對iptables防火墻提出以下策略:1)只允許企業(yè)intranet中的機器訪問MIS系統(tǒng);2)針對不同的MIS系統(tǒng),設定ip訪問限制;3)只允許tcp協(xié)議;4)只開放80、應用服務器、數據庫端口;5)默認都禁止策略,然后按需要開放。
1.2操作系統(tǒng)的安全防護設計
對Linux操作系統(tǒng)來說,一切都是文件,識別各組件及其構成文件,跟蹤各文件的版本、安全是理想的方法?,F實、合理的方法是識別、跟蹤各個組件的版本,給有問題的組件及時打上補丁。在Linux系統(tǒng)中,為了系統(tǒng)的運行、使用,在系統(tǒng)安裝、配置、部署時開設了一些系統(tǒng)用戶。給系統(tǒng)的用戶分配運行、使用所需要的最小資源、權限是一個重要的原則。只給系統(tǒng)開設必要的用戶也是一個重要的原則。Linux操作系統(tǒng)的安全防護策略如下:
1)操作系統(tǒng)內核,定期更新到安全的版本;
2)操作系統(tǒng),注意發(fā)布的安全漏洞、打補丁;
3)只安裝需要的支持性軟件;
4)只創(chuàng)建系統(tǒng)運行必要的用戶;
5)嚴格控制用戶的訪問權限,只允許訪問限定的資源。
2 web服務器的安全設計
Apache服務器的安全缺陷主要是使用HTTP協(xié)議進行的拒絕服務攻擊(denial of service)、緩沖區(qū)溢出攻擊以及被攻擊者獲得root權限三缺陷和最新的惡意的攻擊者進行“拒絕服務”(DoS)攻擊。合理的網絡配置能夠保護Apache服務器免遭多種攻擊。
在本系統(tǒng)中的三層結構的B/S系統(tǒng),采用apache2作為web系統(tǒng)。在apache2服務器中采用下列安全措施:
1)防火墻只允許80端口,針對只允許內被訪問的子系統(tǒng),嚴格限制ip地址。
2)設置虛擬目錄、為虛擬目錄分配最小運行權限配置虛擬目錄,防止真實的目錄名暴露在外面,起到一定的屏蔽資源的效果。針對虛擬目錄,還可以用deny、allow做用戶訪問控制,先用deny from all設為初始化指令,再使用allow from指令打開訪問權限。例如:
order deny,allow
deny from all
allow from XX.XX.XX.XX
3)以www-data用戶運行可以防止攻擊者獲得root權限
4)其他用戶不允許訪問web服務器的資源目錄嚴格做文件的訪問控制
5)www-data只訪問資源目錄、讀取文件
6)chroot將apache2系統(tǒng)限制在安全充分必要的文件系統(tǒng)下運行
7)跟蹤apache2的安全漏洞、及時打補丁
8)www-data用戶不允許登陸系統(tǒng),只作為資源擁有者、運行apache2系統(tǒng)
3應用服務器安全設計
Tomcat5.5在本例中作為application server,是運行J2EE管理信息系統(tǒng)的環(huán)境。作為一個服務器程序,可從下列層面重點防護:
1)防火墻開啟tomcat5.5所需要的8080端口,對于和apache2系統(tǒng)在一臺主機之上的tomcat5.5,可以只開啟127.0.0.1上的8080端口。和apache2系統(tǒng)不在一臺主機之上的情況,防火墻配置成只允許來自apache2所在主機能訪問該系統(tǒng)的8080端口。
2)文件權限分配只允許相關的用戶擁有最小可運行的權限,嚴格將文件權限控制在充分必要的狀態(tài)上。
3)chroot運行tomcat5.5在chroot的限制下運行,防止因為tomcat5.5的不安全運行造成了數據庫系統(tǒng)、web系統(tǒng)的不安全狀態(tài)。將tomcat5.5限制在能滿足它運行的最小的文件集合上。
4)啟動時使用-security選項,啟用SecurityManager來限制Java程序代碼。
5)按層次嚴格制定catalina.policy文件。
4數據庫安全設計
數據庫系統(tǒng)作為信息的聚集體,是計算機信息系統(tǒng)的核心部件,其安全性至關重要,對企業(yè)來說尤其重要,關系到企業(yè)興衰。因此,如何有效地保證數據庫系統(tǒng)的安全,實現數據的保密性、完整性和有效性,已經成為業(yè)界人士探索研究的重要課題之一。數據庫安全包含兩層含義:第一層是指系統(tǒng)運行安全,比如,一些入侵者通過網絡、局域網等途徑通過各種途徑,破壞系統(tǒng)的正常運行,使數據庫系統(tǒng)不可用。第二層是指系統(tǒng)信息安全,比如,黑客侵入數據庫系統(tǒng),盜取資料、刪除數據、修改數據等。數據庫系統(tǒng)的安全除了依賴自身內部的安全機制外,還與外部網絡環(huán)境、應用環(huán)境、從業(yè)人員素質等因素息息相關。
對MYsql的安全防護策略主要從下面幾個方面著手:
1)修改root用戶口令,刪除空口令;
2)刪除默認數據庫和數據庫用戶;
3)改變默認mysql管理員帳號;
4)對密碼進行加密后存儲;
5)使用獨立用戶運行msyql;
6)禁止遠程連接數據庫必須保證該目錄不能讓未經授權的用戶訪問后把數據庫打包拷貝走了,所以要限制對該目錄的訪問;
7)命令歷史記錄保護。
數據庫相關的shell操作命令都會分別記錄在.bash_history,如果這些文件不慎被讀取,會導致數據庫密碼和數據庫結構等信息泄露,
總結通過在每一個層次的安全加固設計,可以有效提升基于WEB的MIS的整體安全性。
參考文獻:
[1] Java and Web Services1[EB/OL].http://Mwww.javaworld.comPchannel-content/Pjwweb-services-index.shtml.
[2] Frank Sommersps Web Services column1[EB/OL].http://Mwww.javaworld.comPco-lumnsPjw-web-services-index.shtml.
[3]楊義先,馮運波.WWW安全技術[M].北京:人民郵電出版社,2001.