一、基础设施安全
服务器、操作系统都要用正规的高质量的,安装杀毒软件防火墙,使用攻击检测系统。
二、应用系统安全
开发程序的时候,应当事先知道并在代码层面处理大部分常见的安全问题。
1.sql注入
mybatis就使用#比使用$能规避掉很多sql注入攻击。
2.csrf(跨站请求伪造)攻击
大致三种方法,①在filter中验证HTTP Referer字段,②在请求地址中添加token并验证,③在HTTP头中自定义属性并验证,一般我是通过toekn验证,
具体参见https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/
3.xss(跨站脚本)攻击
总体的防御思路是对输入(和URL参数)进行过滤,对输出进行编码。
具体参见https://www.cnblogs.com/digdeep/p/4695348.html
4.文件上传漏洞防御
大致思路:①文件上传的目录设置为不可执行 ②判断文件类型 ③使用随机数改写文件名和文件路径 ④单独设置文件服务器的域名 ⑥在客户端和服务器端对用户上传的文件名和文件路径等项目进行双重验证 ⑦服务器端添加白名单过滤 ⑧对%00截断符进行检测 ⑨对HTTP包头的content-type也和上传文件的大小进行检查
具体参见http://blog.csdn.net/u014609111/article/details/52701827
5.路径遍历攻击防御
最有效的办法就是权限控制,谨慎处理传向文件系统API的参数,净化数据:对用户传过来的文件名参数进行硬编码或统一编码,对