当前位置:首页 >> 服务器

win2003服务器安全设置完全版(脚本之家补充)

其实很多朋友经常搜索一些关于2003的资料都会来到但缺少一系列的文章列表,稍后我们会以专题的方式整理一下,下面就为大家分享一下win2003服务器的安全设置注意事项与步骤。

首先 服务器的安全一般分为: 系统安全设置、web安全(web服务器与程序)、数据库安全(低权限运行)

一、服务器系统安全

第一步:

一、先关闭不需要的端口

我比较小心,先关了端口。只开了3389(远程端口) 21(FTP) 80(WEB) 1433(SQL server) 3306(MYSQL)有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接--属性--Internet协议(TCP/IP)--高级--选项--TCP/IP筛选--属性--把勾打上 然后添加你需要的端口即可。PS一句:设置完端口需要重新启动!

当然大家也可以更改远程连接端口方法:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp]

"PortNumber"=dword:00002683

保存为.REG文件双击即可!更改为9859,当然大家也可以换别的端口, 直接打开以上注册表的地址,把值改为十进制的输入你想要的端口即可!重启生效!

还有一点,在2003系统里,用TCP/IP筛选里的端口过滤功能,使用FTP服务器的时候,只开放21端口,在进行FTP传输的时候,FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。所做FTP下载的用户看仔细点,表怪俺说俺写文章是垃圾...如果要关闭不必要的端口,在//system32//drivers//etc//services中有列表,记事本就可以打开的。如果懒惰的话,最简单的方法是启用WIN2003的自身带的网络防火墙,并进行端口的改变。功能还可以!Internet 连接防火墙可以有效地拦截对Windows 2003服务器的非法入侵,防止非法远程主机对服务器的扫描,提高Windows 2003服务器的安全性。同时,也可以有效拦截利用操作系统漏洞进行端口攻击的病毒,如冲击波等蠕虫病毒。如果在用Windows 2003构造的虚拟路由器上启用此防火墙功能,能够对整个内部网络起到很好的保护作用。

二、关闭不需要的服务 打开相应的审核策略

我关闭了以下的服务

Computer Browser 维护网络上计算机的最新列表以及提供这个列表

Task scheduler 允许程序在指定时间运行

Routing and Remote Access 在局域网以及广域网环境中为企业提供路由服务

Removable storage 管理可移动媒体、驱动程序和库

Remote Registry Service 允许远程注册表操作

Print Spooler 将文件加载到内存中以便以后打印。要用打印机的朋友不能禁用这项

IPSEC Policy Agent 管理IP安全策略以及启动ISAKMP/OakleyIKE)和IP安全驱动程序

Distributed Link Tracking Client 当文件在网络域的NTFS卷中移动时发送通知

Com+ Event System 提供事件的自动发布到订阅COM组件

Alerter 通知选定的用户和计算机管理警报

Error Reporting Service 收集、存储和向 Microsoft 报告异常应用程序

Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息

Telnet 允许远程用户登录到此计算机并运行程序

把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和标准上来说,多余的东西就没必要开启,减少一份隐患。

在"网络连接"里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。在高级选项里,使用"Internet连接防火墙",这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。

在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,你需要根据情况在这二者之间做出选择。

推荐的要审核的项目是:

登录事件 成功 失败

账户登录事件 成功 失败

系统事件 成功 失败

策略更改 成功 失败

对象访问 失败

目录服务访问 失败

特权使用 失败

三、磁盘权限设置

1.系统盘权限设置

C:分区部分:

c:/

administrators 全部(该文件夹,子文件夹及文件)

CREATOR OWNER 全部(只有子文件来及文件)

system 全部(该文件夹,子文件夹及文件)

IIS_WPG 创建文件/写入数据(只有该文件夹)

IIS_WPG(该文件夹,子文件夹及文件)

遍历文件夹/运行文件

列出文件夹/读取数据

读取属性

创建文件夹/附加数据

读取权限

c:/Documents and Settings

administrators 全部(该文件夹,子文件夹及文件)

Power Users (该文件夹,子文件夹及文件)

读取和运行

列出文件夹目录

读取

SYSTEM全部(该文件夹,子文件夹及文件)

C:/Program Files

administrators 全部(该文件夹,子文件夹及文件)

CREATOR OWNER全部(只有子文件来及文件)

IIS_WPG (该文件夹,子文件夹及文件)

读取和运行

列出文件夹目录

读取

Power Users(该文件夹,子文件夹及文件)

修改权限

SYSTEM全部(该文件夹,子文件夹及文件)

TERMINAL SERVER USER (该文件夹,子文件夹及文件)

修改权限

2.网站及虚拟机权限设置(比如网站在E盘)

说明:我们假设网站全部在E盘wwwsite目录下,并且为每一个虚拟机创建了一个guest用户,用户名为vhost1...vhostn并且创建了一个webuser组,把所有的vhost用户全部加入这个webuser组里面方便管理。

E:/

Administrators全部(该文件夹,子文件夹及文件)

E:/wwwsite

Administrators全部(该文件夹,子文件夹及文件)

system全部(该文件夹,子文件夹及文件)

service全部(该文件夹,子文件夹及文件)

E:/wwwsite/vhost1

Administrators全部(该文件夹,子文件夹及文件)

system全部(该文件夹,子文件夹及文件)

vhost1全部(该文件夹,子文件夹及文件)

3.数据备份盘

数据备份盘最好只指定一个特定的用户对它有完全操作的权限。比如F盘为数据备份盘,我们只指定一个管理员对它有完全操作的权限。

4.其它地方的权限设置

请找到c盘的这些文件,把安全性设置只有特定的管理员有完全操作权限。

下列这些文件只允许administrators访问

net.exe,net1.exet,cmd.exe,tftp.exe,netstat.exe,regedit.exe,at.exe,attrib.exe.cacls.exe,format.com

5.删除c:/inetpub目录,删除iis不必要的映射,建立陷阱帐号,更改描述。

四、防火墙、杀毒软件的安装

我见过的Win2000/Nt服务器从来没有见到有安装了防毒软件的,其实这一点非常重要。一些好的杀毒软件不仅能杀掉一些著名的病毒,还能查杀大量木马和后门程序。这样的话,“黑客”们使用的那些有名的木马就毫无用武之地了。不要忘了经常升级病毒库,我们推荐mcafree杀毒软件+blackice防火墙

五、SQL2000 SERV-U FTP安全设置

SQL安全方面

1.System Administrators 角色最好不要超过两个

2.如果是在本机最好将身份验证配置为Win登陆

3.不要使用Sa账户,为其配置一个超级复杂的密码

4.删除以下的扩展存储过程格式为:

use master

sp_dropextendedproc '扩展存储过程名'

xp_cmdshell:是进入操作系统的最佳捷径,删除

访问注册表的存储过程,删除

Xp_regaddmultistring  Xp_regdeletekey  Xp_regdeletevalue  Xp_regenumvalues

Xp_regread      Xp_regwrite    Xp_regremovemultistring

OLE自动存储过程,不需要删除

Sp_OACreate   Sp_OADestroy    Sp_OAGetErrorInfo  Sp_OAGetProperty

Sp_OAMethod  Sp_OASetProperty  Sp_OAStop

5.隐藏 SQL Server、更改默认的1433端口

右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口

serv-u的几点常规安全需要设置下:

选中"Block "FTP_bounce"attack and FXP"。什么是FXP呢"PORT"命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。

六、IIS安全设置

IIS的相关设置:

删除默认建立的站点的虚拟目录,停止默认web站点,删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制,带宽设置以及性能设置等其他设置。配置应用程序映射,删除所有不必要的应用程序扩展,只保留asp,php,cgi,pl,aspx应用程序扩展。对于php和cgi,推荐使用isapi方式解析,用exe解析对安全和性能有所影响。用户程序调试设置发送文本错误信息给户。对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如C:WINNTsystem32inetsrvssinc.dll来防止数据库被下载。设置IIS的日志保存目录,调整日志记录信息。设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。另外为隐藏系统信息,防止telnet到80端口所泄露的系统版本信息可修改IIS的banner信息,可以使用winhex手工修改或者使用相关软件如banneredit修改。

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

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木马通过wscript或shell.application执行命令以及使用木马查看一些系统敏感信息。另法:可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法。

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

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

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[修改前要取消掉前面的;]

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加上读取、列目录和执行权限。

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一般都拥有这些权限的。

七、其它

1.隐藏重要文件/目录可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/ Current-Version/Explorer/Advanced/Folder/Hi-dden/SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0

2.启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器;

3.防止SYN洪水攻击:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters

新建DWORD值,名为SynAttackProtect,值为2

EnablePMTUDiscovery REG_DWORD 0

NoNameReleaseOnDemand REG_DWORD 1

EnableDeadGWDetect REG_DWORD 0

KeepAliveTime REG_DWORD 300,000

PerformRouterDiscovery REG_DWORD 0

EnableICMPRedirects REG_DWORD 0

4. 禁止响应ICMP路由通告报文:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/Interfaces/interface

新建DWORD值,名为PerformRouterDiscovery 值为0

5. 防止ICMP重定向报文的攻击:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters

将EnableICMPRedirects 值设为0

6. 不支持IGMP协议:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters

新建DWORD值,名为IGMPLevel 值为0

7.修改终端服务端口:

运行regedit,找到[HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Control / Terminal Server / Wds / rdpwd / Tds / tcp],看到右边的PortNumber了吗"OldSecurity"子目录,将%SystemRoot%/Security下所有的.log文件移到这个新建的子文件夹中

在%SystemRoot%/Security/database/下找到"Secedit.sdb"安全数据库并将其改名,如改为"Secedit.old"

启动"安全配置和分析"MMC管理单元:"开始"->"运行"->"MMC",启动管理控制台,"添加/删除管理单元",将"安全配置和分析"管理单元添加上

右击"安全配置和分析"->"打开数据库",浏览"C:/WINNT/security/Database"文件夹,输入文件名"secedit.sdb",单击"打开"

当系统提示输入一个模板时,选择"Setup Security.inf",单击"打开",如果系统提示"拒绝访问数据库",不管他,你会发现在"C:/WINNT/security/Database"子文件夹中重新生成了新的安全数据库,在"C:/WINNT/security"子文件夹下重新生成了log文件,安全数据库重建成功。

16.禁用DCOM:

运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。清除“在这台计算机上启用分布式 COM”复选框。

第二步:

尽管Windows 2003的功能在不断增强,但是由于先天性的原因,它还存在不少安全隐患,要是不将这些隐患“堵住”,可能会给整个系统带来不必要的麻烦;下面笔者就介绍Windows2003中不常见的安全隐患的防堵方法,希望能对各位带来帮助!

堵住自动保存隐患

Windows 2003操作系统在调用应用程序出错时,系统中的Dr. Watson会自动将一些重要的调试信息保存起来,以便日后维护系统时查看,不过这些信息很有可能被黑客“瞄上”,一旦瞄上的话,各种重要的调试信息就会暴露无疑,为了堵住Dr. Watson自动保存调试信息的隐患,我们可以按如下步骤来实现:

1、打开开始菜单,选中“运行”命令,在随后打开的运行对话框中,输入注册表编辑命令“ergedit”命令,打开一个注册表编辑窗口;

2、在该窗口中,用鼠标依次展开HKEY_local_machine\software\Microsoft\WindowsdowsNT\CurrentVersion\AeDebug分支,在对应AeDebug键值的右边子窗口中,用鼠标双击Auto值,在弹出的参数设置窗口中,将其数值重新设置为“0”,

3、打开系统的Windows资源管理器窗口,并在其中依次展开Documents and Settings文件夹、All Users文件夹、Shared Documents文件夹、DrWatson文件夹,最后将对应DrWatson中的User.dmp文件、Drwtsn32.log文件删除掉。

完成上面的设置后,重新启动一下系统,就可以堵住自动保存隐患了。

堵住资源共享隐患

为了给局域网用户相互之间传输信息带来方便,Windows Server 2003系统很是“善解人意”地为各位提供了文件和打印共享功能,不过我们在享受该功能带来便利的同时,共享功能也会“引狼入室”,“大度”地向黑客们敞开了不少漏洞,给服务器系统造成了很大的不安全性;所以,在用完文件或打印共享功能时,大家千万要随时将功能关闭哟,以便堵住资源共享隐患,下面就是关闭共享功能的具体步骤:

1、执行控制面板菜单项下面的“网络连接”命令,在随后出现的窗口中,用鼠标右键单击一下“本地连接”图标;

2、在打开的快捷菜单中,单击“属性”命令,这样就能打开一个“Internet协议(TCP/IP)”属性设置对话框;

3、在该界面中取消“Microsoft网络的文件和打印机共享”这个选项;

4、如此一来,本地计算机就没有办法对外提供文件与打印共享服务了,这样黑客自然也就少了攻击系统的“通道”。

堵住远程访问隐患

在Windows2003系统下,要进行远程网络访问连接时,该系统下的远程桌面功能可以将进行网络连接时输入的用户名以及密码,通过普通明文内容方式传输给对应连接端的客户端程序;在明文帐号传输过程中,实现“安插”在网络通道上的各种嗅探工具,会自动进入“嗅探”状态,这个明文帐号就很容易被“俘虏”了;明文帐号内容一旦被黑客或其他攻击者另谋他用的话,呵呵,小心自己的系统被“疯狂”攻击吧!为了杜绝这种安全隐患,我们可以按下面的方法来为系统“加固”:

1、点击系统桌面上的“开始”按钮,打开开始菜单;

2、从中执行控制面板命令,从弹出的下拉菜单中,选中“系统”命令,打开一个系统属性设置界面;

3、在该界面中,用鼠标单击“远程”标签;

4、在随后出现的标签页面中,将“允许用户远程连接到这台计算机”选项取消掉,这样就可以将远程访问连接功能屏蔽掉,从而堵住远程访问隐患了。

堵住用户切换隐患

Windows 2003系统为我们提供了快速用户切换功能,利用该功能我们可以很轻松地登录到系统中;不过在享受这种轻松时,系统也存在安装隐患,例如我们要是执行系统“开始”菜单中的“注销”命令来,快速“切换用户”时,再用传统的方式来登录系统的话,系统很有可能会本次登录,错误地当作是对计算机系统的一次暴力“袭击”,这样Windows2003系统就可能将当前登录的帐号当作非法帐号,将它锁定起来,这显然不是我们所需要的;不过,我们可以按如下步骤来堵住用户切换时,产生的安全隐患:

在Windows 2003系统桌面中,打开开始菜单下面的控制面板命令,找到下面的“管理工具”命令,再执行下级菜单中的“计算机管理”命令,找到“用户帐户”图标,并在随后出现的窗口中单击“更改用户登录或注销的方式”;在打开的设置窗口中,将“使用快速用户切换”选项取消掉就可以了。

堵住页面交换隐患

Windows 2003操作系统即使在正常工作的情况下,也有可能会向黑客或者其他访问者泄漏重要的机密信息,特别是一些重要的帐号信息。也许我们永远不会想到要查看一下,那些可能会泄漏隐私信息的文件,不过黑客对它们倒是很关心的哟!Windows 2003操作系统中的页面交换文件中,其实就隐藏了不少重要隐私信息,这些信息都是在动态中产生的,要是不及时将它们清除,就很有可能成为黑客的入侵突破口;为此,我们必须按照下面的方法,来让Windows 2003操作系统在关闭系统时,自动将系统工作时产生的页面文件全部删除掉:

1、在Windows 2003的“开始”菜单中,执行“运行”命令,打开运行对话框,并在其中输入“Regedit”命令,来打开注册表窗口;

2、在该窗口的左边区域中,用鼠标依次单击HKEY_local_machine\system\currentcontrolset\control\sessionmanager\memory management键值,找到右边区域中的ClearPageFileAtShutdown键值,并用鼠标双击之,在随后打开的数值设置窗口中,将该DWORD值重新修改为“1”;

3、完成设置后,退出注册表编辑窗口,并重新启动计算机系统,就能让上面的设置生效了

补充资料:

如果大家使用的是php5.2.17的可以到s.jb51.net下载星外PHP5.2.17自动配置安装包 相对应的版本。安装版的很省心,很多参数都设置好了。

第三、就是数据库的降权运行,包括sqlserver与mysql

将MS SQL SERVER数据库运行在普通用户(独立用户)状态下的设置方法终结篇

需要注意的是,sqlserver的所在磁盘需要加sqlserver列出目录权限。不要给读写。安装目录需要给所有权限。如果不能运行就是权限问题,可以参考上面的位置

MySQL降权运行之MySQL以Guests帐户启动设置方法

当然guests组也可以不给,mysql安全目录需要读写权限。如果不能运行也是权限问题或用户名密码不正确

当然还有很多需要注意的地方,大家可以用 “关键词 site:jb51.net”搜索即可。