just do it

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帐户和共享的匿名枚举   启用
  网络访问:不允许为网络身份验证储存凭证   启用
  网络访问:可匿名访问的共享         全部删除
  网络访问:可匿名访问的命          全部删除
COMNAP
COMNODE
SQL\QUERY
SPOOLSS
NETLOGON
LSARPC
SAMR
BROWSER
  网络访问:可远程访问的注册表路径      全部删除 
System\CurrentControlSet\Control\ProductOptions
System\CurrentControlSet\Control\Server Applications
Software\Microsoft\Windows NT\CurrentVersion
  网络访问:可远程访问的注册表路径和子路径  全部删除
System\CurrentControlSet\Control\Print\Printers
System\CurrentControlSet\Services\Eventlog
Software\Microsoft\OLAP Server
Software\Microsoft\Windows NT\CurrentVersion\Print
Software\Microsoft\Windows NT\CurrentVersion\Windows
System\CurrentControlSet\Control\ContentIndex
System\CurrentControlSet\Control\Terminal Server
System\CurrentControlSet\Control\Terminal Server\UserConfig
System\CurrentControlSet\Control\Terminal Server\DefaultUserConfiguration
Software\Microsoft\Windows NT\CurrentVersion\Perflib
System\CurrentControlSet\Services\SysmonLog
 
  帐户:重命名来宾帐户            重命名一个帐户 
  帐户:重命名系统管理员帐户         重命名一个帐户

  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
点赞