买股吧

 找回密码
 用户注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4377|回复: 1

WIN2003服务器安全设置_技术文章

[复制链接]

155

主题

276

帖子

310

积分

买股吧二年级

Rank: 2

积分
310

VIP会员

发表于 2011-7-27 21:44 | 显示全部楼层 |阅读模式
WIN2003的安全设置以及自己动手做了一些实践,综合了这些安全设置文章整理而成,希望对大家有所帮助,另外里面有不足之处还请大家多多指点,然后给补上,谢谢!

一、系统的安装  
1、按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面。
2、IIS6.0的安装
  开始菜单—>控制面板—>添加或删除程序—>添加/删除Windows组件
  应用程序 ———ASP.NET(可选)
       |——启用网络 COM+ 访问(必选)
       |——Internet 信息服务(IIS)———Internet 信息服务管理器(必选) 
                      |——公用文件(必选)
                      |——万维网服务———Active Server pages(必选)
                              |——Internet 数据连接器(可选)
                              |——WebDAV 发布(可选)
                              |——万维网服务(必选)
                              |——在服务器端的包含文件(可选)
  然后点击确定—>下一步安装。(具体见本文附件1)

3、系统补丁的更新
  点击开始菜单—>所有程序—>Windows Update
  按照提示进行补丁的安装。

4、备份系统
  用GHOST备份系统。

5、安装常用的软件
  例如:杀毒软件、解压缩软件等;安装完毕后,配置杀毒软件,扫描系统漏洞,安装之后用GHOST再次备份系统。

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

修改3389远程连接端口
修改注册表.
开始--运行--regedit
依次展开 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/
TERMINAL SERVER/WDS/RDPWD/TDS/TCP
右边键值中 PortNumber 改为你想用的端口号.留意使用十进制(例 10000 )

HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/
WINSTATIONS/RDP-TCP/
右边键值中 PortNumber 改为你想用的端口号.留意使用十进制(例 10000 )
留意:别忘了在WINDOWS2003自带的防火墙给+上10000端口
修改完毕.重新启动服务器.设置生效.

二、用户安全设置
1、禁用Guest账号
在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。你可以打开记事本,在里面输入一串包含非凡字符、数字、字母的长字符串,然后把它作为Guest 用户的密码拷进去。
2、限制不必要的用户
去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且常常检查系统的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。
3、把系统Administrator账号改名
大家都知道,Windows 2003 的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成 Guesycludx。
4、创建一个陷阱用户
什么是陷阱用户?即创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间,借此发现它们的入侵企图。
5、把共享文件的权限从Everyone组改成授权用户
任何时候都不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组的,一定不要忘了改。
6、开启用户策略
使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3次。 (该项为可选)
7、不让系统显示上次登录的用户名
默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很轻易地得到系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注册表“HKLM\Software\Microsoft\Windows T\CurrentVersion\Winlogon\Dont-DisplayLastUserName”,把REG_SZ的键值改成1。
密码安全设置
1、使用安全密码
一些公司的管理员创建账号的时候往往用公司名、计算机名做用户名,然后又把这些用户的密码设置得太简单,比如“welcome”等等。因此,要留意密码的复杂性,还要记住常常改密码。
2、设置屏幕保护密码
这是一个很简单也很有必要的操作。设置屏幕保护密码也是防止内部人员破坏服务器的一个屏障。
3、开启密码策略
留意应用密码策略,如启用密码复杂性要求,设置密码长度最小值为6位 ,设置强制密码历史为5次,时间为42天。
4、考虑使用智能卡来代替密码
对于密码,总是使安全管理员进退两难,密码设置简单轻易受到黑客的攻击,密码设置复杂又轻易忘记。假如条件答应,用智能卡来代替复杂的密码是一个很好的解决方法。
三、系统权限的设置
1、磁盘权限
  系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限
  系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限
  系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限
  系统盘\Windows\System32 \cacls.exe、cmd.exe、net.exe、net1.exe、ftp.exe、 tftp.exe、telnet.exe 、 netstat.exe、regedit.exe、at.exe、attrib.exe、format.com、del文件只给 Administrators 组和SYSTEM 的完全 控制权限
另将<systemroot>\System32 \cmd.exe、format.com、ftp.exe转移到其他目录或更名
  Documents and Settings下所有些目录都设置只给adinistrators权限。并且要一个一个目录查看,包括下面的所有子目录。
删除 c:\inetpub目录

2、本地安全策略设置
  开始菜单—>管理工具—>本地安全策略
  A、本地策略 ——>审核策略
  审核策略更改   成功 失败  
  审核登录事件   成功 失败
  审核对象访问      失败
  审核过程跟踪   无审核
  审核目录服务访问    失败
  审核特权使用      失败
  审核系统事件   成功 失败
  审核账户登录事件 成功 失败
  审核账户管理   成功 失败

  B、本地策略——>用户权限分配
  关闭系统:只有Administrators组、其它全部删除。
  通过终端服务答应登陆:只加入 Administrators,Remote Desktop Users组,其他全部删除

  C、本地策略——>安全选项
  交互式登陆:不显示上次的用户名       启用
  网络访问:不答应SAM帐户和共享的匿名枚举  启用
  网络访问:不答应为网络身份验证储存凭证   启用
  网络访问:可匿名访问的共享         全部删除
  网络访问:可匿名访问的命          全部删除
  网络访问:可远程访问的注册表路径      全部删除
  网络访问:可远程访问的注册表路径和子路径  全部删除
  帐户:重命名来宾帐户            重命名一个帐户
  帐户:重命名系统管理员帐户         重命名一个帐户

3、禁用不必要的服务 开始-运行-services.msc
TCP/IPNetBIOS Helper提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享
文件、打印和登录到网络
Server支持此计算机通过网络的文件、打印、和命名管道共享
  Computer Browser 维护网络上计算机的最新列表以及提供这个列表
Task scheduler 答应程序在指定时间运行
Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息
  Distributed File System: 局域网管理共享文件,不需要可禁用
  Distributed linktracking client:用于局域网更新连接信息,不需要可禁用
  Error reporting service:禁止发送错误报告
   Microsoft Serch:提供快速的单词搜索,不需要可禁用
  NTLMSecuritysupportprovide:telnet 服务和Microsoft Serch用的,不需要可禁用
  PrintSpooler:假如没有打印机可禁用
  Remote Registry:禁止远程修改注册表
  Remote Desktop Help Session Manager:禁止远程协助
Workstation 关闭的话远程NET命令列不出用户组
  以上是在Windows Server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没非凡需要的话不要启动。

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

2、防止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

3. 禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Inte**ces\inte**ce
新建DWORD值,名为PerformRouterDiscovery 值为0

4. 防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
将EnableICMPRedirects 值设为0

5. 不支持IGMP协议
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel 值为0
6、禁止IPC空连接:
cracker可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成”1”即可。

7、更改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,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦

8. 删除默认共享
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters: AutoShareServer类型是REG_DWORD把值改为0即可

9. 禁止建立空连接
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。

10、建立一个记事本,填上以下代码。保存为*.bat并加到启动项目中
net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
net share ipc$ /del
net share admin$ /del

5、IIS站点设置:
1、将IIS目录&数据与系统磁盘分开,保存在专用磁盘空间内。
2、启用父级路径
3、在IIS管理器中删除必须之外的任何没有用到的映射(保留asp等必要映射即可)
4、在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件
5、Web站点权限设定(建议)
读 答应
写 不答应
脚本源访问 不答应
目录浏览 建议关闭
日志访问 建议关闭
索引资源 建议关闭
执行 推荐选择 “仅限于脚本”
6、建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只答应管理员和system为Full Control)。
7、程序安全:
1) 涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限;
2) 需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
3) 防止ASP主页.inc文件泄露问题;
4) 防止UE等编辑器生成some.asp.bak文件泄露问题。

6、 IIS权限设置的思路
?要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。
?在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。
? 设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置答应这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM 组)。

7、卸载最不安全的组件
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,假如使用2003,则系统文件夹应该是 C:\WINDOWS\ )
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINNT\WINDOWS\shell32.dll

然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。

155

主题

276

帖子

310

积分

买股吧二年级

Rank: 2

积分
310

VIP会员

 楼主| 发表于 2011-7-27 23:47 | 显示全部楼层
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一般都拥有这些权限的。
    数据库服务器的安全设置
    对于专用的MSSQL数据库服务器,按照上文所讲的设置TCP/IP筛选和IP策略,对外只开放1433和5631端口。对于MSSQL首先需要为sa设置一个强壮的密码,使用混合身份验证,加强数据库日志的记录,审核数据库登陆事件的“成功和失败”。删除一些不需要的和危险的OLE自动存储过程(会造成企业管理器中部分功能不能使用),这些过程包括如下:
    Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
    Sp_OAMethod Sp_OASetProperty Sp_OAStop
    去掉不需要的注册表访问过程,包括有:
    Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue
    Xp_regenumvalues Xp_regread Xp_regremovemultistring
    Xp_regwrite
    去掉其他系统存储过程,假如认为还有威胁,当然要小心Drop这些过程,可以在测试机器上测试,保证正常的系统能完成工作,这些过程包括:
    xp_cmdshell xp_dirtree xp_dropwebtask sp_addsrvrolemember
    xp_makewebtask xp_runwebtask xp_subdirs sp_addlogin
    sp_addextendedproc
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

免责声明:买股吧官方不作任何"加入会员、承诺收益、利润分成"以及其他非法操作方式进行非法的理财服务。
买股吧论坛任何发言和广告信息仅代表本站作者或信息来源的观点,信息内容真实性、准确性和合法性,本站对此不承担任何责任。
本站部分文字及图片来自于网络,如有版权争议,请联系我们。

QQ|广告合作|手机版|标签|小黑屋|Sitemap|网站地图|买股吧 ( 沪ICP备16041282号-2 )

GMT+8, 2024-4-20 12:42 , Processed in 0.127256 second(s), 24 queries .

买股吧是免费专业的股票论坛,专业提供股民常用的股票公式,选股公式,股票入门,股票软件,公式源码股票资料。

快速回复 返回顶部 返回列表