当网站做得七七八八,调试也差不多的时候,就应该要对网站做一个安全检测和设置了,下面将简单地对.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.config的web.server中添加以下代码
<httpProtocol>
<customHeaders>
<addname="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
(4)当然了,SQL注入也是很重要的,在插入,查询时,建议不要使用传字段值,而是使用对象传值来进行。另外,还有很多入侵的方式也是需要我们去防御,那么在此推荐一个ASP.NET的安全性检测网站(https://asafaweb.com/)