关于将服务器加固的一般性操作(针对Win2003)

第一条 账户的安全设置

1、 禁用Guest账号
在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为Guest用户的密码拷进去。
2、 限制不必要的用户
去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。
3、 把系统Administrator账号改名
大家都知道,Windows 2003 的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx。
4、 创建一个陷阱用户
什么是陷阱用户?即创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间,借此发现它们的入侵企图。
5、 把共享文件的权限从Everyone组改成授权用户
任何时候都不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组的,一定不要忘了改。
第二条 修改远程桌面连接端口
运行 Regedt32 并转到此项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
找到“PortNumber”子项,您会看到值 00000D3D,它是 3389 的十六进制表示形式。使用十六进制数值修改此端口号,并保存新值。
小巧门:各位,别一看到是十六进制就头疼,在修改键值的时候也同样支持十进制
第三条 禁止不常用服务
   禁用不必要的服务不但可以降低服务器的资源占用减轻负担,而且可以增强安全性。下面列出了可以禁用的服务:
1) Application Experience Lookup Service
2) Alerter 通知选定的用户和计算机管理警报
3) Automatic Updates
4) BITS
5) Computer Browser维护网络上计算机的最新列表以及提供这个列表
6) DHCP Client
7) Error Reporting Service收集、存储和向 Microsoft 报告异常应用程序
8) Help and Support
9) Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息
10) Network Location Awareness
11) Print Spooler将文件加载到内存中以便以后打印。要用打印机的朋友不能禁用这项
12) Remote Registry Service允许远程注册表操作
13) Removable storage管理可移动媒体、驱动程序和库
14) Routing and Remote Access在局域网以及广域网环境中为企业提供路由服务
15) Secondary Logon
16) Server支持此计算机通过网络的文件、打印、和命名管道共享
17) Smartcard
18) TCP/IP NetBIOS Helper提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享
19) Workstation关闭的话远程NET命令列不出用户组
20) Windows Audio
21) Windows Time
22) Wireless Configuration
23) Task scheduler允许程序在指定时间运行
24) IPSEC Policy Agent 管理IP安全策略以及启动ISAKMP/OakleyIKE)和IP安全驱动程序
25) Distributed Link Tracking Client 当文件在网络域的NTFS卷中移动时发送通知
26) Com+ Event System 提供事件的自动发布到订阅COM组件
27) Telnet 允许远程用户登录到此计算机并运行程序
第四条 设置组策略,加强系统安全策略
开始菜单—>管理工具—>本地安全策略
1、 本地策略——>审核策略
1) 审核策略更改      成功 失败
2) 审核登录事件      成功 失败
3) 审核对象访问            失败
4) 审核过程跟踪          无审核
5) 审核目录服务访问        失败
6) 审核特权使用            失败
7) 审核系统事件     成功 失败
8) 审核账户登录事件 成功 失败
9) 审核账户管理   成功 失败

2、 本地策略——>用户权限分配
关闭系统:只有Administrators组、其它全部删除。
通过终端服务允许登陆:只加入Administrators,Remote Desktop Users组,其他全部删除
3、 本地策略——>安全选项
1) 网络访问:从通过网络访问此计算机中删除Everyone组;
2) 网络访问:在用户权利指派下,从通过网络访问此计算机中删除Power Users和Backup Operators;
3) 为交互登录:启动消息文本;
4) 网络访问: 不允许匿名访问SAM帐号和共享;
5) 启用 不允许为网络验证存储凭据或Passport;
6) 启用在下一次密码变更时不存储LANMAN哈希值;
7) 启用 清除虚拟内存页面文件;
8) 禁止IIS匿名用户在本地登录;
9) 启用 交互登录:不显示上次的用户名;
10) 从文件共享中删除允许匿名登录的DFS$和COMCFG;
11) 禁用活动桌面。
第五条 强化TCP协议栈
Windows Registry Editor Version 5.00
  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"SynAttackProtect"=dword:00000001
"EnablePMTUDiscovery"=dword:00000000
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"KeepAliveTime"=dword:00300000
"PerformRouterDiscovery"=dword:00000000
"TcpMaxConnectResponseRetransmissions"=dword:00000003
"TcpMaxHalfOpen"=dword:00000100
"TcpMaxHalfOpenRetried"=dword:00000080
"TcpMaxPortsExhausted"=dword:00000005
第六条 加固IIS站点设置
1、 将IIS目录&数据与系统磁盘分开,保存在专用磁盘空间内。
2、 启用父级路径
3、 关于影射
在IIS管理器中删除必须之外的任何没有用到的映射(保留asp等必要映射即可)
4、 重定向错误页面
在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件
5、 Web站点权限设定
读                 允许
写                 不允许
脚本源访问        不允许
目录浏览        建议关闭
日志访问        建议关闭
索引资源        建议关闭
执行             推荐选择 “仅限于脚本”
6、 关于W3C日志文件
建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为Full Control)。
7、 程序安全
 涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限;
 需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
 防止ASP主页.inc文件泄露问题;
 防止UE等编辑器生成some.asp.bak文件泄露问题。
8、 卸载最不安全的组件
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:WINDOWS )
regsvr32/u C:WINDOWS\System32\wshom.ocx
del C:WINDOWSS\ystem32\wshom.ocx
regsvr32/u C:WINDOWS\system32\shell32.dll
del C:WINNTWINDOWS\shell32.dll
9、 最后优化IIS6应用程序池设置
 禁用缺省应用程序池的空闲超时;
 禁用缓存ISAPI扩展;
 将应用程序池标识从NetworlService改为LocalService;
 禁用快速失败保护;
第七条 删除MSSQL无用组件、注册表及调用的SHELL
     将有安全问题的SQL过程删除.比较全面.一切为了安全!删除了调用shell,注册表,COM组件的破坏权限
use master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'Sp_OACreate'
EXEC sp_dropextendedproc 'Sp_OADestroy'
EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'Sp_OAGetProperty'
EXEC sp_dropextendedproc 'Sp_OAMethod'
EXEC sp_dropextendedproc 'Sp_OASetProperty'
EXEC sp_dropextendedproc 'Sp_OAStop'
EXEC sp_dropextendedproc 'Xp_regaddmultistring'
EXEC sp_dropextendedproc 'Xp_regdeletekey'
EXEC sp_dropextendedproc 'Xp_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask

全部复制到"SQL查询分析器",点击菜单上的--"查询"--"执行",就会将有安全问题的SQL过程删除(以上是7i24的正版用户的技术支持)
更改默认SA空密码.数据库链接不要使用SA帐户.单数据库单独设使用帐户.只给public和db_owner权限。

数据库不要放在默认的位置.
SQL不要安装在PROGRAM FILE目录下面
最近的SQL2000补丁是SP4
第八条 防ping处理
防ping处理建议大家用防火墙一类的软件,这样可以大大降低服务器被攻击的可能性,为什么这样说呢?主要是现在大部份的入侵者都是利用软件扫一个网段存活的主机,一般判断主机是否存活就是看ping的通与不通了。
第九条 禁止(更改)常用DOS命令
找到%windir%/system32下找到
1) cmd.exe
2) cmd32.exe
3) net.exe
4) net1.exe
5) ipconfig.exe
6) tftp.exe
7) ftp.exe
8) user.exe
9) reg.exe
10) regedit.exe
11) regedt32.exe
12) regsvr32.exe
13) net.exe
14) netstat.exe
15) at.exe
16) attrib.exe
17) cacls.exe
18) format.com
在“属性”→“安全”中对他们进行访问的ACLs用户进 行定义,诸如只给administrator有权访问,如果需要防范一些溢出攻击、以及溢出成功后对这些文件的非法利用;那么我们只需要将system用户 在ACLs中进行拒绝访问即可。
第十条 修改server_U ftp默认端口
第十一条 关闭不常用端口
在TCP/IP属性――高级――筛选,只打开一些常用的端口就可以了!例如:80 3389   1433 等 ,根据各人需求吧!
第十二条 系统盘权限设置
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全部(该文件夹,子文件夹及文件)
第十三条 删除c:\inetpub目录,删除iis不必要的映射,建立陷阱帐号,更改描述
第十四条 修改注册表,让系统更强壮
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、 防止IGMP重定向报文的攻击
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了吗?在十进制状态下改成你想要的端口号吧,比如7126之类的,只要不与其它冲突即可。
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,方法同上,记得改的端口号和上面改的一样就行了。
8、 禁止IPC空连接
黑客可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。打开注册表,找到
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous
把这个值改成”1”即可。
9、 更改TTL值
cracker可以根据ping回的TTL值来大致判断你的操作系统,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(linux);
TTL=252(solaris);
TTL=240(Irix);
实际上你可以自己更改的:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦
10、 删除默认共享
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,必须通过修改注册表的方式取消它:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer类型是REG_DWORD把值改为0即可。
11、 禁止建立空连接
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。
第十五条 禁用TCP/IP上的NetBIOS
网上邻居-属性-本地连接-属性-Internet协议(TCP/IP)属性-高级-WINS面板-NetBIOS设置-禁用TCP/IP上的NetBIOS。这样cracker就无法用nbtstat命令来读取你的NetBIOS信息和网卡MAC地址了。
第十六条 运行防毒软件
一些好的杀毒软件不仅能杀掉一些著名的病毒,还能查杀大量木马和后门程序。这样的话,“黑客”们使用的那些有名的木马就毫无用武之地了。不要忘了经常升级病毒库,我们推荐mcafree杀毒软件+blackice防火墙
第十七条 用防火墙禁止木马常用端口
一般禁用以下端口

1) 135
2) 138
3) 139
4) 443
5) 445
6) 4000
7) 4899
8) 7626
第十八条 数据备份
说完那么多需要做的设置,但是,安全和不安全都是相对的,谁也不能保证系统的漏洞都已经打上了。那就多多备份数据吧。这才是最基础的东西。

发表评论:

网站分类

最新评论及回复

文章归档