很多人觉得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