美文网首页
SpringCloud config的安全性

SpringCloud config的安全性

作者: 黄靠谱 | 来源:发表于2019-07-12 16:44 被阅读0次

手段

https://www.jianshu.com/p/1dbd9a83880f

  1. 配置服务端的用户密码,避免无关人员直接获取到项目配置文件

可以通过对 config server配置 用户名 和密码,从而实现安全(不能通过url 直接获取到关联的代码仓库的配置文件),需要登录账号密码才可以查看。 同时客户端也要配置用户名和密码

security:
  basic:
    enabled: true
  user:
    name: root
    password: 123456
    

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
  1. 使用内网(阿里云),不支持外网通过url直接访问 config服务端查看配置情况。依赖配置的服务也在内网。

  2. 加密解密,从而保护敏感信息,不至于明文显示。但是可以通过url访问获取到密文(可能设计到登陆账号密码,或者内网环境,不对外开放直接的url访问,或者读取config server的配置文件的encryp.key)

  • 通过配置encrypt.key 来开启加密
  • 比如用Post请求来获取加密后的值
http://localhost:8001/encrypt/status
# 生成加密后的值
curl root:123456@localhost:8001/encrypt -d zhihao.miao 
87da683d3f37607c848cba041891d1740a33461051eba034b7ff881319cf0eab
# 解密
curl root:123456@localhost:8001/decrypt  -d 87da683d3f37607c848cba041891d1740a33461051eba034b7ff881319cf0eab

demo

  • 先通过明文加密生成加密值 # curl root:123456@localhost:8001/encrypt -d zhihao.miao
  • 在服务端配置需要的密文 # encrypt.key= zhihao.miao
  • 在配置中心里面配置加密值 # test.name={cipher}87da683d3f37607c848cba041891d1740a33461051eba034b7ff881319cf0eab

然后通过直接访问服务器,获取到密文
http://localhost:8001/spring-cloud-config-client-test.properties

test.name=zhihao.miao

curl localhost:8001/encrypt -d sa_dev

其它: 一个密文 加密每次会生成不同的明文,但是这些明文解密后的密文是一样的
所以如果拥有config server的url访问权限,可以根据代码仓库的密文,通过解密反推出明文。(骚操作啊)

加密的注意事项

加密的安全性要非常注意,因为通过url,可以破解出对应的密文。
curl root:123456@localhost:8001/decrypt -d 87da683d3f37607c848cba041891d1740a33461051eba034b7ff881319cf0eab

所以一般的操作是:

  1. config server 配置账号密码,防止 直接通过url的形式,破解出密文
  2. 客户端连接config server是通过注册中心连接,而不是账号密码的形式连接到config server(eureka有账号密码认证),从而保护了 server的账号密码

但是一旦拥有了config server的账号密码(可以通过查看config项目的bootstrap.properties获得),通过eureka可以看到 config server的IP + 端口,还是可以通过明文破解出密文

其实用户名和密码对于数据库也没那么重要

  1. 如果mysql 开启了ip认证的话,即使有账号密码也无法登陆数据库 (虽然一般 dev / test都关闭了对 IP的限制)
  2. 阿里云的mysql 比如 uat和 prod都是只能通过dms才能访问的,都没有账号密码一说

相关文章

网友评论

      本文标题:SpringCloud config的安全性

      本文链接:https://www.haomeiwen.com/subject/wjjykctx.html