论文部分内容阅读
摘要:信息系统安全设计是WEB2.0时代的重要问题,该文对基于web的MIS的web服务器、应用服务器(中间件)、数据库等进行安全防护设计,提高了系统的安全性。
关键词:安全设计;信息系统;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得到了广泛和深入的发展,与其他应用相比,Web在近些来发展更为迅猛。2003年以来,Web2.0开始替代web1.0,
Web2.0是以Blog、TAG、SNS、RSS、wiki等应用为核心,依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。基于web2.0的MIS广泛被开发、部署、运行。在企业内部,MIS系统对企业的日常运行、业务开展、资源配置发挥着不可替代的作用,因此,对MIS系统的可用性、可靠性、安全性、可信任日益关注。
近些年,安全问题越来越严重,安全事件时有发生。黑客在网络层,主机层,以及应用层等层次进行漏洞扫描,安全问题不仅给企业带来巨大的经济损失,有损企业形象,而且可能导致企业倒闭。
图1基于web2.0的MIS层次结构图
目前,三层结构的B/S系统在MIS系统的设计和开发中被广泛采用。应用系统一般主要由下列部分构成:浏览器、网络、防火墙、web服务器、应用服务器(中间件)、数据库。如图1所示。
一个如此复杂的WEB系统,其安全保护机制也应该是多层次全方位的,这是因为构成WEB系统的每一个环节都可能存在脆弱性并由此引入风险,所以每个环节都需要相应的安全控制,安全防护设计主要从这些层次出发,分别对防火墙,操作系统,web服务器、应用服务器、数据库服务器等应用系统构成做安全防护设计。怎样最大程度发现并解决WEB应用系统的漏洞呢?
本文将介绍一个MIS系统安全防护实例,该实例采用J2EE平台,操作系统选择Linux之Debian发行版本,防火墙采用iptables,web服务器采用apache2,应用服务器采用tomcat5.5,数据库采用MySQL5,开发框架采用开源的Struts2、Hibernate3、Spring框架组合。
Web服务器、应用服务器、数据库服务器等系统运行在各自平台之上,从底向上,可将各系统划分为:网络系统、宿主操作系统、服务器系统三个层次。Web应用在应用服务器环境中运行,比如tomcat5就只能运行J2EE的web应用。应用服务器又和特定平台有关,运行在特定平台中,如tomcat5需要JVM虚拟机环境,而JVM的运行依赖运行特定操作系统的计算机硬件系统。数据库系统也运行在特定操作系统的计算机硬件平台之上。Web服务器同样需要平台的支持。应用服务器使用网络与数据库系统通讯,获取所需要的数据资源;与web服务器交互,交付请求的资源。
安全防护设计从这三个层次出发,分别对web服务器、应用服务器、数据库服务器三个应用系统构成做安全防护设计。
1基于web的MIS系统各层设计
1.1网络层安全防护设计
防火墙工作网络层,在在内部主机和外部主机之间通过一些策略来控制通讯。最常用、有效的防火墙采用包过滤的方式来控制主机之间通讯的基本单位(数据包)。网络层安全防护主要是通过防火墙保护系统来实现。iptable防火墙策略是linux系统中防火墙iptables的配置策略,具体控制iptables的行为方式。适当的iptables防火墙策略可以其他防护主机系统的作用。针对iptables防火墙提出以下策略:1)只允许企业intranet中的机器访问MIS系统;2)针对不同的MIS系统,设定ip访问限制;3)只允许tcp协议;4)只开放80、应用服务器、数据库端口;5)默认都禁止策略,然后按需要开放。
1.2操作系统的安全防护设计
对Linux操作系统来说,一切都是文件,识别各组件及其构成文件,跟踪各文件的版本、安全是理想的方法。现实、合理的方法是识别、跟踪各个组件的版本,给有问题的组件及时打上补丁。在Linux系统中,为了系统的运行、使用,在系统安装、配置、部署时开设了一些系统用户。给系统的用户分配运行、使用所需要的最小资源、权限是一个重要的原则。只给系统开设必要的用户也是一个重要的原则。Linux操作系统的安全防护策略如下:
1)操作系统内核,定期更新到安全的版本;
2)操作系统,注意发布的安全漏洞、打补丁;
3)只安装需要的支持性软件;
4)只创建系统运行必要的用户;
5)严格控制用户的访问权限,只允许访问限定的资源。
2 web服务器的安全设计
Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。
在本系统中的三层结构的B/S系统,采用apache2作为web系统。在apache2服务器中采用下列安全措施:
1)防火墙只允许80端口,针对只允许内被访问的子系统,严格限制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系统限制在安全充分必要的文件系统下运行
7)跟踪apache2的安全漏洞、及时打补丁
8)www-data用户不允许登陆系统,只作为资源拥有者、运行apache2系统
3应用服务器安全设计
Tomcat5.5在本例中作为application server,是运行J2EE管理信息系统的环境。作为一个服务器程序,可从下列层面重点防护:
1)防火墙开启tomcat5.5所需要的8080端口,对于和apache2系统在一台主机之上的tomcat5.5,可以只开启127.0.0.1上的8080端口。和apache2系统不在一台主机之上的情况,防火墙配置成只允许来自apache2所在主机能访问该系统的8080端口。
2)文件权限分配只允许相关的用户拥有最小可运行的权限,严格将文件权限控制在充分必要的状态上。
3)chroot运行tomcat5.5在chroot的限制下运行,防止因为tomcat5.5的不安全运行造成了数据库系统、web系统的不安全状态。将tomcat5.5限制在能满足它运行的最小的文件集合上。
4)启动时使用-security选项,启用SecurityManager来限制Java程序代码。
5)按层次严格制定catalina.policy文件。
4数据库安全设计
数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要,对企业来说尤其重要,关系到企业兴衰。因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为业界人士探索研究的重要课题之一。数据库安全包含两层含义:第一层是指系统运行安全,比如,一些入侵者通过网络、局域网等途径通过各种途径,破坏系统的正常运行,使数据库系统不可用。第二层是指系统信息安全,比如,黑客侵入数据库系统,盗取资料、删除数据、修改数据等。数据库系统的安全除了依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关。
对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.
关键词:安全设计;信息系统;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得到了广泛和深入的发展,与其他应用相比,Web在近些来发展更为迅猛。2003年以来,Web2.0开始替代web1.0,
Web2.0是以Blog、TAG、SNS、RSS、wiki等应用为核心,依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。基于web2.0的MIS广泛被开发、部署、运行。在企业内部,MIS系统对企业的日常运行、业务开展、资源配置发挥着不可替代的作用,因此,对MIS系统的可用性、可靠性、安全性、可信任日益关注。
近些年,安全问题越来越严重,安全事件时有发生。黑客在网络层,主机层,以及应用层等层次进行漏洞扫描,安全问题不仅给企业带来巨大的经济损失,有损企业形象,而且可能导致企业倒闭。
图1基于web2.0的MIS层次结构图
目前,三层结构的B/S系统在MIS系统的设计和开发中被广泛采用。应用系统一般主要由下列部分构成:浏览器、网络、防火墙、web服务器、应用服务器(中间件)、数据库。如图1所示。
一个如此复杂的WEB系统,其安全保护机制也应该是多层次全方位的,这是因为构成WEB系统的每一个环节都可能存在脆弱性并由此引入风险,所以每个环节都需要相应的安全控制,安全防护设计主要从这些层次出发,分别对防火墙,操作系统,web服务器、应用服务器、数据库服务器等应用系统构成做安全防护设计。怎样最大程度发现并解决WEB应用系统的漏洞呢?
本文将介绍一个MIS系统安全防护实例,该实例采用J2EE平台,操作系统选择Linux之Debian发行版本,防火墙采用iptables,web服务器采用apache2,应用服务器采用tomcat5.5,数据库采用MySQL5,开发框架采用开源的Struts2、Hibernate3、Spring框架组合。
Web服务器、应用服务器、数据库服务器等系统运行在各自平台之上,从底向上,可将各系统划分为:网络系统、宿主操作系统、服务器系统三个层次。Web应用在应用服务器环境中运行,比如tomcat5就只能运行J2EE的web应用。应用服务器又和特定平台有关,运行在特定平台中,如tomcat5需要JVM虚拟机环境,而JVM的运行依赖运行特定操作系统的计算机硬件系统。数据库系统也运行在特定操作系统的计算机硬件平台之上。Web服务器同样需要平台的支持。应用服务器使用网络与数据库系统通讯,获取所需要的数据资源;与web服务器交互,交付请求的资源。
安全防护设计从这三个层次出发,分别对web服务器、应用服务器、数据库服务器三个应用系统构成做安全防护设计。
1基于web的MIS系统各层设计
1.1网络层安全防护设计
防火墙工作网络层,在在内部主机和外部主机之间通过一些策略来控制通讯。最常用、有效的防火墙采用包过滤的方式来控制主机之间通讯的基本单位(数据包)。网络层安全防护主要是通过防火墙保护系统来实现。iptable防火墙策略是linux系统中防火墙iptables的配置策略,具体控制iptables的行为方式。适当的iptables防火墙策略可以其他防护主机系统的作用。针对iptables防火墙提出以下策略:1)只允许企业intranet中的机器访问MIS系统;2)针对不同的MIS系统,设定ip访问限制;3)只允许tcp协议;4)只开放80、应用服务器、数据库端口;5)默认都禁止策略,然后按需要开放。
1.2操作系统的安全防护设计
对Linux操作系统来说,一切都是文件,识别各组件及其构成文件,跟踪各文件的版本、安全是理想的方法。现实、合理的方法是识别、跟踪各个组件的版本,给有问题的组件及时打上补丁。在Linux系统中,为了系统的运行、使用,在系统安装、配置、部署时开设了一些系统用户。给系统的用户分配运行、使用所需要的最小资源、权限是一个重要的原则。只给系统开设必要的用户也是一个重要的原则。Linux操作系统的安全防护策略如下:
1)操作系统内核,定期更新到安全的版本;
2)操作系统,注意发布的安全漏洞、打补丁;
3)只安装需要的支持性软件;
4)只创建系统运行必要的用户;
5)严格控制用户的访问权限,只允许访问限定的资源。
2 web服务器的安全设计
Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。
在本系统中的三层结构的B/S系统,采用apache2作为web系统。在apache2服务器中采用下列安全措施:
1)防火墙只允许80端口,针对只允许内被访问的子系统,严格限制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系统限制在安全充分必要的文件系统下运行
7)跟踪apache2的安全漏洞、及时打补丁
8)www-data用户不允许登陆系统,只作为资源拥有者、运行apache2系统
3应用服务器安全设计
Tomcat5.5在本例中作为application server,是运行J2EE管理信息系统的环境。作为一个服务器程序,可从下列层面重点防护:
1)防火墙开启tomcat5.5所需要的8080端口,对于和apache2系统在一台主机之上的tomcat5.5,可以只开启127.0.0.1上的8080端口。和apache2系统不在一台主机之上的情况,防火墙配置成只允许来自apache2所在主机能访问该系统的8080端口。
2)文件权限分配只允许相关的用户拥有最小可运行的权限,严格将文件权限控制在充分必要的状态上。
3)chroot运行tomcat5.5在chroot的限制下运行,防止因为tomcat5.5的不安全运行造成了数据库系统、web系统的不安全状态。将tomcat5.5限制在能满足它运行的最小的文件集合上。
4)启动时使用-security选项,启用SecurityManager来限制Java程序代码。
5)按层次严格制定catalina.policy文件。
4数据库安全设计
数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要,对企业来说尤其重要,关系到企业兴衰。因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为业界人士探索研究的重要课题之一。数据库安全包含两层含义:第一层是指系统运行安全,比如,一些入侵者通过网络、局域网等途径通过各种途径,破坏系统的正常运行,使数据库系统不可用。第二层是指系统信息安全,比如,黑客侵入数据库系统,盗取资料、删除数据、修改数据等。数据库系统的安全除了依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关。
对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.