兴宁A8 兴宁论坛 兴宁新闻 兴宁人的网络社区

标题: Win2003网站服务器的安全配置 [打印本页]

作者: 兴宁A8网    时间: 2009/12/1 10:37
标题: Win2003网站服务器的安全配置
其中在其他配置中打勾的推荐进行配置,打叉的则随便。本配置仅适合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




欢迎光临 兴宁A8 兴宁论坛 兴宁新闻 兴宁人的网络社区 (http://ms.xna8.com/) Powered by Discuz! X3.1