600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 项目开发安全经验总结

项目开发安全经验总结

时间:2023-05-10 04:51:46

相关推荐

项目开发安全经验总结

项目开发安全经验总结

1、 安全思维2、 Linux/Windows服务器安全a) 系统安全b) 权限控制c) 定时检测d) 记录操作日志,定时保护日志3、 Nginx/Apache安全4、 Mysql 数据库安全5、 Php web运行环境安全6、 程序安全a) 页面限制b) 参数限制c) 行为限制d) 安全监控e) Mysql数据接口f) 风险控制机制7、 Memcache 、 Redis等缓存服务器8、写在最后

1、 安全思维

A)严格控制权限,最小业务授权;B)记录详细日志,快速完整识别追查问题发生的位置;C)定时备份(完整备份、每日增量备份),增加业务恢复可能;D)数据通信加密(HTTPS+高级别SSL证书),数据保存加密(RSA 4096bits);E)定时检测(特别是晚上10点到凌晨6点),关注异常行为。

2、 Linux/Windows服务器安全

a) 系统安全

i. 使用稳定高版本的成熟系统ii. 定时升级软件,打补丁

b) 权限控制

i. 限制端口开放ii. 限制ip访问(最好禁用IPv6,研究比较少)iii. 限制各类应用,分别给予专用 用户名/用户组Php: www用户 www用户组Mysql: mysql用户 mysql用户组ftp: ftp用户 ftp用户组iv. 限制目录权限限制正常目录/文件的权限,修改为root:root 755权限限制上传目录的权限,修改为www:www 700权限限制上传的文件权限,修改为644权限

c) 定时检测

本项内容需要编写bash、sh脚本,配置计划任务来实现。

i. 监测系统用户,发现新增用户,异常权限用户马上报警ii. 监测文件写入,特别是可执行文件,脚本的写入iii. 监测并记录异常时间段的正常访问:ssh / mysql等

d) 记录操作日志,定时保护日志

通过定时转移项目日志,修改日志权限来保护日志。

3、 Nginx/Apache安全

A)调整日志格式,记录更详细信息:多种用户IP,post数据等B)采用HTTPS通信,使用高级别的SSL证书C)Set-Cookie:HttpOnly、Secure / X-Frame-Options SAMEORIGIND)根据业务过滤常见的GET类型攻击E)严格控制上传的文件,并限制上传目录执行web脚本文件。

4、 Mysql 数据库安全

A)Root用户限制远程登录。必须使用远程超级用户的,一定要限制IPB)每个应用专用一个账号,指定访问IP,限制权限范围。上线运行时,只给Select_priv、Insert_prive、Update_priv、Delete_priv权限。更特殊的可根据数据表,甚至数据字段来授权。C)开启binlog日志

5、 Php web运行环境安全

A)使用disable_functions限制风险函数的执行,在不影响业务下可开启安全模式。B)expose_php off 防止暴露源码C)记录错误日志D)合理配置线程工作模式与子进程数量,防止程序崩溃。

6、 程序安全

a) 页面限制

i. 限制页面的访问ii. 限制页面的访问次数/频率

b) 参数限制

i. 限制参数数量,制作页面参数白名单ii. 限制参数类型,过滤参数内容iii. 限制参数输出,防止XSS攻击,防止关键参数泄露

c) 行为限制

i. 验证数据提交防止被篡改,一次一码 md5(uniqid())ii. 限制验证码类使用次数iii. 限制密码类错误尝试次数

d) 安全监控

i. 监控超级用户/管理员的权限异常ii. 监控并记录超级用户/管理员的操作行为iii. 监控核心变量的异常

e) Mysql数据接口

i. 生产环境,禁止异常sql命令,特别是 权限修改 跟into file这类sql命令;ii. 规范Sql命令,保障参数安全。

f) 风险控制机制

i. 程序源代码加密,减缓代码暴露核心参数;ii. 核心数据采用加密存储(RSA 4096bits),保护核心数据直接暴露;iii. 如采用api接口通信的,最好对数据加密后再传输(HTTPS也是可以被钓鱼的)。

7、 Memcache 、 Redis等缓存服务器

a) 限制使用IP,仅限本机使用;b) 严禁缓存核心数据,防止关键参数泄露。

8、写在最后

以上都是本人历年经验总结,写的不多,更谈不上详细,更多细节需要读者自己补充完善,算是抛转引玉吧。

欢迎拍砖。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。