// by redice
// 2009.9.17
// http://www.redicecn.cn
// 9.17号就开始写这个文档了,经过一个月的反复测试,今天才终于敢把它放出来......
// 辛勤劳动成果,转载请保留上述信息
一句废话:服务器安全问题是一个令人头痛的问题,也是一个无法回避的问题...
经过实验总计如下:
NTFS权限设置要先设置父目录,再设置子目录,因为设置继承权限时,父目录的权限会覆盖掉子目录权限,“先父后子”。
1 对于IIS。
1) 为每个Web站点新建一个IIS匿名账户,隶属于Guests组,删除其隶属的Users组,并将新建的IIS匿名账户分配给各个站点。
2) 去掉所有盘的Users组、everyone、network services的NTFS权限,继承权限到子目录,只保留Administrators,CREATEOR OWNER,SYSTEM。
3) 为了支持ASP及.Net,要做如下设置:
“windows”目录添加Users组,IIS_WPG组“读取和运行,列出文件夹目录,读取”权限,继承权限到子目录;
“Program Files”目录添加Users组“读取和运行,列出文件夹目录,读取”权限,继承权限到子目录;
“windows temp”目录添加IIS_WPG组,ASP.NET账户,所有IIS匿名账户“修改,读取和运行,列出文件夹目录,读取,写入”权限,继承权限
到子目录。
ASP.Net所需的其它权限,我们通过“aspnet_regiis" ”命令来设置,具体命令格式如下:
C:WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -ga "NT AUTHORITYNETWORK SERVICE"
(4)“windows\system32\config “ ,禁止guests组所有权限;
“Documents and Settings\All Users\「开始」菜单\程序”, 禁止guests组所有权限;
“windows\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 组完全控制权限。
5) 在各个站点目录下设置IIS匿名账户“读取,拒绝写入”权限,继承权限到子目录。
如果是.Net网站,还要设置IIS_WPG组,ASP.NET账户“读取,拒绝写入”权限,继承权限到子目录。
6) 在各个站点下的可写目录设置IIS匿名账户“读取和运行,列出文件夹目录,读取,修改,写入”权限,继承权限到子目录。
如果是.Net网站,还要设置IIS_WPG组,ASP.NET账户“读取和运行,列出文件夹目录,读取,修改,写入”权限,继承权限到子目录。
7) 设置各个站点下的可写目录的脚本执行权限为“无”。
8) 去掉各站点目录的IIS写权限,目录浏览权限。
9) 配置 IIS 元数据库权限:“windows\system32\Inetsrv\MetaBase.xml “,确认只有 Administrators 组和 SYSTEM拥有对元数据库的完全
控制访问权,删除所有其他文件权限。
10) 关闭WScript.Shell, Shell.application, WScript.Network这三个危险而又不常用的系统组件:
regsvr32 /u c:\windows\system32\wshom.ocx
regsvr32 /u c:\windows\system32\shell32.dll
.NET 网站权限设置非常麻烦,建议尽量不要使用.NET Web程序。
2 对于MSSQL。
1) 给SA用户设置高强度密码。
2) 删除以下危险的扩展存储过程。
删除脚步:
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
exec sp_dropextendedproc xp_cmdshell -- 删除此项扩展后,将无法远程连接数据库
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
3 对于Windows远程终端(3389)。
去掉以下位置所有IIS匿名账户的读写权限:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService
4 对于radmin。
radmin2.0 去掉以下位置所有IIS匿名账户的读写权限:
HKEY_LOCAL_MACHINE\SYSTEM\RAdmin
radmin1.0 和radmin3.0 去掉以下位置所有IIS匿名账户的读写权限:
HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin
5 对于Serv-U。
修改默认管理端口和密码。
Windows服务器安全设置攻略
[日志分享]
[日志信息]
该日志于 2009-10-16 21:55 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “Windows服务器安全设置攻略” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!! (尊重他人劳动,你我共同努力)
呵呵,谢谢
VaTG790i.最好的<a href=http://www.kyfei.com>网站推广软件</a>,
非常好
....................
;ui;普i;uighur;ui;ui;个
在unix网络编程中看到了关于TCP/IP的一些内容,我感觉还是写的不够。正在下载中,一定
下载地址呢