oauth2-shiro 2.0.0版本发布,安全大升级

oauth2-shiro v2.0.0版本正式发布,在距上一次发布7年后,更新了大版本,对安全漏洞等问题进行大升级。

该版本主要更新内容:

  1. 升级使用springboot,调整工程结构,打包由war换成jar,使用thymeleaf替换servlet/jsp;spring大版本升级到5.3提升安全性。
  2. JDK由1.7升级到1.8,日志框架使用logback替换log4j(处理掉log4j安全漏洞)。
  3. 升级shiro版本到v1.11.0,解决相应的shiro版本漏洞。
  4. 密码存储算法由MD5替换为SHA-256,并支持盐(salt),让密码存储更安全可靠(通过配置参数authz.store.credentials.alg来控制与向下兼容)。
  5. OAuth token支持使用JWT格式(通过配置参数authz.token.generator.type来控制与向下兼容)。
  6. 对初始的账户密码与client secret使用更加安全的密码策略:包括大小写字母,数字与特殊符号,长度至少10位。

v2.0.0版本链接:https://gitee.com/mkk/oauth2-shiro/tree/2.0.0/

【推荐升级】

spring-dynamic-job v1.1发布;基础架构升级

spring-dynamic-job 创建以后(2014年开始)最大的版本发布v1.1,对基础架构升级满足新技术迭代需要,并增加更友好文档说明。

spring-dynamic-job 是 Spring与Quartz整合示例,有固定Job与动态Job实现示例,并提供相关工具类。

v1.1版本主要更新内容:

  1. 工程结构由传统的web工程变为SpringBoot架构,升级Spring,Quartz等版本解决各类历史漏洞等问题。
  2. Java版本升级使用openjdk 17,更好的支持java新特性与性能提升。
  3. 旧的XML配置全变更为 java config配置
  4. 日志组件由log4j更换为logback(解决log4j相关漏洞)
  5. 优化:使用文档重新调整目录结构,更新说明内容

v1.1版本链接:https://gitee.com/mkk/spring-dynamic-job/tree/1.1/

docker版jenkins安装与使用总结

一名话总结:不好使用,坑点比较多。

首先说明下使用的镜像是从jenkins官方中文网站(https://www.jenkins.io/zh/doc/book/installing/#prerequisites)上引导的docker镜像:jenkinsci/blueocean(https://hub.docker.com/r/jenkinsci/blueocean/)。

(常用的还有另一个镜像 https://hub.docker.com/r/jenkins/jenkins/ 可选择)。

好处:安装下载很方便,几个docker命令就能运行起来(相比传统的下载jenkins.war,再弄个tomcat就能跑起来会便捷些)。

比较坑的点总结:

  1. 安装时选择推荐的插件进行安装,最常见的git插件会安装失败,并且尝试了多次,用多种方法(在线安装并重启,离线安装并重启)才把这插件安装成功。
  2. 使用默认的官方的JDK Linux安装包(如 jdk-8u202-linux-x64.tar.gz),配置后在构建时无法使用(使用挂载目录的也不行),报No such file or directory,追究根源竟然是docker镜像使用一个很基础的Linux版本,官方提供的java命令依赖的.so文件在此版本上不支持(只有使用镜像中jenkins自带的openJDK,版本为11,不满足工程编译需求),坑爹,花了不少时间。
  3. 镜像中默认的用户名是jenkins,用户目录为/var/jenkins_home/,与一般大家熟悉的/home/{username}/不一致,导致一些用户生成的敏感文件(如ssh key)在使用与读取文件时要留意特别容易犯错;另外默认的jenkins用户没有root类似权限,很多目录无法访问。

经过近半天的折磨,最后终于放弃这种方式的jenkins,回归传统:下载jenkins.war,并用tomcat启动使用,顺畅愉悦可控了许多。

参考文章:

  • https://www.cnblogs.com/andy0816/p/15549405.html
  • https://blog.csdn.net/qq_38983728/article/details/85223685

0day漏洞解决之道-RASP

什么是0day漏洞:是指软件(或系统)中已经被人发现,但还并未被开发商或使用者所知晓的应用缺陷或隐患。(参见 https://new.qq.com/rain/a/20230113A0006800)。

什么是RASP(Runtime Application Self-Protection):即应用运行时对自身进行自我保护的一种安全技术。最早在2014年的时候,Gartner引入了“Runtime application self-protection”一词,是一种新型的应用安全保护技术。

为什么说RASP能解决0day漏洞,是因为RASP与应用绑定在一起运行,实时检测应用运行中的内存情况,调用的函数,执行的命令等等。而任何的黑客攻击行为(不管通过什么漏洞进行的攻击)最终目的都是通过应用获取主机的控制访问权,而要获取到主机的访问权最终都是通过能执行主机上的命令(远程连接),或能查看主机密码文件,或上传/下载主机文件等。RASP就是针对这些敏感的操作在进行相应的命令(如查看密码文件)执行前进行检查并拦截处理。简单点说和人体打的疫苗有类似效果—-不管你如何进来的,只管你干没干坏事。一张形象的示意图如下:

原理
图片来源 https://help.aliyun.com/document_detail/433325.html

更多关于RASP的相关知识参见:

若需要体验RASP产品,有以下可选择:

————– ——————

RASP在快速发展中,值得持续关注。

2023年阅读计划

阅读是一生的事业,2023阅读计划

  1. 《聪明的投资者》1月
  2. 《星巴克流:好员工的培养法》4月
  3. 《混合云架构》1月ε
  4. 《黑客与画家》ε
  5. 《知行合一:王阳明》3月ε
  6. 《深入浅出Docker》3月
  7. 《足彩投资-赔率核心思维》1月
  8. 《我的二本学生》2月ε
  9. 《黑客与画家》2月ε
  10. 《产品思维-从新手到资深产品人》4月ε
  11. 《徐霞客游记》5月ε
  12. 《ToB的本质:行业逻辑与商业运作》7月
  13. 《Spring Security 实战》7月
  14. 《密码了不起》8月
  15. 《任正非传》7月ε
  16. 《人生路遥》8月ε
  17. 《毛泽东的书单》8月ε

2022年阅读计划

2021年阅读计划

2020年阅读计划

2019年阅读计划

2018年阅读计划

2017年阅读计划

2016年及之前所看之书