论文部分内容阅读
基于Windows2000(2003) IIS ASP平台构建的Web服务器,是目前最常用的一种建站方式。Windows 2000(2003)操作系统的一个主要特色就是将IIS融入其内核之中,并提供一些用来配置和维护软件的向导工具,使构建一个Internet网站轻松易得。但是,微软操作系统的漏洞之多,给网站安全埋上了一颗无形的“定时炸弹”。网管员如果具有较强的安全意识,在建站之初,应从网站安全的细小处加以注意和防范。本文结合笔者的工作经历,详细分析了使用这种模式建站所面临的各种安全问题,并给出了相应的解决方法。在多个此类网站的架设实践中,证明了应用该安全策略的有效性。
一、 系统安全
微软的操作系统以功能强大著称,但也是漏洞补丁最多的软件。采用Windows平台作为Web服务器,在安装和配置时需要注意以下几点。
1.系统安装完毕,应及时打上系统漏洞补丁。可以在服务器上安装360安全卫士,通过该软件自动扫描系统漏洞并下载补丁安装。
2.不要安装多余的服务和协议。因为有的服务存在漏洞,多余的协议会占用系统资源,可以把相应的服务停止或关闭(如FTP、STMP等)。
3.安装防病毒软件和防火墙软件。安装360安全卫士可用于木马扫描和查杀、系统漏洞扫描和打补丁,安装防病毒软件可以查杀病毒,安装防火墙可以防止非法Ping本机。
二、 网站配置安全
优化可靠的IIS配置,是网站安全的基础。网管员应该在以下几方面做好网站安全配置工作。
1.尽可能不要把网站安装在默认的C:inetpub wwwroot目录下。主要有两个原因:一是C盘是系统盘,由于病毒或其他原因很容易使系统破坏,导致数据丢失等;二是作为默认安装,很容易让一些黑客猜出安装位置,并对网站实施攻击。一般可安装在除系统盘外的其他分区,并删除默认建立的站点的虚拟目录,停止默认Web站点,即删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制。
2.在配置网站安全策略时,在IIS站点配置中无特殊要求切勿勾选“脚本资源访问”、“写入”、“目录浏览”这三个选项。不选“脚本资源访问”,能有效阻止客户端运行一些服务器端的程序;不选“写入”,可防止客户上传一些可执行文件;不选“目录浏览”,能使客户端猜不出网站的路径结构。删除所有不必要的应用程序扩展,只保留如asp、aspx等一些有用的应用程序扩展。
3.严格上传文件的控制。一般不允许可执行文件如exe、bat等文件的上传。
三、程序代码安全
学校网管员可能经历过这样一种情况,单位的安全设施都已经到位,配置了防火墙,安装好防病毒软件,但还是经常遭遇黑客的攻击或病毒入侵,出现如下案例的情形。其实大多数原因是由于程序代码不安全或属性设置不当造成的,使黑客有机可乘。
案例:整个网站看起来很正常,但在打开首页或其他某一页面时出现空白或弹出其他页面,如果不安装个人防火墙,你不知道问题出在哪儿,如果安装了个人防火墙,则会弹出下图的提示信息。
这时,如果你打开网站首页文件或数据库连接文件index.asp、default.asp、conn.asp等,会发现文件最后一行写入了一句挂马代码。
诸如或,将该行代码删除,浏览网页即正常。因此,网站配置好后,在应用程序开发与管理中要做好程序代码的安全工作。
1.将网站的程序文件改为只读属性
一般写入挂马代码的多是Index.asp、default.asp、conn.asp、top.asp等文件。但从安全角度考虑,建议将网站中的文件除必要数据库文件和JS刷新文件外,均设置为“只读”,防止黑客在程序中写入语句。
2.防止SQL注入
许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码(一般在浏览器地址栏进行,通过正常的www端口访问),根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL注入。对于这种情况,如果程序是自行开发的,一般的http请求不外乎get和post,所以只要我们在文件中过滤所有请求中的参数信息中非法字符即可。如果是采用动易等免费代码,一般都有防SQL注入功能,只要将该保护功能开启即可。
3.关闭不必要的“注册”和“忘记密码”等功能
目前,我们建立的网站大多数采用网上的免费源码,如动易、风讯等。但这些程序中也会有一些漏洞。如动易中的“忘记密码”很容易被人猜出用户的问题答案,并最终修改密码,笔者曾亲历过这一类遭遇。对于这类情况,如果没特别需要可关掉“注册”和“忘记密码”两个功能。
四、 数据库安全
数据库是一个网站的核心,有关数据库的安全,轻则数据泄密,重则数据毁灭,从而造成无法挽回的损失。因此,加强数据库安全是每位网管员必须考虑的内容。
1.数据库采用ACCESS的用户。服务器端的mdb文件可以被用户下载,这是很危险的。一般情况下,ACCESS数据库文件存放在相应的Web目录中,很多黑客就是利用这种规律来查找并下载数据库文件,导致数据信息泄密。如果采用ACCESS数据库,一要将数据库文件的后缀名mdb改为asp或asa,二要更改数据库文件夹的习惯名称data或database等,并转移数据库的位置。特别是对于下载的模板,一般数据库存放在特定的位置,很容易被人猜出。因此,可以改变数据库文件的存储位置,将数据库文件存放在Web目录以外的某个文件夹中,让黑客难以猜测存储位置。同时,修改好数据库连接文件(如conn.asp)中的数据库文件相应信息,这样ACCESS数据库文件就安全多了。
2.对于专用的MSSQL数据库服务器,可以设置TCP/IP筛选和IP策略,对外只开放1433。由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以必须为这个账号设置一个安全级别高的密码。建议数据库管理员新建一个拥有与sa一样权限的超级用户来管理数据库,使用混合身份验证,加强数据库日志的记录,审核数据库登录事件的“成功和失败”,删除一些不需要的和危险的OLE自动存储过程等。
(作者单位:浙江上虞中学)
一、 系统安全
微软的操作系统以功能强大著称,但也是漏洞补丁最多的软件。采用Windows平台作为Web服务器,在安装和配置时需要注意以下几点。
1.系统安装完毕,应及时打上系统漏洞补丁。可以在服务器上安装360安全卫士,通过该软件自动扫描系统漏洞并下载补丁安装。
2.不要安装多余的服务和协议。因为有的服务存在漏洞,多余的协议会占用系统资源,可以把相应的服务停止或关闭(如FTP、STMP等)。
3.安装防病毒软件和防火墙软件。安装360安全卫士可用于木马扫描和查杀、系统漏洞扫描和打补丁,安装防病毒软件可以查杀病毒,安装防火墙可以防止非法Ping本机。
二、 网站配置安全
优化可靠的IIS配置,是网站安全的基础。网管员应该在以下几方面做好网站安全配置工作。
1.尽可能不要把网站安装在默认的C:inetpub wwwroot目录下。主要有两个原因:一是C盘是系统盘,由于病毒或其他原因很容易使系统破坏,导致数据丢失等;二是作为默认安装,很容易让一些黑客猜出安装位置,并对网站实施攻击。一般可安装在除系统盘外的其他分区,并删除默认建立的站点的虚拟目录,停止默认Web站点,即删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制。
2.在配置网站安全策略时,在IIS站点配置中无特殊要求切勿勾选“脚本资源访问”、“写入”、“目录浏览”这三个选项。不选“脚本资源访问”,能有效阻止客户端运行一些服务器端的程序;不选“写入”,可防止客户上传一些可执行文件;不选“目录浏览”,能使客户端猜不出网站的路径结构。删除所有不必要的应用程序扩展,只保留如asp、aspx等一些有用的应用程序扩展。
3.严格上传文件的控制。一般不允许可执行文件如exe、bat等文件的上传。
三、程序代码安全
学校网管员可能经历过这样一种情况,单位的安全设施都已经到位,配置了防火墙,安装好防病毒软件,但还是经常遭遇黑客的攻击或病毒入侵,出现如下案例的情形。其实大多数原因是由于程序代码不安全或属性设置不当造成的,使黑客有机可乘。
案例:整个网站看起来很正常,但在打开首页或其他某一页面时出现空白或弹出其他页面,如果不安装个人防火墙,你不知道问题出在哪儿,如果安装了个人防火墙,则会弹出下图的提示信息。
这时,如果你打开网站首页文件或数据库连接文件index.asp、default.asp、conn.asp等,会发现文件最后一行写入了一句挂马代码。
诸如或,将该行代码删除,浏览网页即正常。因此,网站配置好后,在应用程序开发与管理中要做好程序代码的安全工作。
1.将网站的程序文件改为只读属性
一般写入挂马代码的多是Index.asp、default.asp、conn.asp、top.asp等文件。但从安全角度考虑,建议将网站中的文件除必要数据库文件和JS刷新文件外,均设置为“只读”,防止黑客在程序中写入语句。
2.防止SQL注入
许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码(一般在浏览器地址栏进行,通过正常的www端口访问),根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL注入。对于这种情况,如果程序是自行开发的,一般的http请求不外乎get和post,所以只要我们在文件中过滤所有请求中的参数信息中非法字符即可。如果是采用动易等免费代码,一般都有防SQL注入功能,只要将该保护功能开启即可。
3.关闭不必要的“注册”和“忘记密码”等功能
目前,我们建立的网站大多数采用网上的免费源码,如动易、风讯等。但这些程序中也会有一些漏洞。如动易中的“忘记密码”很容易被人猜出用户的问题答案,并最终修改密码,笔者曾亲历过这一类遭遇。对于这类情况,如果没特别需要可关掉“注册”和“忘记密码”两个功能。
四、 数据库安全
数据库是一个网站的核心,有关数据库的安全,轻则数据泄密,重则数据毁灭,从而造成无法挽回的损失。因此,加强数据库安全是每位网管员必须考虑的内容。
1.数据库采用ACCESS的用户。服务器端的mdb文件可以被用户下载,这是很危险的。一般情况下,ACCESS数据库文件存放在相应的Web目录中,很多黑客就是利用这种规律来查找并下载数据库文件,导致数据信息泄密。如果采用ACCESS数据库,一要将数据库文件的后缀名mdb改为asp或asa,二要更改数据库文件夹的习惯名称data或database等,并转移数据库的位置。特别是对于下载的模板,一般数据库存放在特定的位置,很容易被人猜出。因此,可以改变数据库文件的存储位置,将数据库文件存放在Web目录以外的某个文件夹中,让黑客难以猜测存储位置。同时,修改好数据库连接文件(如conn.asp)中的数据库文件相应信息,这样ACCESS数据库文件就安全多了。
2.对于专用的MSSQL数据库服务器,可以设置TCP/IP筛选和IP策略,对外只开放1433。由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以必须为这个账号设置一个安全级别高的密码。建议数据库管理员新建一个拥有与sa一样权限的超级用户来管理数据库,使用混合身份验证,加强数据库日志的记录,审核数据库登录事件的“成功和失败”,删除一些不需要的和危险的OLE自动存储过程等。
(作者单位:浙江上虞中学)