IIS作为继Apache Web服务器之后最广泛使用的网站服务器之一,吸引了众多注意力,其安全性自然也面临着大量的挑战。提高IIS安全性,要从系统安全性和IIS本身安全性两方面考虑。
系统安全性方面:
- 使用NTFS文件系统
IIS是建立在Windows系统下的,如果是Windows NT系统建议使用NTFS系统。和FAT文件系统不同的是,在NTFS文件下建立新共享后可以通过修改权限保证系统安全。
- 关闭默认共享
Windows中有一个“默认共享”,这是在安装服务器的时候,把系统安装分区自动进行共享。虽然对其访问还需要超级用户的密码,但还是存在安全隐患。最好关闭这个“默认共享”,以保证系统安全。
- 设置用户密码
用户一定要设置密码,还需要经常修改密码,封锁失败的登录尝试,并且设定严格的账户生存时间。
IIS自身安全性方面:
- 限制网站的目录权限,设置Access Control List
目前有很多的脚本都有可能导致安全隐患,因此在设定IIS中网站的目录权限时,要严格限制执行、写入等权限。针对不同类型的文件,我们既可以设置Windows ACL又可以设置基于IIS的ACL,为Web站点和虚拟目录分配适当的Access Control List(访问控制列表,ACL)。
- 启用日志记录
可以用IIS MMC启动日志记录。用日志来记录IIS收到的HTTP请求,因为日志可以记录下服务器在任意时间正在做的事情,包括我们设置好的安全方案的运转情况。当然,做好IIS日志文件的保护工作也是很必要的。
- 数据库组件的安全性
对IIS最常见攻击之一是利用ODBC(开放式数据库连接)驱动程序来执行SQL语句,然后获取在IIS服务器上被保护的非公开文件的访问权限。从Windows服务器上删除所有不用的ODBC驱动程序,然后应用严格的ACL为可信用户帐户提供访问权限。
- 删除和禁止所有不打算使用的功能
在配置IIS时,要确定哪些功能是不需要或不打算使用的,那么就可以删除或者停止这些服务,这样就将会减少攻击的可能性。比如,删除IIS的Admin虚拟目录和不用的脚本映射
- 禁用或者删除所有的示例应用程序
安装IIS时会有一些用来示范安装和应用该技术的示例应用程序。建议删除产品服务器上的这些IIS示例,这些示例使服务器易于受到攻击,因为黑客知道它们位置并且知道怎样利用它们发动攻击。
- 经常到微软的站点下载IIS的补丁程序
大多数的IIS安全漏洞可以被合适的服务包和补丁程序修补好, 以保证IIS版本最新。
- 安装防毒软件
在服务器上安装防毒软件并且每天更新它以保护IIS服务器,也是很必要的。
- 其他
Microsoft 还提供了IIS Lockdown Wizard,这是一款免费工具,能够在其上操作上面介绍的安全设置。她还包括一个ISAPI筛选器UrlScan,能屏蔽和分析IIS接收到的HTTP请求。当请求中有一个受限制的字符,或一个受限制的字符串时,IIS就会拒绝该HTTP请求。
以上这些提高IIS安全性的设置操作起来并不复杂,使用Windows虚拟主机或ASP.NET主机的用户非常有必要尝试一下。只要提高安全意识,经常注意系统和IIS的设置情况,IIS还是一个比较安全的服务器平台。