| Subcribe via RSS

Windows 与 SQL Server 双机热备

6月 29th, 2008 | No Comments | Posted in Windows < by Johnny Woo >

http://blog.csdn.net/isoftk/archive/2007/12/03/1914175.aspx
http://blog.csdn.net/digjim/category/12527.aspx
http://fjzxb.blog.51cto.com/229517/42870

阅读内文

windows主机安全设置

6月 26th, 2008 | No Comments | Posted in Windows < by Johnny Woo >

windows主机安全设置
*这是一篇老文了.大概是我在04年写的了.留个档

原理篇

我们将从入侵者入侵的各个环节来作出对应措施
一步步的加固windows系统.
对于想直接了解操作具体步骤的读者.
可以跳跃直接阅读后面一个章节的[实践篇].
加固windows系统.一共归于几个方面
1.端口限制
2.设置ACL权限
3.关闭服务或组件
4.包过滤
5.审计

我们现在开始从入侵者的第一步开始.对应的开始加固已有的windows系统.

1.扫描
这是入侵者在刚开始要做的第一步.比如搜索有漏洞的服务.
对应措施:端口限制
以下所有规则.都需要选择镜像,否则会导致无法连接
我们需要作的就是打开服务所需要的端口.而将其他的端口一律屏蔽

2.下载信息
这里主要是通过URL SCAN.来过滤一些非法请求
对应措施:过滤相应包
我们通过安全URL SCAN并且设置urlscan.ini中的DenyExtensions字段
来阻止特定结尾的文件的执行

3.上传文件
入侵者通过这步上传WEBSHELL,提权软件,运行cmd指令等等.
对应措施:取消相应服务和功能,设置ACL权限
如果有条件可以不使用FSO的.
通过 regsvr32 /u c:\windows\system32\scrrun.dll来注销掉相关的DLL.
如果需要使用.
那就为每个站点建立一个user用户
对每个站点相应的目录.只给这个用户读,写,执行权限,给administrators全部权限
安装杀毒软件.实时杀除上传上来的恶意代码.
个人推荐MCAFEE或者卡巴斯基
如果使用MCAFEE.对WINDOWS目录所有添加与修改文件的行为进行阻止.

4.WebShell
入侵者上传文件后.需要利用WebShell来执行可执行程序.或者利用WebShell进行更加方便的文件操作.
对应措施:取消相应服务和功能
一般WebShell用到以下组件
WScript.Network
WScript.Network.1
WScript.Shell
WScript.Shell.1
Shell.Application
Shell.Application.1
我们在注册表中将以上键值改名或删除
同时需要注意按照这些键值下的CLSID键的内容
从/HKEY_CLASSES_ROOT/CLSID下面对应的键值删除

5.执行SHELL
入侵者获得shell来执行更多指令
对应措施:设置ACL权限
windows的命令行控制台位于\WINDOWS\SYSTEM32\CMD.EXE
我们将此文件的ACL修改为
某个特定管理员帐户(比如administrator)拥有全部权限.
其他用户.包括system用户,administrators组等等.一律无权限访问此文件.

6.利用已有用户或添加用户
入侵者通过利用修改已有用户或者添加windows正式用户.向获取管理员权限迈进
对应措施:设置ACL权限.修改用户
将除管理员外所有用户的终端访问权限去掉.
限制CMD.EXE的访问权限.
限制SQL SERVER内的XP_CMDSHELL

7.登陆图形终端
入侵者登陆TERMINAL SERVER或者RADMIN等等图形终端,
获取许多图形程序的运行权限.由于WINDOWS系统下绝大部分应用程序都是GUI的.
所以这步是每个入侵WINDOWS的入侵者都希望获得的
对应措施:端口限制
入侵者可能利用3389或者其他的木马之类的获取对于图形界面的访问.
我们在第一步的端口限制中.对所有从内到外的访问一律屏蔽也就是为了防止反弹木马.
所以在端口限制中.由本地访问外部网络的端口越少越好.
如果不是作为MAIL SERVER.可以不用加任何由内向外的端口.
阻断所有的反弹木马.

8.擦除脚印
入侵者在获得了一台机器的完全管理员权限后
就是擦除脚印来隐藏自身.
对应措施:审计
首先我们要确定在windows日志中打开足够的审计项目.
如果审计项目不足.入侵者甚至都无需去删除windows事件.
其次我们可以用自己的cmd.exe以及net.exe来替换系统自带的.
将运行的指令保存下来.了解入侵者的行动.
对于windows日志
我们可以通过将日志发送到远程日志服务器的方式来保证记录的完整性.
evtsys工具(https://engineering.purdue.edu/ECN/Resources/Documents)
提供将windows日志转换成syslog格式并且发送到远程服务器上的功能.
使用此用具.并且在远程服务器上开放syslogd,如果远程服务器是windows系统.
推荐使用kiwi syslog deamon.

我们要达到的目的就是
不让入侵者扫描到主机弱点
即使扫描到了也不能上传文件
即使上传文件了不能操作其他目录的文件
即使操作了其他目录的文件也不能执行shell
即使执行了shell也不能添加用户
即使添加用户了也不能登陆图形终端
即使登陆了图形终端.拥有系统控制权.他的所作所为还是会被记录下来.

额外措施:
我们可以通过增加一些设备和措施来进一步加强系统安全性.
1.代理型防火墙.如ISA2004
代理型防火墙可以对进出的包进行内容过滤.
设置对HTTP REQUEST内的request string或者form内容进行过滤
将SELECT.DROP.DELETE.INSERT等都过滤掉.
因为这些关键词在客户提交的表单或者内容中是不可能出现的.
过滤了以后可以说从根本杜绝了SQL 注入
2.用SNORT建立IDS
用另一台服务器建立个SNORT.
对于所有进出服务器的包都进行分析和记录
特别是FTP上传的指令以及HTTP对ASP文件的请求
可以特别关注一下.

本文提到的部分软件在提供下载的RAR中包含
包括COM命令行执行记录
URLSCAN 2.5以及配置好的配置文件
IPSEC导出的端口规则
evtsys
一些注册表加固的注册表项.

实践篇

下面我用的例子.将是一台标准的虚拟主机.
系统:windows2003
服务:[IIS] [SERV-U] [IMAIL] [SQL SERVER 2000] [PHP] [MYSQL]
描述:为了演示,绑定了最多的服务.大家可以根据实际情况做筛减

1.WINDOWS本地安全策略 端口限制
A.对于我们的例子来说.需要开通以下端口
外->本地 80
外->本地 20
外->本地 21
外->本地 PASV所用到的一些端口
外->本地 25
外->本地 110
外->本地 3389
然后按照具体情况.打开SQL SERVER和MYSQL的端口
外->本地 1433
外->本地 3306
B.接着是开放从内部往外需要开放的端口
按照实际情况,如果无需邮件服务,则不要打开以下两条规则
本地->外 53 TCP,UDP
本地->外 25
按照具体情况.如果无需在服务器上访问网页.尽量不要开以下端口
本地->外 80
C.除了明确允许的一律阻止.这个是安全规则的关键.
外->本地 所有协议 阻止

2.用户帐号
a.将administrator改名,例子中改为root
b.取消所有除管理员root外所有用户属性中的
远程控制->启用远程控制 以及
终端服务配置文件->允许登陆到终端服务器
c.将guest改名为administrator并且修改密码
d.除了管理员root,IUSER以及IWAM以及ASPNET用户外.禁用其他一切用户.包括SQL DEBUG以及TERMINAL USER等等

3.目录权限
将所有盘符的权限,全部改为只有
administrators组 全部权限
system 全部权限
将C盘的所有子目录和子文件继承C盘的administrator(组或用户)和SYSTEM所有权限的两个权限
然后做如下修改
C:\Program Files\Common Files
开放Everyone 默认的读取及运行,列出文件目录,读取三个权限
C:\WINDOWS\
开放Everyone 默认的读取及运行,列出文件目录,读取三个权限
C:\WINDOWS\Temp
开放Everyone 修改,读取及运行,列出文件目录,读取,写入权限
现在WebShell就无法在系统目录内写入文件了.
当然也可以使用更严格的权限.
在WINDOWS下分别目录设置权限.
可是比较复杂.效果也并不明显.

如果服务器上需要运行.NET
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
开放Everyone 修改,读取及运行,列出文件目录,读取,写入权限

4.IIS
在IIS 6下.应用程序扩展内的文件类型对应ISAPI的类型已经去掉了IDQ,PRINT等等危险的脚本类型,
在IIS 5下我们需要把除了ASP以及ASA以外所有类型删除.
安装URLSCAN
在[DenyExtensions]中
一般加入以下内容
.cer
.cdx
.mdb
.bat
.cmd
.com
.htw
.ida
.idq
.htr
.idc
.shtm
.shtml
.stm
.printer
这样入侵者就无法下载.mdb数据库.这种方法比外面一些在文件头加入特殊字符的方法更加彻底.
因为即便文件头加入特殊字符.还是可以通过编码构造出来的

5.WEB目录权限
作为虚拟主机.会有许多独立客户
比较保险的做法就是为每个客户,建立一个windows用户
然后在IIS的响应的站点项内
把IIS执行的匿名用户.绑定成这个用户
并且把他指向的目录
权限变更为
administrators 全部权限
system 全部权限
单独建立的用户 读写执行

如果服务器上站点不多.并且有论坛
我们可以把每个论坛的上传目录
去掉此用户的执行权限.
只有读写权限
这样入侵者即便绕过论坛文件类型检测上传了webshell
也是无法运行的.

6.MS SQL SERVER2000
使用系统帐户登陆查询分析器
运行以下脚本
use master
exec sp_dropextendedproc ‘xp_cmdshell’
exec sp_dropextendedproc ‘xp_enumgroups’
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_regremovemultistring’
exec sp_dropextendedproc ‘Xp_regwrite’
drop procedure sp_makewebtask
go
删除所有危险的扩展.
以下3个存储过程会在SQL SERVER恢复备份时被使用,非必要请勿删除
#exec sp_dropextendedproc ‘xp_dirtree’
#exec sp_dropextendedproc ‘Xp_regread’
#exec sp_dropextendedproc ‘xp_fixeddrives’
恢复脚本
use master
EXEC sp_addextendedproc xp_cmdshell ,@dllname =’xplog70.dll’
EXEC sp_addextendedproc xp_enumgroups ,@dllname =’xplog70.dll’
EXEC sp_addextendedproc xp_loginconfig ,@dllname =’xplog70.dll’
EXEC sp_addextendedproc xp_enumerrorlogs ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_getfiledetails ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc Sp_OACreate ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OADestroy ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OAGetErrorInfo ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OAGetProperty ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OAMethod ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OASetProperty ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OAStop ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Xp_regaddmultistring ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc Xp_regdeletekey ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc Xp_regdeletevalue ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc Xp_regenumvalues ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc Xp_regremovemultistring ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc Xp_regwrite ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_dirtree ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc Xp_regread ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_fixeddrives ,@dllname =’xpstar.dll’
go

7.修改CMD.EXE以及NET.EXE权限
将两个文件的权限.修改到特定管理员才能访问,比如本例中.我们如下修改
cmd.exe root用户 所有权限
net.exe root用户 所有权限
net1.exe root用户 所有权限
command.com root用户 所有权限
cacls root用户 所有权限
这样就能防止非法访问.
还可以使用例子中提供的comlog程序
将com.exe改名_com.exe,然后替换com文件.这样可以记录所有执行的命令行指令

8.备份
使用ntbackup软件.备份系统状态.
使用reg.exe 备份系统关键数据
如reg export HKLM\SOFTWARE\ODBC e:\backup\system\odbc.reg /y
来备份系统的ODBC

9.杀毒
这里介绍MCAFEE 8i 中文企业版
因为这个版本对于国内的许多恶意代码和木马都能够及时的更新.
比如已经能够检测到海阳顶端2006
而且能够杀除IMAIL等SMTP软件使用的队列中MIME编码的病毒文件
而很多人喜欢安装诺顿企业版.而诺顿企业版,对于WEBSHELL.基本都是没有反应的.
而且无法对于MIME编码的文件进行杀毒.
在MCAFEE中.
我们还能够加入规则.阻止在windows目录建立和修改EXE.DLL文件等
我们在软件中加入对WEB目录的杀毒计划.
每天执行一次
并且打开实时监控.

10.关闭无用的服务
我们一般关闭如下服务
Computer Browser
Help and Support
Messenger
Print Spooler
Remote Registry
TCP/IP NetBIOS Helper
如果服务器不用作域控,我们也可以禁用
Workstation

11.取消危险组件
如果服务器不需要FSO
regsvr32 /u c:\windows\system32\scrrun.dll
如果不需要shell
regsvr32 /u C:\windows\System32\shell32.dll
regsvr32 /u C:\windows\System32\wshom.ocx
注销组件
使用regedit
将/HKEY_CLASSES_ROOT下的
WScript.Network
WScript.Network.1
WScript.Shell
WScript.Shell.1
Shell.Application
Shell.Application.1
键值改名或删除
将这些键值下CLSID中包含的字串
如{72C24DD5-D70A-438B-8A42-98424B88AFB8}
到/HKEY_CLASSES_ROOT/CLSID下找到以这些字串命名的键值
全部删除

12.审计
本地安全策略->本地策略->审核策略
打开以下内容
审核策略更改 成功,失败
审核系统事件 成功,失败
审核帐户登陆事件 成功,失败
审核帐户管理 成功,失败

阅读内文 Tags: ,

Windows下SVN提交验证失败

6月 18th, 2008 | No Comments | Posted in Windows < by Johnny Woo >

可以update
但是commit的时候总是报错验证失败
最后发现
SVN节点的名称
大小写是敏感的
update可以用
但是commit的时候就会报错了

阅读内文 Tags: ,

TERMINAL SERVER无法连接的解决方案

4月 11th, 2008 | No Comments | Posted in Windows < by Johnny Woo >

“The RDP Protocol Component “DATA ENCRYPTION” Detected an Error…”(RDP 协议组件“数据加密”检测到错误…)错误信息
适用于
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明

症状
安装 Windows 2000 安全累积包 1 (SRP1) 之后,终端服务客户端可能无法连接到终端服务服务器。当您在 Windows XP Professional 计算机上使用远程桌面连接连接到终端服务服务器时,也可能会遇到此问题。发生此问题时,系统事件日志中将记录事件 ID 50:

Event Type:Error
Event Source:TermDD
Event ID:50
Description:
The RDP protocol component “DATA ENCRYPTION” detected an error in the protocol stream and has disconnected the client.
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
307454 MS01-052:无效的 RDP 数据可能导致终端服务故障

终端服务客户端在连接尝试期间还可能会收到以下错误信息:

The terminal Server has ended the connection.
原因
Icaapi.dll 和 Rdpwsx.dll 动态链接库 (DLL) 之间潜在的争用条件可能会导致终端服务服务器上的证书私钥不同步。
解决方案
警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

要解决此问题,请按照下列步骤操作:
启动注册表编辑器。
找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TermService\Parameters

在此注册表子项下,删除下列值:
Certificate
X509 Certificate
X509 Certificate ID
退出注册表编辑器,然后重新启动服务器。
状态
Microsoft 已经确认这是在“适用于”一节中列出的 Microsoft 产品中存在的问题。

阅读内文

添加/删除程序 项无法打开解决方法

4月 11th, 2008 | No Comments | Posted in Windows < by Johnny Woo >

重新注册3个组件
regsvr32 mshtml.dll
regsvr32 shdocvw.dll -i
regsvr32 shell32.dll -i
这样,“添加/删除程序”组件就可以重新使用了。

阅读内文

Windows Server 2008 印象

4月 11th, 2008 | No Comments | Posted in Windows < by Johnny Woo >

启动界面开始
Windows的滚动条样式变化了.
进入安装界面之后.整个是vista风格的.这个和预想的一致
安装速度比预想要快许多.
进入系统后第一步就是设置密码
对密码的要求比较高.
主体界面和windows 2003之于xp一样
属于简化过的vista风格.
上手第一件事情就是安装IIS 7
IIS的设置属性全变了
应该说所有部分,包括原来的显卡属性,以及控制面板
都变成vista排法了.
及其不适应.
想当初在vista下面设置IP地址
楞是找了10多分钟才在点击N多窗口之后,在一个角落里面找到
IIS 7把原本的站点->属性取消了
取而代之的是把所有的功能
都给你列在右边的窗体里
一个感觉.乱!
而且这么多图标.而不是以text.edit的方式来表示
很大的一个可以预料的问题就是
万一系统反应很慢的时候
那么大量的数据会导致远程控制速度更慢

最后列一下安装时候碰到的问题
问题1:分区操作没有”返回上一步”,在分区时选择Load Driver之后,如果选择的分区格式有问题.无法回到上一步重新进行分区操作.只能cacel掉整个安装.从头再来一次.

问题2:没有”设为引导分区”,从一块原有其他分区的硬盘删除再创建分区之后.无法标识分区作为引导分区.只能通过软件对分区进行标识之后,再安装系统.

问题3:安装途中莫名internal error.而且出错信息极不友好.最后安装第二遍,又好了.也不知道什么问题.

阅读内文

安装NOD32后MSN登录反应缓慢解决方法

4月 11th, 2008 | No Comments | Posted in Windows < by Johnny Woo >

当人数列表增多之后
MSN会一直读写contactcoll.cache文件
此文件位于C:\Documents and Settings\<用户>\Contacts下
在杀毒软件下排除此文件即可

阅读内文