WEB专用服务器的安全设置小记

以下是针对win2003 服务器下防范PHP木马的小计,如有不妥之处,恳请批评指出,谢谢

一、IIS的相关设置:

    删除默认建立的站点的虚拟目录,停止默认web站点,删除对应的文件目录c:inetpub,

    配置所有站点的公共设置,设置好相关的连接数限制,带宽设置以及性能设置等其他设置。

    配置应用程序映射,删除所有不必要的应用程序扩展,只保留asp,php,cgi,pl,aspx应用程序扩展,如果环境是php环境只保留php扩展,

    其他的全部删除。

    对于php和cgi,推荐使用isapi方式解析,用exe解析对安全和性能有所影响。用户程序调试设置发送文本错误信息给客户。

    对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件
   
    如C:\WINNT\system32\inetsrvssinc.dll来防止数据库被下载。设置IIS的日志保存目录,调整日志记录信息。

    设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。

    另外为隐藏系统信息,防止telnet到80端口所泄露的系统版本信息可修改IIS的banner信息,

    可以使用winhex手工修改或者使用相关软件如banneredit修改。

    对于用户站点所在的目录,在此说明一下,用户的FTP根目录下对应三个文件佳,wwwroot,database,logfiles,分别存放站点文件,

    数据库备份和该站点的日志。

    如果一旦发生入侵事件可对该用户站点所在目录设置具体的权限,图片所在的目录只给予列目录的权限,
     
                                                              程序所在目录如果不需要生成文件(如生成html的程序)不给予写入权限。
  
    因为是虚拟主机平常对脚本安全没办法做到细致入微的地步,更多的只能在方法用户从脚本提升权限:


二、PHP的安全设置:

    默认安装的php需要有以下几个注意的问题:

    C:\winnt\php.ini(具体视你的路径而定)只给予users读权限即可。在php.ini里需要做如下设置:

    ####################################################################################### 
    Safe_mode=on

    php的safe_mode功能对很多函数进行了限制或禁用了,能在很大程度解决php的安全问题。

    这样就打开了safe_mode功能。象一些能执行系统命令的函数shell_exec()和``被禁止,

    其它的一些执行函数如:exec(), system(), passthru(), popen()将被限制只能执行

    safe_mode_exec_dir指定目录下的程序。如果你实在是要执行一些命令或程序,找到以下:

    safe_mode_exec_dir =
 

    指定要执行的程序的,如:

    safe_mode_exec_dir = 路径

    然后把要用的程序拷到  路径 目录下,这样,象上面的被限制的函数还能执行该目录里的程序。

    #########################################################################################
  
    
  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,eval,phpinfo

        disable_functions =  

        在=后面加上要禁止的函数,多个函数用","隔开。
     
    #############################################################################################


        默认设置com.allow_dcom = true修改为false[修改前要取消掉前面的;]

    
    #############################################################################################


三、MySQL安全设置:

  如果服务器上启用MySQL数据库,MySQL数据库需要注意的安全设置为:

  删除mysql中的所有默认用户,只保留本地root帐户,为root用户加上一个复杂的密码。
   
        赋予普通用户update delete alert create drop权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库操作的权限。

        检查mysql.user表,取消不必要用户的shutdown_priv,relo ad_priv,process_priv和File_priv权限,

        这些权限可能泄漏更多的服务器信息包括非mysql的其它信息出去。

  
        可以为mysql设置一个启动用户,该用户只对mysql目录有权限。设置安装目录的data数据库的权限(此目录存放了mysql数据库的数据信息)。

        对于mysql安装目录给users加上读取、列目录和执行权限。

四、Serv-u安全问题:

        安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。

       修改serv-u的banner信息,设置被动模式端口范围(4001—4003)

  在本地服务器中设置中做好相关安全设置:包括检查匿名密码,禁用反超时调度,拦截“FTP bounce”攻击和FXP,对于在30秒内连接超过3次的用户拦截10分钟。
  
       域中的设置为:要求复杂密码,目录只使用小写字母,高级中设置取消允许使用MDTM命令更改文件的日期。

  更改serv-u的启动用户:在系统中新建一个用户,设置一个复杂点的密码,不属于任何组。将servu的安装目录给予该用户完全控制权限。建立一个FTP根目录,需要给予这个用

       户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是继承了该用户的权限,否则无法操作文件。另外需要给该目录以上的上级目录给该用户的读取权限,

       否则会在连接的时候出现530 Not logged in, home directory does not exist。比如在测试的时候ftp根目录为d:soft,必须给d盘该用户的读取权限,为了安全取消d盘其

      他文件夹的继承权限。而一般的使用默认的system启动就没有这些问题,因为system一般都拥有这些权限的。

五、操作系统方面,

       我把所有的驱动器都设置成了administrators和system有所有访问权限,users只对c盘有访问权限,去掉users对c盘的写入和修改权限,其他用户组都去掉。

       然后对C盘的几个殊目录分别设置权限,比如C:\Documents and Settings\All Users\Application Data目录,C:\WINDOWS\system32\inetsrv目录,还有cmd.exe , 
    
       command.com除administrators和system用户组外没有任何访问执行权限。另外,最好不要用FTP和3389,因为口令都是明文传输,可以嗅探破解。

        最好用有加密方式的同等功能的软件替代

       对溢出攻击的安全防范:

        关闭139端口,停掉icp/ip netbios服务。

       在本地连接的属性窗口中tcp/ip协议中的高级选项里"禁用tcp/ip上的netbios(s)"因为很多溢出都是利用的这个通道

六、安装杀毒软件和防火墙(软件使用,按照你熟悉的软件去操作)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值