快捷搜索:   nginx

虚拟主机安全配置与优化

文章作者:小胖子
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

前言:最近刚到网络公司担当系统管理员,下面就依照自己的经验和环境做一下Win2000服务器的安全配置和优化。

以下是我虚拟主机的操作系统和服务器软件:
OS:Win2k Advancd Server
ftp server:Serv-u 6.0.2
www server: IIS
mail server: WebEasyMail 3.5.3.1 企业版
防火墙:天网防火墙个人破解版
杀毒软件:McAfee VirusScan Enterprise 8.0.i版
远程管理软件:Terminal Services终端服务

下面我来说一下从安装系统、安装服务器应用程序、安全设置和优化的过程。

1.硬盘分区和安装系统

关于分区我强烈建议大家选择NTFS文件格式,不仅NTFS文件系统可以给我们带来很高的安全性,而且对于

做WEB服务的虚拟主机来说磁盘配额很最要.还有文件和文件夹的压缩都给我们这些系统管理员提供了很高

便利性。
在分区之前和大家说一下,一定要合理的设置分区。合理的分区不仅可以给我们带来工作的方便,还可以

提高系统的安全和稳定性。我的硬盘一共分了5个区(120G)。
C盘用来装操作系统的文件。D盘用来存储各个WEB站点的文件。E盘用来保存IIS日志文件、Internet临时文

件夹和页面文件。F盘用来装应用程序。就是说所有的应用程序都安装在F盘里。G盘用来保存备份文件和一

些常用的工具。大家可以根据自己的情况合理的设置分区,而不必一一对应。下面就是安装系统了,在安

装系统的时候组件的选择一定要仅仅安装自己需要的组件,而一些用不到的组件我们不要安装。那些用不

到的组件会给我们带来一些意想不到的“惊喜”。在安装IIS的时候把FrontPage2000服务器扩展、Inetern

et服务管理器(HTML)、NNTP Server、SMTP Server、文件传输协议(FTP)服务器的复选框去掉。以保证这些

用不到的服务不会给我们带来安全隐患。
把Internet临时文件夹移动到非系统分区中,如我的设置是E盘: Internet Explorer-右击-

属性-Ineternet临时文件-设置-移动文件夹,选择相应的分区。
把虚拟内存页面文件移动到到非系统分区中,,如我的设置是E盘:我的电脑-右击-属性-高级选项卡-性能选

项-更改,设置初始大小和最大值,重启计算机。注意:以上两项操作都必需重启后生效。

2.为用户提供正常的服务。

在D盘里面为各个WEB站点建立相应的文件夹,以保证各个站点的文件存储在相应的文件夹中。在IIS里面建

立相应的WEB站点、设置和相应的主机头、主目录、端口、IP地址。对应的在Serv-u里面建立相应的用户,

以指向各自的WEB文件夹中,以便日后维护上传、下载的需要。在WebEasyMail里面设置相应的各个域的邮

件用户、和容量等。关于服务器软件的安装问题,请您自己参考相应的文章。

3.服务的配置

在Windows里面有很多服务,这些服务都是为了不同的需求而提供的。在这里我们要根据自己的环境来配置

服务,禁用那些不要的服务.老生常谈的一句话:"最少的服务+最小权限=最大的安全".
禁用那些用不到的服务:Alerter、ClipBook、Computer Browser、 Distributed File System、Indexing

Service、Internet Connection Sharing、Messenger、NetMeeting Remote Desktop Sharing、Print

Spooler、Remote Registry Service、Smart Card、Task Scheduler、TCP/IP NetBIOS Helper Service、

Telnet、Windows Time、Workstation.关于为什么禁用Workstation服务我会在下面说到。

3.端口的配置

下面我来说一下怎样关闭常见的危险端口和一些无用的共享,如:默认共享。
在本地连接-属性中,把"Microsoft网络的文件和打印机共享"卸载掉。
在选定的组件中之留下TCP/IP协议和Microsoft网络客户端.大家可能会说为什么要留Microsoft网络客户端

,根据前几天的调试,如果不装它的话,重新启动IIS的时候会提示“服务不能启动,无法验证的服务”。
选中TCP/IP协议-属性-高级-WINS-禁用TCP/IP上的Netbios选项。
把HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DCI,Timeout双字节值改为

0。建议大家设为0.这个键值对玩游戏有用,做虚拟主机我们用不到。
把HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa项下的数值restrictanonymous,由0改为1


在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters项下新建双字节

值AutoShareServer值为0。
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters项下新建双字节值SMBDev

iceEnabled值为0。
在防火墙中添加IP规则,允许21、25、80、110。禁止135端口。最后启动禁止所有别的端口的通过。
我们也可以通过系统自带的本地安全策略和TCP/IP筛选来设置相应打开和关闭的端口。

4.IIS和权限设置

为了使IIS运行的更稳定和安全我们需要修改它,如:删除一些不用的映射、日志的设置等。
下面是我的IIS的设置情况:
Internet信息服务-计算机名称-属性-WWW服务(编辑)-主目录-配置-应用程序映射,删除下面的应用程序映

射:.htr、.idc、.printer、.cer、.shtm、.stm 、.cdx 。只保留.asp和.asa映射。对一般的应用比如运

行ASP,已经够用了。多出那些无用的安全映射会给系统带来不必要的麻烦。
在进程选项卡的脚本文件高速缓存中把放入高速缓存的最多ASP文件数设成300,以改善ASP文件的执行效率

。在应用程序调试选项卡中选中"发送文本错误消息给客户"以防止通过错误消息来取得系统、网络、数据

库的信息。
在Internet信息服务-计算机名称-属性-WWW服务(编辑)-服务选项卡选中HTTP压缩的压缩静态文件,提高执

行效率。
在一个非系统分区中建立日志文件夹,来保存各个站点的日志。如我设置的分区是E,在分区中建立IISlog

目录,用它来保存各个站点的日志文件,而不用系统默认的路径。把各个站点的日志指向IISlog文件夹中。
设置如下:Internet服务管理器-Web站点-属性-Web站点选项卡-活动日志格式-属性-日志文件目录,把日

志指向IISlog文件夹中。以便于以后我们查看日志的方便。
为了保证系统的安全和各个站点FSO,在本地用户和组中为各个站点用户创建相应的用户,设置相应的密码,

并把所属的默认组User删去,加入到guests组中。在各个Web站点的属性-目录安全性-匿名访问和验证控制

-编辑-匿名访问使用帐号的对话框中选中自己站点相对应的用户帐户.我们在D盘各个站点文件夹的属性-安

全选项卡去掉父系继承来的权限,把这个文件夹的访问权限设成redblood(这个用户是我改名后的管理员,

我会在后面提到的)完全控制(FC)、SYSTEM(FC)、和Web站点对应用户的修改、读取及运行、列出文件夹目

录、读取、写入权限。这样当其中的一个WEB站点被上传ASP木马,就不会危害其它的站点,因为他只有这

个Web站点的权限而没有其它站点权限。
把各个分区的权限设成只有redblood和system完全控制.但是要注意一点,如果你的页面文件通过设置而放

到其它的分区中,比如我放到了E盘中,你除了给这个分区redblood、system的完全控制权限外还必须给这

个分区everyone的读权限,否则重启的时候会报错!
在C:\Program Files\Common Files文件夹属性对话框安全选项卡中,取消"允许将来自父系的可继承权限

传播给该对象",访问权限设成redblood、system完全控制,everyone读取及运行、列出文件夹目录、读取

。因为ASP连接数据库的时候会用到这个目录。然后把WINNT目录也按照同样的方法来设置成和Common

Files文件夹同样的权限。
我们还要特殊设置一个目录那就是C:\WINNT\Temp,这个目录的访问权限是everyone修改、读取及运行、列

出文件夹目录、读取、写入。
把如下文件设置成只有redblood完全控制权限,取消父系继承来的权限。这些文件有:C:\winnt\sytem32

文件夹和C:\winnt\sytem32\dllcache文件夹的net.exe、net1.exe、netstat、netsh、cacls、cmd.exe、f

tp.exe、tftp.exe、at.exe、format.com、xcopy.exe.
把装应用程序的目录我这里是f:\soft目录的访问权限设成redblood、system完全控制和everyone读取、读

取和运行、列出文件夹目录的权限。
禁用一些不安全的组件,如:Scripting.FileSystemObject、WScript.Shell、Shell.Application组件。
Scripting.FileSystemObject组件:
我们可以修改对应项在注册表里面的名称和值:
HKEY_CLASSES_ROOT\Scripting.FileSystemObject\
HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\项目的值
WScript.Shell组件:
HKEY_CLASSES_ROOT\WScript.Shell\
HKEY_CLASSES_ROOT\WScript.Shell.1\
HKEY_CLASSES_ROOT\WScript.Shell\CLSID\项目的值
HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\项目的值
Shell.Application组件:
HKEY_CLASSES_ROOT\Shell.Application\
HKEY_CLASSES_ROOT\Shell.Application.1\
HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值
HKEY_CLASSES_ROOT\Shell.Application.1\CLSID\项目的值
因为在前里我们已经单独的设置相应的Web站点,所以不必修改Scripting.FileSystemObject(fso)组件。
在这里我直接注销下面两个组件:
regsvr32 /u C:\WINNT\System32\wshom.ocx对应于WScript.Shell组件。
regsvr32/u C:\WINNT\System32\shell32.dll对应于Shell.Application组件。
禁止guests组的用户调用它:
cacls C:\WINNT\system32\scrrun.dll /e /d guests
cacls C:\WINNT\system32\shell32.dll /e /d guests
前面在服务设置的时候我把Workstation服务禁用了,因为ASP木马运行候可以通过它来列出系统的用户和

进程。所以为了安全考虑我们禁用它。

5.修改注册表提高系统安全和性能

下面我使用注册表和组策略一起来设置系统。
开始-运行-gpeidt.msc打开组策略,计算机配置-Windows配置-安全设置-帐户策略-密码策略.
下面是我的策略设置:

密码策略
密码必须符合复杂性要求:启用
密码长度最小值:8个字符
密码最长存留期:30天
密码最短存留期:3天
强制密码历史:5个记住的密码

帐户锁定策略设置
复位帐户锁定计数器:20分钟之后
帐户销定时间:20分钟
帐户锁定阀值:5次无效登录

计算机配置-Windows配置-安全设置-本地策略,审核策略设置:
审核策略更改:成功、失败
审核登录事件:成功、失败
审核对象访问:失败
审核过程追踪:无审核
审核目录服务访问:无审核
审核特权使用:失败
审核系统事件:失败
审核帐户登录事件:成功、失败
审核帐户管理:成功、失败

计算机配置-Windows配置-安全设置-本地策略-用户权限指派
更改系统时间:administrators
关闭系统:administrators
管理审核和安全日志:administrators

计算机配置-Windows配置-安全设置-本地策略-安全选项
登录屏幕上不要显示上次登录的用户名:已启用
对匿名连接的额个限制:不允许枚举 SAM 帐号和共享
故障恢复控制台:允许对所以驱动器和文件夹进行软盘复制和访问:已启用
在关机时清理虚拟内存页面交换文件:已启用
重命名来宾帐户:我命名成administrator。
重命名系统管理员帐户:redblood
在本地用户和组中把来宾用户和系统管理员的描述互换一下,这样可以起一个迷惑的作用。算是一个很无

聊的小把戏吧。我们再添加一个系统管理员帐户,这样可以防止如果忘记了口令可以及时的恢复系统,如

果骇客进入系统改了密码,我们可以很快的取得系统的控制权。大家一定要给系统管理员设置一个强壮的密

码,最少也得8位以上,由大小字母+数字组成。

通过修改系统注册表的自启动项目把一些无用的启动项删除掉,以下是常见的各启动项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Runonce
以上这几个启动项是木马出现很频繁的地方,大家以后维护的时候多注意一些。

6.FTP服务器配置

FTP服务器除了对所在的文件夹设置权限之外,还可以修改一下Banner,这种方法可以迷惑一些骇客,让他

在表面上认为我们的FTP的服务器不是Serv-u,下面我说一下设置的方法:
右键单击托盘区的Serv-u图标,启动管理员-本地服务器-域-设置-常规-消息选项卡的服务器响应消息下,将

服务器ID文本设为:"Welcome Wu-Ftpd V2.6.2 for SCO Unix." 在HELP命令回复下设置成:"Direct

comments or bugs to [email protected]. 我们在给FTP服务器启动的时候设上密码。这样启动Serv-u的时候

就会让我们输入密码。

7.远程控制配置

这里我选用Win系统自带的远程控制软件终端服务,选择远程管理模式。为远程登录启动日志记录:
开始-程序-管理工具-终端服务配置-连接-rdp/tcp-右键-属性-权限-添加administrators组-高级-审核-添

加everyone组,选择审核的项目为登录和注销。

8.防火墙、杀毒软件和补丁

天网防火墙和McAfee都有设置启动密码的功能,我们都设成相应的密码。这个可以保证别人不会更改我们

的密码。最后就是打补丁,我们一定要及时的升级自己的系统,以防那些恶意的骇客利用系统的漏洞攻击我们。接着我们把防火墙和杀毒软件都升级到最新的版本,以减少那些恶意的网络攻击和病毒攻击。

总结:网络服务器的维护工作看着简单,但是每一个步骤都关系着整个系统的安危,整个服务器的安

装、配置和维护都是一个系统工程,我们必须用心去对待它,及时的查看日志,常给系统打补丁,升级

防火墙和杀毒软件的病毒库,每个动作都是一些基本的工作,但是我们必须重视它,因为他直接关系到我们系统的安全和稳定性。我们要做一个勤快的管理员,做一个用心的管理员。

以上文章是我个人的设置过程,因为时间和能力有限所以一些遗漏在所难免,如有说错的地方也大家提出宝贵的意见.

E-mail:[email protected] QQ:89243110

您对本文有任何问题可以来信或者QQ在线与作者进行交流。
顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论