最近一直在为自已的项目在上线前的安全处理,本鸟由于经验有限,所以常常查资料,做测试到深夜,正好今天做了一个总结分享给大家!以下提供原文及word版本(写在word里的)方式,希望有需要的朋友参考。
说明:本人技术有限,解决方案未必完美,高手绕过,勿喷!
1.服务器系统安全
A.服务器硬件:主要为硬盘数据及时备份及异地备份或双硬盘。
B.服务器软件:1.服务器密码定期修改(一个月)并符合复杂性要求。[linux下将root用户改名并修改或隐 藏系统的banner信息]。
2.及时打补丁、升级等[关注官方漏洞列表]。
3.设置加密码连接并修改连接端口、关闭或卸载不必要的服务、端口。
4.linux下,设置严格的iptables策略、设置web执行用户操作服务器的权限。
5.开启SSL安全访问。
威胁说明:1.root暴力破解。2.针对banner信息特定攻击。3.新漏洞利用攻击。4.远程连接劫持。5.利用其他 易忽略服务攻击。6.利用web软件提权。
2.目录安全
将项目、框架目录放置在web目录之外[只将部分目录如公共目录及图片上传放在web目录下]。
设置上传目录的权限为只读写,不执行程序代码(或将上传目录放于另一域名下)。
威胁说明:目录结构暴露及伪图片/图片木马攻击。模板及程序被下载。
3.代码安全
httpoly 开启(虽然用处不大)。
cookie安全[cookie名称及值加密][采用签名+双md5()]
Web跨域提交攻击及跨页面提交[设置URL认证及签名cookie及hidden的token或令牌]
数据过滤安全XSS:1.接收用户数严格过滤。2.入库转实体。
表单安全:加验证码及C的方式。
逻辑安全:1.接收参数如ID是否存。2.ID是否转整或字符是否转强换及过滤。3.判断数据库是否存该记录。 4.存在是否符合要求(如所属主是否有权限操作)。等等(多想想)。
威胁说明:1.cookie盗取及利用。2.跨域攻击(机器远程攻击)。3.XSS攻击提权。4.表单机器提交等。
4.程序文件安全
模板文件暴露及字段猜解。程序文件名暴露及程序被下载。
其他未知安全。
威胁及方案:采用二的目录安全可解决。
5.数据库安全
数据库异地备份、数据逆向同步备份。
修改banner信息。定期修改mysql的root密码,设置远程连接数据库的权限(最好禁止远程连接)
表字段及数据库加前缀。
D.修改mysql的端口号。
6.其他安全
生成静态文件访问。
设置伪静态。
屏蔽错误信息。
说明:以上为个人平时经验及实验总结(仅供参考)。当然还有很多的攻击方式未写到。总结解决方案也未必完美,由于个人水平有限及遇到的情况所限,还有待更多的朋友分享。
如有其他疑问请联系:15210079701@126.com《PHP及安全爱好者-李伟杰(原创)》
如果您认同,并鼓励我分享更多的原创,请点"赞",谢谢!
附件
web-safe-6.zip
( 4.49 KB 下载:27 次 )