关闭

Win2003网站服务器的安全配置全攻略

1139人阅读 评论(0) 收藏 举报

  本配置仅适合Win2003,部分内容也适合于Win2000。很多人觉得3389不安全,其实只要设置好,密码够长,攻破3389也不是件容易的事情,我觉得别的远程软件都很慢,还是使用了3389连接。

  经测试,本配置在Win2003 + IIS6.0 + Serv-U + SQL Server 的单服务器多网站中一切正常。以下配置中打勾的为推荐进行配置,打叉的为可选配置。

  一、系统权限的设置

  1、磁盘权限

  系统盘只给 Administrators 组和 SYSTEM 的完全控制权限

  其他磁盘只给 Administrators 组完全控制权限

  系统盘/Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限

  系统盘/Documents and Settings/All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限

  系统盘/windows/system32/config/ 禁止guests组

  系统盘/Documents and Settings/All Users/「开始」菜单/程序/ 禁止guests组

  系统盘/windowns/system32/inetsrv/data/ 禁止guests组

  系统盘/Windows/System32/ at.exe、attrib.exe、cacls.exe、net.exe、net1.exe、netstat.exe、regedit.exe 文件只给 Administrators 组和 SYSTEM 的完全控制权限

  系统盘/Windows/System32/ cmd.exe、format.com 仅 Administrators 组完全控制权限

  把所有(Windows/system32和Windows/ServicePackFiles/i386) format.com 更名为 format_nowayh.com

  2、本地安全策略设置

  开始菜单->管理工具->本地安全策略

  A、本地策略-->审核策略

  审核策略更改 成功 失败

  审核登录事件 成功 失败

  审核对象访问失败

  审核过程跟踪 无审核

  审核目录服务访问失败

  审核特权使用失败

  审核系统事件 成功 失败

  审核账户登录事件 成功 失败

  审核账户管理 成功 失败

  B、本地策略-->用户权限分配

  关闭系统:只有Administrators组、其它全部删除。

  通过终端服务拒绝登陆:加入Guests组

  通过终端服务允许登陆:加入Administrators、Remote Desktop Users组,其他全部删除

  C、本地策略-->安全选项

  交互式登陆:不显示上次的用户名 启用

  网络访问:不允许SAM帐户和共享的匿名枚举 启用

  网络访问:不允许为网络身份验证储存凭证 启用

  网络访问:可匿名访问的共享 全部删除

  网络访问:可匿名访问的命全部删除

  网络访问:可远程访问的注册表路径全部删除

  网络访问:可远程访问的注册表路径和子路径全部删除

  帐户:重命名来宾帐户重命名一个帐户

  帐户:重命名系统管理员帐户 重命名一个帐户

  D、账户策略-->账户锁定策略

  将账户设为“5次登陆无效”,“锁定时间为30分钟”,“复位锁定计数设为30分钟”

  二、其他配置

  ·把Administrator账户更改

  管理工具→本地安全策略→本地策略→安全选项

  ·新建一无任何权限的假Administrator账户

  管理工具→计算机管理→系统工具→本地用户和组→用户

  更改描述:管理计算机(域)的内置帐户

  ·重命名IIS来宾账户

  1、管理工具→计算机管理→系统工具→本地用户和组→用户→重命名IUSR_ComputerName

  2、打开 IIS 管理器→本地计算机→属性→允许直接编辑配置数据库

  3、进入Windows/system32/inetsrv文件夹→MetaBase.xml→右键编辑→找到"AnonymousUserName"→写入"IUSR_"新名称→保存

  4、关闭"允许直接编辑配置数据库"

  ·禁止文件共享

  本地连接属性→去掉"Microsoft网络的文件和打印共享"和"Microsoft 网络客户端"前面的"√"

  ·禁止NetBIOS(关闭139端口)

  本地连接属性→TCP/IP属性→高级→WINS→禁用TCP/IP上的NetBIOS

  管理工具→计算机管理→设备管理器→查看→显示隐藏的设备→非即插即用驱动程序→禁用 NetBios over tcpip→重启

  ·防火墙的设置

  本地连接属性→高级→Windows防火墙设置→高级→第一个"设置",勾选FTP、HTTP、远程桌面服务

  ·禁止ADMIN$缺省共享、磁盘默认共享、限制IPC$缺省共享(匿名用户无法列举本机用户列表、禁止空连接)

  新建REG文件,导入注册表

      Windows Registry Editor Version 5.00
  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters]
  "AutoshareWks"=dword:00000000
  "AutoShareServer"=dword:00000000
  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa]
  "restrictanonymous"=dword:00000001

  ·删除以下注册表主键

      WScript.Network
  WScript.Network.1
  {093FF999-1EA0-4079-9525-9614C3504B74}
  WScript.Shell
  WScript.Shell.1
  {72C24DD5-D70A-438B-8A42-98424B88AFB8}
  Shell.Application
  Shell.Application.1
  {13709620-C279-11CE-A49E-444553540000}

  ·更改3389端口为12344

  这里只介绍如何更改,既然本端口公布出来了,那大家就别用这个了,端口可用windows自带的计算器将10进制转为16进制,16进制数替换下面两个的dword:后面的值(7位数,不够的在前面补0),登陆的时候用10进制,端口更改在服务器重启后生效。新建REG文件,导入注册表

  

      Windows Registry Editor Version 5.00
  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/Wds/rdpwd/Tds/tcp]
  "PortNumber"=dword:0003038
  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp]
  "PortNumber"=dword:00003038
  最后别忘了Windows防火墙允许12344端口,关闭3389端口

  ·禁止非管理员使用at命令,新建REG文件,导入注册表

      Windows Registry Editor Version 5.00
  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa]
  "SubmitControl"=dword:00000001

  ·卸载最不安全的组件

  运行"卸载最不安全的组件.bat",重启后更名或删掉Windows/System32/里的wshom.ocx和shell32.dll

  ----------------卸载最不安全的组件.bat-----------------

  

      regsvr32/u %SystemRoot%/System32/wshom.ocx
  regsvr32/u %SystemRoot%/System32/shell32.dll
  regsvr32/u %SystemRoot%/System32/wshext.dll
  -------------------------------------------------------

  ·Windows日志的移动

  打开"HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/"

  Application 子项:应用程序日志

  Security 子项:安全日志

  System 子项:系统日志

  分别更改子项的File键值,再把System32/config目录下的AppEvent.Evt、SecEvent.Evt、SysEvent.Evt复制到目标文件夹,重启。

      ·Windows日志的保护

      1、移动日志后的文件夹→属性→安全→高级→去掉"允许父系的继承权限……"→复制→确定

      2、保留System账户和User组,System账户保留除完全控制和修改之外的权限,User组仅保留只读权限

      3、AppEvent.Evt、SysEvent.Evt保留Administrator、System账户和User组,Administrator、System账户保留除完全控制和修改之外的权 限,User组仅保留只读权限;

      DnsEvent.Evt、SecEvent.Evt保留System账户和User组,System账户保留除完全控制和修改之外的权限,User组仅保留只读权限

      ·要手动停止/禁用的服务:Computer Browser、Error reporting service、Microsoft Serch、Print Spooler、Remote Registry、Server 、TCP/IP NetBIOS Helper、Workstation

      ·解决在 IIS 6.0 中,无法下载超过4M的附件(现改为10M)

      停止IIS服务→打开WINDOWS/system32/inetsrv/→记事本打开MetaBase.xml→找到 AspBufferingLimit 项→值改为 10485760

      ·设置Web上传单个文件最大值为10 MB

      停止IIS服务→打开WINDOWS/system32/inetsrv/→记事本打开MetaBase.xml→找到 AspMaxRequestEntityAllowed 项→值改为 10485760

      ·重新定位和设置 IIS 日志文件的权限

      1、将 IIS 日志文件的位置移动到非系统分区:在非系统的NTFS分区新建一文件夹→打开 IIS 管理器→右键网站→属性→单击"启用日志 记录"框架中的"属性"→更改到刚才创建的文件夹

      2、设置 IIS 日志文件的权限:浏览至日志文件所在的文件夹→属性→安全→确保Administrators和System的权限设置为"完全控制"

     ·配置 IIS 元数据库权限

      打开 Windows/System32/Inetsrv/MetaBase.xml 文件→属性→安全→确认只有 Administrators 组的成员和 LocalSystem 帐户拥有对元 数据库的完全控制访问权,删除所有其他文件权限→确定

      解释 Web 内容的权限

      打开IIS管理器→右键想要配置的网站的文件夹、网站、目录、虚拟目录或文件

      脚本源文件访问,用户可以访问源文件。如果选择"读",则可以读源文件;如果选择"写",则可以写源文件。脚本源访问包括脚本的源代码 。如果"读"或"写"均未选择,则此选项不可用。

      读(默认情况下选择):用户可以查看目录或文件的内容和属性。

      写:用户可以更改目录或文件的内容和属性。

      目录浏览:用户可以查看文件列表和集合。

      日志访问:对网站的每次访问创建日志项。

      检索资源:允许检索服务检索此资源。这允许用户搜索资源。

      ·关闭自动播放

      运行组策略编辑器(gpedit.msc)→计算机配置→管理模板→系统→关闭自动播放→属性→已启用→所有驱动器

      ·禁用DCOM

运行Dcomcnfg.exe。控制台根节点→组件服务→计算机→右键单击“我的电脑”→属性”→默认属性”选项卡→清除“在这台计算机上启用分布式 COM”复选框。

      ·启用父路径

      IIS管理器→右键网站→属性→主目录→配置→选项→启用父路径

      ·IIS 6.0 系统无任何动作超时时间和脚本超时时间

      IIS管理器→右键网站→属性→主目录→配置→选项→分别改为40分钟和180秒

      ·删除不必要的IIS扩展名映射

      IIS管理器→右击Web站点→属性→主目录→配置→映射,去掉不必要的应用程序映射,主要为.shtml, .shtm, .stm

      ·增加IIS对MIME文件类型的支持

       IIS管理器→选择服务器→右键→属性→MIME类型(或者右键web站点→属性→HTTP头→MIME类型→新建)添加如下表内容,然后重启IIS,扩展名MIME类型

.iso application/octet-stream
.rmvb application/vnd.rn-realmedia


      ·禁止dump file的产生 

      我的电脑→右键→属性→高级→启动和故障恢复→写入调试信息→无。

      dump文件在系统崩溃和蓝屏的时候是一份很有用的查找问题的资料(不然我就照字面意思翻译成垃圾文件了)。然而,它也能够给黑客提供 一些敏感信息比如一些应用程序的密码等。

      三、Serv-U FTP服务的设置

      ·本地服务器→设置→拦截"FTP_bounce"攻击和FXP

      对于60秒内连接超过10次的用户拦截5分钟

      ·本地服务器→域→用户→选中需要设置的账号→右边的"同一IP只允许2个登录"

      ·本地服务器→域→设置→高级→取消"允许MDTM命令来更改文件的日期/时间"

      设置Serv-U程序所在的文件夹的权限,Administrator组完全控制,禁止Guests组和IIS匿名用户有读取权限

      服务器消息,自上而下分别改为:

服务器工作正常,现已准备就绪...
错误!请与管理员联系!
FTP服务器正在离线维护中,请稍后再试!
FTP服务器故障,请稍后再试!
当前账户达到最大用户访问数,请稍后再试!
很抱歉,服务器不允许匿名访问!
您上传的东西太少,请上传更多东西后再尝试下载!


       四、SQL安全设置

      审核指向SQL Server的连接

      企业管理器→展开服务器组→右键→属性→安全性→失败

      修改sa账户密码

      企业管理器→展开服务器组→安全性→登录→双击sa账户

      SQL查询分析器

use master 
exec sp_dropextendedproc xp_cmdshell 
exec sp_dropextendedproc xp_dirtree
exec sp_dropextendedproc xp_enumgroups
exec sp_dropextendedproc xp_fixeddrives
exec sp_dropextendedproc xp_loginconfig
exec sp_dropextendedproc xp_enumerrorlogs
exec sp_dropextendedproc xp_getfiledetails
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 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:331611次
    • 积分:4730
    • 等级:
    • 排名:第6078名
    • 原创:138篇
    • 转载:65篇
    • 译文:0篇
    • 评论:51条
    文章分类
    最新评论