最近一直协助客户完成网站安全等保测评,从中学到了不少,先记录下来,以后估计会用到。
等保测评安全问题及解决方案:
1、网站使用HTTP方式进行访问,无法保证传输数据的保密性和完整性,需使用HTTPS方式进行访问。
解决方法:看上期Http转Https。
Http转Https
2、网站存在跨脚本漏洞。
解决方法:对HTML、JavaScript进行Escape转义或者自定义转义。
3、密码禁止明文传输。
解决方法:最好单独另开一个页面用于设置密码,在页面尽量不要显示密码,如果要显示,那也是加密显示,在传输的时候进行加密传输。
此处分享一下JS实现国密算法SM4来进行加密密码传输:
JS实现SM4
<script src="~/Scripts/Basic/long.js"></script>
<script src="~/Scripts/SM4/byteAndString.js"></script>
<script src="~/Scripts/SM4/sm4.js"></script>
<script src="~/Scripts/SM4/sm4Util.js"></script>
//用法
function Test(password)
{
var sm4Util = new sm4utils();
var transPwd = sm4Util.encryptData_ECB(password);
}
4、系统未自定义错误页面。
解决方法:自定义错误页面。
在网站根目录下新建一个文件夹,专门用于放置错误页面,记住,是静态的HTML文件
页面建好以后,打开Web.config文件,在<system.webServer>节点下添加以下代码:
可以根据需要,添加其他错误页面,如500,501等,格式和这个一样
<httpErrors errorMode="Custom" defaultResponseMode="Redirect">
<remove statusCode="403" subStatusCode="-1"/>
<error statusCode="403" prefixLanguageFilePath="" path="/CustomError/403.html" responseMode="ExecuteURL"/>
</httpErrors>
添加完毕以后,打开IIS,可以双击错误页,就可以看见设置好的错误代码及对应错误页。
简洁的自定义404页面
5、禁止IIS目录浏览.
解决方法:打开IIS–》找到对应网站–》打开功能视图–》双击目录浏览–》点击右侧,禁用目录浏览,即可。
测试直接浏览网站地址下的目录文件,实现效果: