(ASP.NET).NET网站的安全性配置

来源:互联网 发布:上瘾网络剧北京发布会 编辑:程序博客网 时间:2024/06/04 18:06

当网站做得七七八八,调试也差不多的时候,就应该要对网站做一个安全检测和设置了,下面将简单地对.Net网站的配置

(1)首先,一定要关闭<customErrors>表现的mode 由”off”(显示完整错误信息并且现在错误代码位置)  改为 ”RemoteOnly”。同时指定向一个自定义错误页defaultRedirect="~/Error"

 

(2)其次,去除多余的http相应头,以避免泄露更多的服务器信息。下面为去除http相应头的方法(参考于http://blog.chinaunix.net/uid-11898547-id-4078107.html):

去除X-AspNet-VersionHTTP头

仅在web.config里添加<httpRuntimeenableVersionHeader="false" /> 即可去除(注意httpRuntime只能有一条!!!!

 

移除X-AspNetMvc-VersionHTTP头

    X-AspNetMvc-Version HTTP头会自动被Asp.net MVC框架加入进去,如果你没有使用Asp.net MVC,这个HTTP头不会存在.移除这个HTTP头的方式是在Global.asax的Application_Start事件中将MvcHandler类的DisableMvcResponseHeader属性设置为True

 

移除X-Powered-ByHTTP头

这里直说IIS7以上的操作

点击你要操作的website后,在IIS的子菜单中,选择HTTP响应标头,将X-Powered-By HTTP去除即可。

 

移除ServerHTTP头

   这个HTTP头会自动附加在当前的IIS相应中,删除这个HTTP头可以使用微软免费的UrlScan工具.

 

C:Windows\System32\inetsrv\urlscan里有个UrlScan.ini文件,需要用管理员的权限打开,我的方法是进入管理员的cmd,转到该目录下,运行命令 notepad UrlScan.ini就用记事本打开可以编辑了,里面有个RemoveServerHeader,设置为1即可

 

 

(3)接着,为了防止iframe挂马和避免点击持劫的可能性,还需要在web.configweb.server中添加以下代码

<httpProtocol>

      <customHeaders>

              <addname="X-Frame-Options" value="SAMEORIGIN" />

      </customHeaders>

</httpProtocol>

 

 

(4)当然了,SQL注入也是很重要的,在插入,查询时,建议不要使用传字段值,而是使用对象传值来进行。另外,还有很多入侵的方式也是需要我们去防御,那么在此推荐一个ASP.NET的安全性检测网站(https://asafaweb.com/)