山东 周京伟 周蓉
近年来,国家对网络安全越来越重视,网站安全更是重中之重。在教育领域,由于经费、技术水平等方面的限制,我国学校网站大都基于网上的开源CMS 系统自主开发,比如DeDeCMS、SiteServer 等。而此类CMS 系统代码公开、用户数量多,引起了大量网络安全从业者和爱好者的广泛研究,漏洞曝光率和被利用率很高。
由于安全意识和技术水平所限,大部分用户在漏洞曝光后,不能及时对系统进行版本升级、漏洞修复,也不能很好地利用操作系统的安全策略来进行安全防范,导致网站被攻击,给单位带来损失。
笔者在防护学校网站的工作实践中探索出了一种通过Vmware 虚拟化和微软的ISA Sverver,适合中小学网站使用的网站安全防护方法。
该方法的原理是通过虚拟化技术把原来的物理服务器虚拟出两台虚拟服务器,在其中一台上安装ISA Server,另外一台安装原有网站服务器。
ISA 服务器配置两块网卡,一块网卡配置外网地址,即原网站服务器地址;另一块网卡配置内网地址,与网站服务器互通。
网站服务器因为是内网地址,不能被外网直接访问到,但可以通过在ISA 服务器上配置策略实现外网访问,对于网站服务器的访问权限设置便可通过ISA 策略灵活配置,整体架构图如图1 所示。
图1 整体防护架构
假设原有网站的域名为www.example.com,对应的IP 地址为100.100.100.5,这是一个可以在互联网上访问的公网地址。在物理服务器上安装Vmware ESXi 5.5,在某一台客户机上安装vsphere client 5.5 连接服务器,为服务器分配两个虚拟机,两台虚拟机的主要设置如下:
1.虚拟机1
ISA Server 服务器,安装Window 2008 服务器操作系统及ISA Server 2006。
配置两块网卡,网卡1 的IP 地址设置为100.100.100.5,网卡2 的IP 地址为192.168.0.5,这是一个内网地址,外围不能访问。
2.虚拟机2
网站服务器,将原网站服务器的内容复制到该服务器上。
配置一块网卡,IP 地址为192.168.0.6。
创建两个网站发布策略,其中策略1 用于对所有用户提供网站访问服务,访问时只能访问HTML静态网页;策略2 用于校内用户访问后台,限制访问IP 地址,且在访问时需要输入验证码,用于阻止自动扫描。
策略1 的配置方法:
1.打开ISA Server,右键单击“阵列”,利用阵列创建向导创建一个阵列。
2.右键单击“防火墙策略”,新建“网站发布规则”,名称为“静态访问”,在“请选择规则操作”中选“允许”,在“发布类型”中选择“发布单个网站或负载平衡器”,在“服务器连接类型”选“http”,在“内部发布详情信息”中设置“内部网站名称”为“www.example.com”,输入网站服务器地址“192.168.0.6”,在“公共名称细节”中设置“公共名称”为“www.example.com”,在“选择Web 侦听器”中选择“新建”,新建一个Web 侦听器,名称为“80”,“Web 侦听器IP地址”为“所有网络(本地连接)”,不设置身份验证,其他默认。在防火墙策略向导中继续点击“下一步”,选择“无委派,但是客户端可以直接进行身份验证”,其他默认。
3.双击防火墙策略列表中刚建立的“静态访问”策略,在属性对话框中选择“通讯”选项卡,点击“筛选”按钮,打开HTTP 策略配置窗口,设置“方法”只有“get”,在“扩展名”中阻止所有非HTML 的扩展名,如图2 所示,在“签名”中把所有可能的恶意字符,如“?”“admin”等。
图2 HTTP 策略配置窗口
策略2 的配置方法:
复制策略1,命名为“动态访问”,双击打开属性窗口,对相关内容做如下修改:
1.“从”选项卡设置访问范围为“学校内网”,内网地址需提前配置。
图3 侦听器中客户端身份验证方法设置
2.“侦听器”修改为新建的“8080”,身份验证方法为“HTTP 身份验证”,这样以后在访问后台时需使用8080 端口,如图3所示。
3.“通讯”选项卡下HTTP 策略配置修改为默认,允许用户可以访问所有文件。
4.在系统中增加一个guest 用户,设置用户名和密码,这样以后每次登陆后台都会有账号密码验证,输入正确后才能打开后台地址,如图4 所示。
图4 后台访问验证账号设置
以上方法在后台使用SiteServer 等前台访问不需要调用动态页面的网站后台时已得到验证。未采用上述保护策略以前,笔者管理的网站经常受到攻击,自按照上述方法配置几年来,未检测到对网站的有效攻击。
对于DeDeCMS,因为其前台需要调用动态页面,所以配置访问策略有所不同。当然,由于开放的功能不通,需要调用的动态页面也有所不同。在笔者管理的网站中前台需要的动态文件只有plus 文件夹下的advancedsearch.php。
在ISA 中创建三个网站发布规则。规则1 用于用户访问静态页面,与前述“静态访问”策略基本相同,只需要修改一下服务器的域名和地址即可;规则2 用于管理后台,与前述“动态访问”规则基本相同,对可以访问的IP 地址进行限制;规则3 用于用户访问advancedsearch.php,在策略属性中选择“路径”选项卡,如图5 所示,添加内部路径“/plus/*”。在如图2 所示HTTP 策略配置窗口中配置php 文件允许访问。为了保证安全,笔者在实践中把plus 文件夹下其他不用的动态网页全部移到了其它文件夹中,这样外部用户在访问的时候就只能访问这一个动态页面。
图5 策略配置属性路径选项卡
对于网站防护最好的方法是有安全的网站平台加可靠的WAF 网站防火墙设备,这种部署方式在网站数量较多的高校非常常见,但对于大多数只有一个网站的中小学来说,代价确实太高。
本文介绍的方法成本低、配置简单,在实际应用中取得了良好的效果,为广大中小学网站防护提供了一种有益的方案。