有史以来最好的windows 虚拟主机安全配置

跨站攻击,远程控制等等是再老套不过了的话题。有些虚拟主机管理员不知是为了方便还是不熟悉配置,干脆就将所有的网站都放在同一个目录中,然后将上级目录设置为站点根目录。有些呢,则将所有的站点的目录都设置为可执行、可写入、可修改。有些则为了方便,在服务器上挂起了QQ,也装上了BT.更有甚者,竟然把Internet来宾帐号加入到Administrators组中!汗……!普通的用户将自己的密码设置为生日之类的6位纯数字,这种情况还可以原谅,毕竟他们大部分都不是专门搞网络研究的,中国国民的安全意识提高还需要一段时间嘛,但如果是网络管理员也这样,那就怎么也有点让人想不通了。
这里就我个人过去的经历和大家一同来探讨有关安全虚拟主机配置的问题。以下以建立一个站点cert.ecjtu.jx.cn为例,跟大家共同探讨虚拟主机配置问题。
一、建立Windows用户
为每个网站单独设置windows用户帐号cert,删除帐号的User组,将cert加入Guest用户组。将用户不能更改密码,密码永不过期两个选项选上。
二、设置文件夹权限
1、设置非站点相关目录权限
Windows安装好后,很多目录和文件默认是everyone可以浏览、查看、运行甚至是可以修改 的。这给服务器安全带来极大的隐患。这里就我个人的一些经验提一些在入侵中较常用的目录。

以上这些目录或文件的权限应该作适当的限制。如取消Guests用户的查看、修改和执行等权限。由于篇幅关系,这里仅简单提及。
2、设置站点相关目录权限:
A、设置站点根目录权限:将刚刚建立的用户cert给对应站点文件夹,假设为D:cert设置相应的权限:Adiministrators组为完全控制;cert有读取及运行、列出文件夹目录、读取,取消其它所有权限。
B、设置可更新文件权限:经过第1步站点根目录文件夹权限的设置后,Guest用户已经没有修改站点文件夹中任何内容的权限了。这显然对于一个有更新的站点是不够的。这时就需要对单独的需更新的文件进行权限设置。当然这个可能对虚拟主机提供商来说有些不方便。客户的站点的需更新的文件内容之类的可能都不一样。这时,可以规定某个文件夹可写、可改。如有些虚拟主机提供商就规定,站点根目录中uploads为web可上传文件夹,data或者 database为数据库文件夹。这样虚拟主机服务商就可以为客户定制这两个文件夹的权限。当然也可以像有些做的比较好的虚拟主机提供商一样,给客户做一个程序,让客户自己设定。可能要做到这样,服务商又得花不小的钱财和人力哦。
基本的配置应该大家都会,这里就提几个特殊之处或需要注意的地方。
1、主目录权限设置:这里可以设置读取就行了。写入、目录浏览等都可以不要,最关键的就是目录浏览了。除非特殊情况,否则应该关闭,不然将会暴露很多重要的信息。这将为黑客入侵带来方便。其余保留默认就可以了。
2、应用程序配置:在站点属性中,主目录这一项中还有一个配置选项,点击进入。在应用程序映射选项中可以看到,默认有许多应用程序映射。将需要的保留,不需要的全部都删除。在入侵过程中,很多程序可能限制了asp,php等文件上传,但并不对cer,asa等文件进行限制,如果未将对应的应用程序映射删除,则可以将 asp的后缀名改为cer或者asa后进行上传,木马将可以正常被解析。这也往往被管理员忽视。另外添加一个应用程序扩展名映射,可执行文件可以任意选择,后缀名为。mdb.这是为了防止后缀名为mdb的用户数据库被下载。
3、目录安全性设置:在站点属性中选择目录安全性,点击匿名访问和验证控制,选择允许匿名访问,点击编辑。如下图所示。删除默认用户,浏览选择对应于前面为cert网站设定的用户,并输入密码。可以选中允许IIS控制密码。这样设定的目的是为了防止一些像站长助手、海洋等木马的跨目录跨站点浏览,可以有效阻止这类的跨目录跨站入侵。
4、可写目录执行权限设置:关闭所有可写目录的执行权限。由于程序方面的漏洞,目前非常流行上传一些网页木马,绝大部分都是用web进行上传的。由于不可写的目录木马不能进行上传,如果关闭了可写目录的执行权限,那么上传的木马将不能正常运行。可以有效防止这类形式web入侵。
5、处理运行错误:这里有两种方法,一是关闭错误回显。IIS属性――主目录――配置――应用程序调试――脚本错误消息,选择发送文本错误信息给客户。二是定制错误页面。在IIS属性――自定义错误信息,在http错误信息中双击需要定制的错误页面,将弹出错误映射属性设置框。消息类型有默认值、URL和文件三种,可以根据情况自行定制。这样一方面可以隐藏一些错误信息,另外一方面也可以使错误显示更加友好。
三、配置FTP
Ftp是绝大部分虚拟主机提供商必备的一项服务。用户的站内文件大部分都是使用ftp进行上传的。目前使用的最多的ftp服务器非Serv-U莫属了。这里有几点需要说明一下。
1、管理员密码必须更改
如果入侵爱好者们肯定对Serv-U提权再熟悉莫过了。这些提权工具使用的就是Serv-U默认的管理员的帐号和密码运行的。因为Serv-U管理员是以超级管理员的身份运行的。如果没有更改管理员密码,这些工具使用起来就再好用不过了。如果更改了密码,那这些工具要想正常运行,那就没那么简单喽。得先破解管理员密码才行。
2、更改安装目录权限
Serv-U的默认安装目录都是everyone可以浏览甚至可以修改的。安装的时候如果选择将用户信息存储在ini文件中,则可以在ServUDaemon.ini得到用户的所有信息。如果Guests有修改权限,那么黑客就可以顺利建立具有超级权限的用户。这可不是一件好事。所以在安装好Serv-U之后,得修改相应的文件夹权限,可以取消Guests用户的相应权限。
四、命令行相关操作处理
1、禁止guests用户执行com.exe:
我们可以通过以下命令取消guests执行com.exe的权限
cacls C:WINNTsystem3Cmd.exe /e /d guests.
2、禁用Wscript.Shell组件:
Wscript.Shell可以调用系统内核运行DOS基本命令。可以通过修改注册表,将此组件改名,来防止此类木马的危害。 HKEY_CLASSES_ROOTWscript.Shell 及HKEY_CLASSES_ROOTWscript.Shell.1改名为其它的名字。将两项clsid的值也改一下 HKEY_CLASSES_ROOTWscript.ShellCLSID项目的值和HKEY_CLASSES_ROOT Wscript.Shell.1CLSID项目的值,也可以将其删除。
3、禁用Shell.Application组件
Shell.Application也可以调用系统内核运行DOS基本命令。可以通过修改注册表,将此组件改名,来防止此类木马的危害。 HKEY_CLASSES_ROOTShell.Application 及HKEY_CLASSES_ROOTShell.Application.1 改名为其它的名字。将HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值 HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值更改或删除。同时,禁止Guest用户使用 shell32.dll来防止调用此组件。使用命令:cacls C:WINNTsystem32shell32.dll /e /d guests
4、FileSystemObject组件
FileSystemObject可以对文件进行常规操作可以通过修改注册表,将此组件改名,来防止此类木马的危害。对应注册表项为HKEY_CLASSES_ROOT scripting.FileSystemObject.可以禁止guests用户使用或直接将其删除。考虑到很多的上传都会使用到这个组件,为了方便,这里不建议更改或删除。
5、禁止telnet登陆
在C:WINNTsystem32目录下有个login.cmd文件,将其用记事本打开,在文件末尾另取一行,加入exit保存。这样用户在登陆telnet时,便会立即自动退出。
注:以上修改注册表操作均需要重新启动WEB服务后才会生效。
五、端口设置
端口窗体底端就是门,这个比喻非常形象。如果我们服务器的所有端口都开放的话,那就意味着黑客有好多门可以进行入侵。所以我个人觉得,关闭未使用的端口是一件重要的事情。在控制面板――网络与拨号连接――本地连接――属性 ――Internet协议(TCP/IP)属性,点击高级,进入高级TCP/IP设置,选择选项,在可选的设置中选择TCP/IP筛选,启用TCP/IP 筛选。添加需要的端口,如21、80等,关闭其余的所有未使用的端口。
六、关闭文件共享
系统默认是启用了文件共享功能的。我们应给予取消。在控制面板――网络和拨号连接――本地连接――属性,在常规选项种,取消Microsoft 网络文件和打印共享。服务最少原则是保障安全的一项重要原则。非必要的服务应该给予关闭。系统服务可以在控制面板――管理工具――服务中进行设定。
七、关闭非必要服务
类似telnet服务、远程注册表操作等服务应给予禁用。同时尽可能安装最少的软件。这可以避免一些由软件漏洞带来的安全问题。有些网管在服务器上安装QQ,利用服务器挂QQ,这种做法是极度错误的。
八、关注安全动态及时更新漏洞补丁
更新漏洞补丁对于一个网络管理员来说是非常重要的。更新补丁,可以进一步保证系统的安全。

(0)

相关推荐

  • 有史以来最好的windows 虚拟主机安全配置

    跨站攻击,远程控制等等是再老套不过了的话题.有些虚拟主机管理员不知是为了方便还是不熟悉配置,干脆就将所有的网站都放在同一个目录中,然后将上级目录设置为站点根目录.有些呢,则将所有的站点的目录都设置为可执行.可写入.可修改.有些则为了方便,在服务器上挂起了QQ,也装上了BT.更有甚者,竟然把Internet来宾帐号加入到Administrators组中!汗--!普通的用户将自己的密码设置为生日之类的6位纯数字,这种情况还可以原谅,毕竟他们大部分都不是专门搞网络研究的,中国国民的安全意识提高还需要一

  • Windows虚拟主机与VPS如何实现301重定向(asp.net)

    301重定向这么重要,那么如何实现301重定向呢?卢松松在他的<详解301永久重定向实现方法>一文中介绍了多种实现301重定向的方法,但里面的方法对于使用Windows虚拟主机或是Windows VPS的朋友来说,除了单个页面设置重定向可以用上,IIS 服务器实现整站301重定向的方法却无法应用.因为很多的虚拟主机和VPS的提供商不支持用户去做301重定向.本人遇到了这个问题,非常困扰.搜索了很多的资料,或是在论坛.知名SEO博客询问,得到的建议是:虚拟主机通常没办法做301重定向,建议使用独

  • apache虚拟主机的配置指南

    一.检查apache虚拟主机模块 apache要配置虚拟主机,就需要先查看apache是否编译vhost_alias_module模块.当然apache默认是已经编译该模块的,我们可以通过以下命令查看是否已经编译模块,如下: /usr/local/apache2/bin/apachectl -M 二.开启apache虚拟主机功能 要开启apache虚拟主机功能,我们需要修改apache配置文件http.conf.打开apache的安装目录,找到httpd.conf文件,去掉Include con

  • 什么是WebsitePanel(基于windows虚拟主机管理系统)

    WebsitePanel是一套比较容易上手的Windows系统中的虚拟主机管理系统.他可以同时管理多台服务器,并且拥有一个简洁的.稳定的统一管理界面.通过这个界面,我们可以在浏览器上管理所有的FTP账号.网站.邮箱以及数据库等,国外类似的虚拟主机管理系统还有DirectAdmin,两者在国外使用范围都很广泛. WebsitePanel的前身是DotNetPanel,之前是付费软件,被微软公司收购后变成了免费的开源软件.软件由主控端和客户端构成,可以在线自动开通空间,邮箱,SQL2000,SQL2

  • Apache虚拟主机的配置和泛域名解析实现代码

    虚拟主机的配置 基于IP地址的虚拟主机配置 Listen 80 DocumentRoot /www/jb51 ServerName www.jb51.net DocumentRoot /www/jb512 ServerName www.jb512.org 基于IP和多端口的虚拟主机配置 Listen 172.20.30.40:80 Listen 172.20.30.40:8080 Listen 172.20.30.50:80 Listen 172.20.30.50:8080 DocumentRo

  • Nginx虚拟主机的配置步骤过程全解

    目录 一.Nginx虚拟主机的配置 二.日志的配置 三.Nginx缓存配置 四.Nginx的gzip压缩配置 五.Nginx自动列目录配置 一.Nginx虚拟主机的配置 虚拟主机:通常情况下,为了使每个服务器可以供更多用户使用,可以将一个服务器分为很多虚拟的子服务器,每个子服务器都是互相独立的.这些服务器是根据虚拟化技术分出来的,这样,一台服务器就可以虚拟成很多台子服务器.我们把子服务器叫做虚拟主机.我们搭建好Nginx服务器之后,此时只有一台Nginx服务器,这时如果我们对这台服务器进行虚拟主

  • XAMPP下使用顶级域名绑定虚拟主机的配置方法和示例

    有时候你需要一些顶级域名访问方式来访问你本地的项目,这时候就需要配置虚拟主机,给你的目录绑定一个域名,实现多域名绑定访问.(本地的话可以通过修改 hosts 文件随便绑定什么域名比如 www.a.com 或者 localdemo). 现在假定你有两个目录,一个存在于 /xampp/htdocs/a,另一个存在于 /xampp/htdocs/b . 现在你想要在本地测试的时候访问 www.a.com 对应的目录是 /xampp/htdocs/a ,访问 www.b.com 对应的目录是 /xamp

  • apache 虚拟主机的配置方法

    方法一: 首先打开apache中conf下的http.conf文件打开虚拟主机的注释:如下去掉第二行前面的#即可 # Virtual hosts # Include conf/extra/httpd-vhosts.conf 再打开conf目录下的extra目录中的httpd-vhosts.conf文件 在文件最后面加上 <VirtualHost *:80>//你的虚拟主机所使用的端口号 ServerAdmin webmaster@dummy-host2.localhost //虚拟主机的管理员

  • 如何通过Apache在本地配置多个虚拟主机

    如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的"域名"来访问本地不同的站点呢? 一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/system32/drivers/etc/hosts 文件中默认有一个: 127.0.0.1 localhost 当我们在浏览器地址栏键入: http://localhost 的时候,会显示出服务器根目录中的许多文件夹(若你的根目录不是只有一个站点的话),就像: Index of / * B

  • nginx配置虚拟主机vhost的方法详解

    前言 所谓虚拟主机,是说通过几个不同的url地址,都能到达nginx环境,只不过针对不同的url,处理的逻辑不同. nginx支持虚拟主机,但是浏览器等客户端不知道,所以虚拟主机的几个地址,应该是都指向nginx所在的ip地址,虚拟主机功能才能正常. 环境 系统环境:CentOS6.7 nginx version: nginx/1.8.1 方案 例如配置文件位于: /opt/nginx/conf/nginx.conf 在http {}的最后,添加如下行: include vhosts/*.con

随机推荐