分享

Windows Server2003 防***权限设置IIS服务器安全配置整理

 风声之家 2020-01-23

参考了网络上很多关于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、把共享文件的权限从every 
任何时候都不要把共享文件的用户设置成“every 
6、开启用户策略  
使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3次。 (该项为可选) 
7、不让系统显示上次登录的用户名  
默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注册表“hklm\software\microsoft\windows t\currentversi 
密码安全设置  
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 sessi 
  workstati 
  以上是在windows server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。 

4、修改注册表 
修改注册表,让系统更强壮 
1、隐藏重要文件/目录可以修改注册表实现完全隐藏 
hkey_local_machine\software\microsoft\windows\ current-versi 

2、防止syn洪水***  
hkey_local_machine\system\currentc 
新建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 03. 禁止响应icmp路由通告报文  
hkey_local_machine\system\currentc 
新建dword值,名为performrouterdiscovery 值为0  

4. 防止icmp重定向报文的***  
hkey_local_machine\system\currentc 
将enableicmpredirects 值设为0  

5. 不支持igmp协议  
hkey_local_machine\system\currentc 
新建dword值,名为igmplevel 值为0 
6、禁止ipc空连接: 
cracker可以利用net use命令建立空连接,进而***,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。 
local_machine\system\currentc 

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\currentc 

8. 删除默认共享 
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2k为管理而设置的默认共享,hkey_local_machine\system\currentc 

9. 禁止建立空连接  
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出账号,猜测密码。我们可以通过修改注册表来禁止建立空连接:  
local_machine\system\currentc 

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

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 c 
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就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多