Chinaunix首页 | 论坛 | 博客
  • 博客访问: 665450
  • 博文数量: 245
  • 博客积分: 4732
  • 博客等级: 上校
  • 技术积分: 3102
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-02 14:31
文章分类

全部博文(245)

文章存档

2012年(1)

2011年(42)

2010年(132)

2009年(59)

2008年(11)

我的朋友

分类: WINDOWS

2011-05-04 14:36:50

 
 

IIS的相关设置:
1 默认web站点
删除默认建立的
点的虚拟目录,
停止默认web站点
删除对应的文件目录c:inetpub
2 配置所有站点的公共设置,
设置好相关的连接数限制,带宽设置以及性能设置等其他设置。

  修改IIS的安装默认路径   

  IIS的默认安装的路径是\inetpub,Web服务的页面路径是\inetpub\wwwroot,这是任何一个熟悉IIS的人都知道的,入侵者也不例外,使用默认的安装路径无疑是告诉了入侵者系统的重要资料,所以需要更改。 
  打上Windows和IIS的补丁  
只要提高安全意识,经常注意系统和IIS的设置情况,并打上最新的补丁,IIS就会是一个比较安全的平台,能为我们提供安全稳定的服务。
  IIS的安全配置 
  删除不必要的虚拟目录   
  IIS安装完成后在wwwroot下默认生成了一些目录,并默认设置了几个虚拟目录,包括IISHelp、IISAdmin、IISSamples、 MSADC等,它们的实际位置有的是在系统安装目录下,有的是在重要的Program files下,从安全的角度来看很不安全,而且这些设置实际也没有太大的作用,所以我们可以删除这些不必要的虚拟目录。 
  删除危险的IIS组件  
  默认安装后的有些IIS组件可能会造成安全威胁,应该从系统中去掉,以下是一些“黑名单”,大家可以根据自己的需要决定是否需要删除。  
   ● Internet服务管理器(HTML):这是基于Web 的IIS管理页面,一般情况下不应通过Web进行管理,建议卸载它。
   ● SMTP Service和NNTP Service:如果不打算使用转发和提供新闻组服务,就可以删除这两项,否则,可能因为它们的漏洞带来新的不安全。 
   ● 样本页面和脚本:这些样本中有些是专门为显示IIS的强大功能设计的,但同样可被用来从Internet上执行应用程序和浏览,建议删除。  


配置应用程序映射:IIS中默认存在很多种应用程序映射,如.htw、.ida、.idq、.、.cer、.cdx、.asa、.htr、.idc、.shtm、.shtml、.stm、.printer等,通过这些程序映射,IIS就能知道对于什么样的文件该调用什么样的动态链接库文件来进行解析处理。
删除所有不必要的应用程序扩展,只保留aspphpcgiplaspx应用程序扩展。对于phpcgi,推荐使用isapi方式解析,用exe
解析对和性能有所影响。

删除不必要的应用程序映射
  IIS中默认存在很多种应用程序映射,如.htw、.ida、.idq、.、.cer、.cdx、.asa、.htr、.idc、.shtm、.shtml、.stm、.printer等,通过这些程序映射,IIS就能知道对于什么样的文件该调用什么样的动态链接库文件来进行解析处理。但是,在这些程序映射中,除了.的这个程序映射,其它的文件在网站上都很少用到。而且在这些程序映射中,.htr、.idq/ida、.printer等多个程序映射都已经被发现存在缓存溢出问题,入侵者可以利用这些程序映射中存在的缓存溢出获得系统的权限。即使已经安装了系统最新的补丁程序,仍然没法保证安全。
  所以我们需要将这些不需要的程序映射删除。在“Internet服务管理器”中,右击网站目录,选择“属性”,在网站目录属性对话框的“主目录”页面中,点击“配置”按钮,弹出“应用程序配置”对话框,在“应用程序映射”页面,删除无用的程序映射,如果需要这一类文件时,必须安装最新的系统修补程序以解决程序映射存在的问题,并且选中相应的程序映射,再点击“编辑”按钮,在“添加/编辑应用程序扩展名映射”对话框中勾选“检查文件是否存在”选项,这样当客户请求这类文件时,IIS会先检查文件是否存在,文件存在后才会去调用程序映射中定义的动态链接库来解析。

 为IIS中的文件分类设置权限   
  除了在操作系统里为IIS的文件设置必要的权限外,还要在IIS管理器中为它们设置权限,以期做到双保险。一般而言,对一个文件夹永远也不应同时设置写和执行权限,以防止攻击者向站点上传并执行恶意代码。另外目录浏览功能也应禁止,预防攻击者把站点上的文件夹浏览个遍最后找到漏洞。一个好的设置策略是:为Web 站点上不同类型的文件都建立目录,然后给它们分配适当权限。例如:
  ● 静态文件文件夹:包括所有静态文件,如HTM 或HTML,给予允许读取、拒绝写的权限。
  ● 脚本文件夹:包含站点的所有脚本文件,如cgi、vbs、等等,给予允许执行、拒绝写和读取的权限。 
  ● EXE等可执行程序:包含站点上的二进制执行文件,给予允许执行、拒绝写和拒绝读取的权限。
   保护日志安全  
  方法一: 修改IIS日志的存放路径  
  方法二: 修改日志访问权限 (只有管理员才能访问) 
  日志是为管理员了解系统安全状况而设计的,其他用户没有必要访问,应将日志保存在NTFS分区上,设置为只有管理员才能访问。
  当然,如果条件许可,还可单独设置一个分区用于保存系统日志,分区格式是NTFS,这样除了便于管理外,也避免了日志与系统保存在同一分区给系统带来的安全威胁。如果IIS日志保存在系统分区中,入侵者使用软件让 IIS产生大量的日志,可能会导致日志填满硬盘空间,整个Windows系统将因为缺乏足够可用的硬盘空间而崩溃,为日志设置单独的分区则可以避免这种情况的出现。 
  通过以上的一些安全设置,相信你的WEB会安全许多。不过,需要提醒大家注意的是:不要认为进行了安全配置的主机就一定是安全的,我们只能说一台主机在某些情况下一定的时间内是安全的,随着网络结构变化、新漏洞的发现、用户操作,主机的安全状况是随时随地变化的,只有让安全意识贯穿整个过程才能做到真正的安全。


用户程序调试设置发送文本错误信息给户
对于数据库,尽量采用mdb后缀,不需要更改为asp
可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如C:WINNTsystem32inetsrvssinc.dll
来防止数据库被
设置IIS
的日志保存目录,调整日志记录信息。设置为发送文本错误信息。403错误页面,将其转向到其他页,可防止一些扫描器的探测。

另外为隐藏系统信息,防止telnet80端口所泄露的系统版本信息可修改IISbanner信息,可以使用winhex手工修改或者使用相关banneredit修改。


对于用户站点所在的目录,在此说明一下,用户的根目录下对应三个文件佳,wwwrootdatabaselogfiles,分别存放站点文件,数据库备份和该站点的日志。如果一旦发生入侵事件可对该用户站点所在目录设置具体的权限,图片所在的目录只给予列目录的权限,程序所在目录如果不需要生成文件(如生成html的程序)不给予写入权限。因为是虚拟主机平常对脚本安全没办法做到细致入微的地步,更多的只能在方法用户从脚本提升权限:


1 ASP
的安全设置
设置过权限和服务之后,asp还需要做以下工作,在cmd窗口运行以下命令:
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
即可将WScript.Shell, Shell.application, WScript.Network组件卸载,可有效防止asp木马通过wscriptshell.application执行命令以及使用木马查看一些系统敏感信息。另法:可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法。

2 FSO
对于FSO由于用户程序需要使用,服务器上可以不注销掉该组件,这里只提一下FSO的防范,但并不需要在自动开通空间的虚拟商服务器上使用,只适合于手工开通的站点。可以针对需要FSO和不需要FSO的站点设置两个组,对于需要FSO的用户组给予c:winntsystem32scrrun.dll文件的执行权限,不需要的不给权限。重新启动服务器即可生效。

对于这样的设置结合上面的权限设置,你会发现海阳木马已经在这里失去了作用!

3 PHP
的安全设置

默认安装的php需要有以下几个注意的问题:
C:\winnt\php.ini
只给予users读权限即可。在php.ini里需要做如下设置:
Safe_mode=on
register_globals = Off
allow_url_fopen = Off
display_errors = Off
magic_quotes_gpc = On [
默认是on,但需检查一遍
]
open_basedir =web
目录

disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod
默认设置com.allow_dcom = true修改为false[修改前要取消掉前面的;

4 MySQL
安全设置:
如果服务器上启用MySQL数据库,MySQL数据库需要注意的安全设置为:
删除mysql中的所有默认用户,只保留本地root帐户,为root用户加上一个复杂的密码。赋予普通用户updatedeletealertcreatedrop权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库操作的权限。检查mysql.user表,取消不必要用户的shutdown_priv,relo
ad_priv,process_priv
File_priv权限,这些权限可能泄漏更多的服务器信息包括非mysql的其它信息出去。可以为mysql设置一个启动用户,该用户只对mysql目录有权限。设置安装目录的data数据库的权限(此目录存放了mysql数据库的数据信息)。对于mysql安装目录给users加上读取、列目录和执行权限。

5 Serv-u
安全问题:
安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。修改serv-ubanner信息,设置被动模式端口范围(4001—4003)在本地服务器中设置中做好相关安全设置:包括检查匿名密码,禁用反超时调度,拦截“FTP bounce”攻击和
F,对于在30秒内连接超过3次的用户拦截10分钟。域中的设置为:要求复杂密码,目录只使用小写字母,高级中设置取消允许使用MDTM命令更改文件的日期。

更改serv-u的启动用户:在系统中新建一个用户,设置一个复杂点的密码,不属于任何组。将servu的安装目录给予该用户完全控制权限。建立一个FTP根目录,需要给予这个用户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是继承了该用户的权限,否则无法操作文件。另外需要给该目录以上的上级目录给该用户的读取权限,否则会在连接的时候出现
530 Not logged in, home y does not exist。比如在测试的时候ftp根目录为d:soft,必须给d盘该用户的读取权限,为了安全取消d盘其他文件夹的继承权限。而一般的使用默认的system启动就没有这些问题,因为system一般都拥有这些权限的。

6
数据库服务器的安全设置

对于专用的MSSQL数据库服务器,按照上文所讲的设置TCP/IP筛选和IP策略,对外只开放14335631端口。对于MSSQL首先需要为sa设置一个强壮的密码,使用混合身份验证,加强数据库日志的记录,审核数据库登陆事件的和失败”.删除一些不需要的和危险的OLE自动存储过程(会造成企业管理器中部分功能不能使用),这些过程包括如下:
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty

Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的访问过程,包括有:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue
Xp_regenumvalues Xp_regread Xp_regremovemultistring
Xp_regwrite
去掉其他系统存储过程,如果认为还有威胁,当然要小心Drop这些过程,可以在测试机器上测试,保证正常的系统能完成工作,这些过程包括:

xp_cmdshell xp_dirtree xp_dropwe
ask sp_addsrvrolemember
xp_makewebtask xp_runwebtask xp_subdirs sp_addlogin
sp_addextendedproc
在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例可防止对1434端口的探测,可修改默认使用的1433端口。除去数据库的guest账户把未经认可的使用者据之在外。 例外情况是master tempdb 数据库,因为对他们guest帐户是必需的。另外注意设置好各个数据库用户的权限,对于这些用户只给予所在数据库的一些权限。在程序中不要用sa用户去连接任何数据库。网络上有建议大家使用协议加密的,千万不要这么做,否则你只能重装MSSQL了。



保证IIS自身的安全性  

  IIS安全安装  

  在保证系统具有较高安全性的情况下,还要保证IIS的安全性。要构建一个安全的IIS,必须从安装时就充分考虑安全问题。  

  不要将IIS安装在系统分区上  

  默认情况下,IIS与操作系统安装在同一个分区中,这是一个潜在的安全隐患。因为一旦入侵者绕过了IIS的安全机制,就有可能入侵到系统分区。如果管理员对系统文件夹、文件的权限设置不是非常合理,入侵者就有可能篡改、删除系统的重要文件,或者利用一些其他的方式获得权限的进一步提升。将IIS安装到其他分区,即使入侵者能绕过IIS的安全机制,也很难访问到系统分区。   


 

阅读(1176) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~