IIS服务器常见的攻击及几种常见防御方式,阐述了IIS服务器的攻击原理,针对IIS服务器的缺陷阐述了IIS的常用防御方式,同时结合实例具体实现方式。
随着Internet的不断发展与普及,英特网上出现了越来越多的WEB服务器。人们通过WEB服务器共享资源、交流信息。目前,主流的 WEB服务主要有APACHE、IIS(Internet Information Server)等,其中APACHE一般运行在Linux、Unix服务器上,而IIS则运行在Microsoft的Windows上。由于IIS简单、 易上手,WEB服务器中IIS占据了很大的一部分,然而IIS的暴露出的问题也是最多的,特别是加上ASP(IIS上普遍运行的网页脚本)本身的安全性极 为脆弱。作为有一年服务器管理经验的一个在校大学生,决定在此结合自己的经验来谈谈IIS的攻击与防御。
1.IIS目前存在的几种攻击方式
A.%5c暴库,此法对于用ASP连接ACCESS数据库且用相对路径连接的有效,前提是网站目录有二级目录,目的是可以暴露出数据库的路径然后下载,如果数据库里有管理员账号则会给网站带来极大的安全隐患。信息学院新改版的学院网站就明显存在此漏洞,详情地址:http://xxx.com/admin%5cshow.asp?articleid=184 ,由错误信息:
以下是引用片段:
Microsoft JET Database Engine 错误 ’80004005’
’d:/database/BuildByFishsoul.asp’不是一个有效的路径。确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
/admin/inc/conn.asp,行9
由错误信息很容易得到数据库地址:/database/BuildByFishsoul.asp ,只是此数据库做了防下载,无法下载。
B.SQL注入,此法对于对输入字符串过滤不严的网站有效,我们学校的XXX讲坛在这个方面做得极差,虽然好几次找过人进行安全加强,但是都只是做了表面,对网站安全性没有任何的提高!SQL注入的一个很的工具是Domain3.5,用他可以避免大量的手工注入。
由图可以看出,管理员表、管理员账号、密码(已加密)都已经猜出来了!
C.其他,IIS本身出现的漏洞,这些漏洞持续时间不长,安装完补丁后可以解决。
2.上述漏洞利用的原理
A.通过将“/”改成“%5c”,把目录向左提高了一级,导致相对路找不到对应的文件,IIS报错。
B.因为一些参数直接被放到SQL语句中执行,导致访客可以通过外部担交恶意代码来操作数据库,进而猜解出数据库的重要信息(如帐号、密码等)。
C.利用系统本身漏洞(如溢出漏洞)来攻击IIS服务器,此漏洞严重性很大,主要是通过关注微软发布的更新补丁来获得漏洞的。
3.上述漏洞的预防
A.这个漏洞是通过IIS报错来看到错误信息的,所以可以把错误信息关掉,方法:IIS上右击网站->属性 ->主目录->配置->调试->选中向课户端发送文本错误信息。另外,这是通过下载数据库来实现的,所以可以在服务器端给. mdb文件一个解释文件,从而禁止mdb数据库的下载,方法:IIS上右击网站->属性->主目录->映射->应用程序设置,然 后添加一个mdb,随便找个文件给它解释。如果你是网站程序员则也有三个办法:用绝对路径、不用二级目录、给数据库做防下载处理。
B.同样这是利用IIS报错来实现注入的,可以将IIS报错关了,就拿它没办法了,要最终防止,还是要注意程序对 输入字符的过滤,如可以对 “’”, “and”, “or”, “update”, “insert”, “select”, “delete”, “=”等危险字符串进行过滤,甚至对于一些参数只使用数字而不能用字符串。
C.经常检测更新并升级系统,关注关于IIS漏洞的最新报道,推荐使用端星漏洞扫描工具或者365safe打补丁。这个方面程序员不能直到任何的作用。
4.IIS其它方面的注意
以上只是IIS的一些最基本的安全设置,要配置好IIS还要掌握很多东西。如是否允许执行脚本、ISAPI限制、目录游览、日志记录、网站安全账号权限控制、网站程序池、自定义错误、虚拟目录建立等。这上面每一项都是一个学问。
5.结束语
网络安全问题日益突出,有些虚拟主机管理员不知是为了方便还是不熟悉配置,干脆就将所有的网站都放在同一个目录中,然后将上级目录设置为站点根 目录。有些呢,则将所有的站点的目录都设置为可执行、可写入、可修改。有些则为了方便,在服务器上挂起了QQ,也装上了BT。更有甚者,竟然把 Internet来宾帐号加入到Administrators组中!普通的用户将自己的密码设置为生日之类的6位纯数字,这种情况还可以原谅,毕竟他们大 部分都不是专门搞网络研究的,中国国民的安全意识提高还需要一段时间嘛,但如果是网络管理员也这样,那就怎么也有点让人想不通了。IIS的安全是一个不断 变化的问题,只有相对的安全,没有绝对的安全。伴随着漏洞的不断出现和补丁的出现,IIS也在经受着考验。作为一个服务器管理人员,应该定期地观察IIS 的运行状态和网站访问日志,更要时刻关注安全网上的漏洞公告。作为网站维护人员,更要负责自己网站的代码问题,及时给存在漏洞的系统打上补丁。只有服务器 和网站都做好了安全防范,才能保证服务器和网站的正常运转。另外:安全意识是一个服务器管理员和程序员最基本的素质,只有稳定的环境和安全的代码才能让别 人放心。