设置.net1.1安全:
修改C:\windows\Microsoft.net\Framework\v1.1.4322\CONFIG\machine.config
文件.
<identity impersonate=”false” userName=”" password=”"/>
改为
<identity impersonate=”true” userName=”" password=”"/>
参考资料:http://msdn.microsoft.com/zh-cn/library/72wdk8cc(VS.80).aspx
设置.net2.0安全.
打开IIS->找到一个默认站点->右键属性->asp.net->确认.net版本选择的是.ne2.0(如果不是.net2.0,编辑全局配置
个按扭是灰色的)->编辑全局配置->应用程序,把”本地模拟”前面的勾打上
IIS Spy。点击以后可以看到所有站点所在的物理路径。
防御方法
%SystemRoot%/ServicePackFiles/i386/activeds.dll
%SystemRoot%/system32/activeds.dll
%SystemRoot%/system32/activeds.tlb
搜索activeds.dll和activeds.tlb这两个文件,把USER组和POWERS组去掉,只保留administrators和system权限。如果还有其它组请全部去掉,这样就能防止这种木马列出所有站点的物理路径</code>
设置C:\WINDOWS\system32\inetsrv目录下的adsiis.dll的权限也可以禁止遍历IIS

====================================================================
刚在网上看到的一篇文章 归纳到一起


关于禁止IISSPY的弊端.测试环境:Windows2003SP2+IIS6.0+ASP.Net 3.5
IISSPY危害
前段时间发现Bin大牛发布了ASPXSPY V2009,利用此Webshell的iisspy功能可以成功列出服务器的所有网站的账号、密码、站点路径等信息。
网上解决方案
去掉%windir%/system32/activeds.dll和%windir%/system32/activeds.tlb这两个文件的Users组和Power Users组的读取权限。
造成的弊端
当我们去掉这两个文件的Users组和Power Users组的读取权限时,我们再使用IISSPY功能时,它会显示“加载类型库/DLL 时出错。”,且不能显示出服务器上所有的网站信息,但我们将服务器进行重启后,会发现系统里所有的服务都不能停止,也不能启动。它的错误信息都是“在 本地计算机 无法启动 XXX服务。错误 1053:服务没有及时响应启动或控制请求。”,而且最要命的是它不会在系统日志里面显示详细的错误信息。
最终解决方案
仅将%windir%/system32/activeds.tlb文件的Users组和Power Users组的读取权限去掉。保留Users组和Power Users组对%windir%/system32/activeds.dll文件的读取权限。这样既能让IISSPY功能失效,又能让系统里的服务正常启动和停止。



==========================================================
添加一点服务器安全设置
=========================================================
限制目录的文件执行权限保障服务器安全
对于一个web目录来说。 根本不需要运行可执行文件的权限。这里教大家一种方法。
利用gpedit.msc(组策略)禁止目录执行某些文件。
首先:
运行-----输入 gpedit.msc ----计算机配置---windows 设置----安全设置↓
----软件限制策略(如果旁边没有什么东西。点右键创建一个策略)---其他规则----(点右键)新建立一个路径规则(p)。
如图1:

这样d:\wwwroot\目录就无法执行任何exe.bat.com文件了。 不管你是什么权限。即使是system都无法执行。
这样大大的提高了被使用exp提升权限的安全性。
当然这里提一个思路。 。大家都知道c:\windows\temp\是临时文件夹。 基本都是所有用户都可以写的。它是不需要执行权限的。
当然我们这里可以给他加一个规则。让c:\windows\temp\无执行权限。 方法如上。
--------------------------------------------
apache下 取消上传目录php脚本执行权限
----------------------------------------------
一般CMS都支持上传图片、附件等文件,然而这个目录不需要php脚本执行支持,如果你没有加以禁止的话,会给主机带来安全隐患,Blinux的网站曾经遭遇到坏坏注入.
今天介绍如何取消apache主机指定目录的php脚本执行权限,注意哦,并非Linux下文件的执行权限x.下面提供几种不同作业环境的解决方案.
1.如果你只有编辑.htaccess文件的权限
你可以在上传目录添加一个.htaccess文件,比如在Wordpress的/wp-content/uploads/目录,Discuz的/attachments/目录,.htaccess文件的内容可以是
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
或者是(这个是bigcat透露的 )
RewriteEngine on
RewriteCond % !^$
RewriteRule \.(php)$ - [F]
2.如果你有编辑httpd.conf文件的权限
<Directory /var/www/bbs/attachments>
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
</Directory>
---------------------------------------------------------------------------
FCKEditor编辑器安全配置
-----------------------------------------------------
如果你的网站使用了FckEditor编辑器还没有进行正确的配置是很容易被别人通过上传得到webshell,下面我就分享一下我在用Fckeditro时一点技巧.
环境:vs2005
首先在vs中配置Fckeditor编辑器。
关于Fckeditor下载后的文件请参考:
彻底禁用fckEditor的上传功能(含防止Type漏洞问题)
在Fckeditor 2.6.3前的版本中 在 fckeditor"editor"filemanager"connectors"aspx"config.ascx 文件中的上传验证没有安全的验证就直接可上传,在后续的版本中修改这个地方,必须得用手动设置
private bool CheckAuthentication()
{
// WARNING : DO NOT simply return "true". By doing so, you are allowing
// "anyone" to upload and list the files in your Server. You must implement
// some kind of session validation here. Even something very simple as...
//
// return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );
//
// ... where Session[ "IsAuthorized" ] is set to "true" as soon as the
// user logs in your system.
return false; <-- true
}
复制代码
返回值为true.
但是这样是不安全的。
参考 彻底禁用fckEditor的上传功能(含防止Type漏洞问题)
fckeditor 可以从地址栏直接输入漏洞地址还可上传文件。
解决方法很简单就是在用户登录时加入是否可上传文件的Session标志。其实Fckeditor已经写好了。直接把验证函数CheckAuthentication()中的注释段中
return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );
注释去掉。在登录成功加入Session[“IsAuthorized”] = true;就可以了。
如果网站没有用到上传到服务器的文件浏览的话把fckeditor"editor"filemanager 中的browser 目录也删除
---------------------------------------------------------------------------------------------------------------------------------------------
SQL关闭外网对1433端口的访问
------------------------------------------------
如果不是做虚拟主机的服务器。我们强列建意关闭1433端口。因此百分之九十的黑客是通过数据库提权建利管理员帐号和密码。
一.创建IP筛选器和筛选器操作
1.”开始”->”程序”->”管理工具”->”本地安全策略”。微软建议使用本地安全策略进行IPsec的设置,因为本地安全策略只应用到本地计算机上,而通常ipsec都是针对某台计算机量身定作的。
2.右击”Ip安全策略,在本地机器”,选择”管理 IP 筛选器表和筛选器操作”,启动管理 IP 筛选器表和筛选器操作对话框。我们要先创建一个IP筛选器和相关操作才能够建立一个相应的IPsec安全策略。
3.在”管理 IP 筛选器表”中,按”添加”按钮建立新的IP筛选器:
1)在跳出的IP筛选器列表对话框内,填上合适的名称,我们这儿使用”tcp1433″,描述随便填写.单击右侧的”添加”按钮,启动IP筛选器向导。
2)跳过欢迎对话框,下一步。
3)在IP通信源页面,源地方选”任何IP地址”,因为我们要阻止传入的访问。下一步。
4)在IP通信目标页面,目标地址选”我的IP地址”。下一步。
5)在IP协议类型页面,选择”TCP”。下一步。
6)在IP协议端口页面,选择”到此端口”并设置为”1433″,其它不变。下一步。
7)完成。关闭IP筛选器列表对话框。会发现tcp1433IP筛选器出现在IP筛选器列表中。
4.选择”管理筛选器操作”标签,创建一个拒绝操作:
1)单击”添加”按钮,启动”筛选器操作向导”,跳过欢迎页面,下一步。
2)在筛选器操作名称页面,填写名称,这儿填写”拒绝”。下一步。
3)在筛选器操作常规选项页面,将行为设置为”阻止”。下一步。
4)完成。
5.关闭”管理 IP 筛
选器表和筛选器操作”对话框。
------------------------------------------------------------------------------------------------------
MSSQL 2005降低权限运行的方法
----------------------------------------------
在服务器安全方面.MSSQL server的sa提权是一定要防的.比如删存储过程(入侵者可以恢复)和删DLL都是个方法(入侵这可以自己上传).但最彻底的办法.我觉得还是用非system权限来启动SQL Server是最好的办法.绝对直接杜绝sa提权(当然牛人自有办法.不在此讨论范围).就算溢出SQL Server也得到不了系统权限.先说下我的失败之路:
  本以为.MSSQL2005和2000差不多.只要把安装路径有读取权限.MDF文件有写权限就可以了.可是启动服务的时候.来了个17058号错误.不知道为什么.跟傻子说了很久.后来还是自己摸索到了一个办法.期间还有另一个失败导致的结果是服务启动后又退出了.忘了当时是怎么设置的了.不过只要按下面的过程走.就绝对没问题:
  1.新建个用户sqluser.删除users组的权限.也就是不属于任何组.然后给MSSQL Server安装目录给上读取和运行权限.
  2.点开SQL Server的配置工具下的SQL Server Configuration Manager(直译:SQL Server配置管理器.呵呵).然后点SQL Server2005服务.在SQL Server(EXPRESS)上双击.在这里把sqluser的用户填上.密码填上.然后确定就是了.
  其实经过测试.一开始就知道.直接在服务管理器里填上sqluser的话.启动不了.因为比network用户少了点权限.具体少什么不知道.但是如果用SQL Server配置管理器.会发现sqluser属于SQLServer2005MSSQLUser$MEDIA$SQLEXPRESS组了.其中$$之间的是服务器名字.那么也就自然知道了纯手工的办法.就是在服务器管理器里把启动帐户改成SQLUSER后.还需要把sqluser加如到SQLServer2005MSSQLUser$MEDIA$SQLEXPRESS组中.呵呵...你服务器上这个组是什么名字.自己看吧.呵呵..