您的位置:首页 > 其它

乐优商城--关于微服务的安全问题

2019-06-04 17:12 405 查看

1.微服务地址如果不消息暴露,如何处理?

  • 首先地址不会暴露,因为所有微服务都是通过zuul进行访问(微服务之间通过局域网进行访问,不经过外网),对外暴露的只有Zuul。其实Zuul也没有真正暴露,因为Zuul还进行了nginx反向代理。真正对外暴露外网ip的是nginx。
  • 万一暴露了呢? 服务间鉴权:我们需要在后台管理系统中专门有一套权限管理的页面,它来管理各个微服务及微服务与微服务之间的访问权限,我们需要额外定义表。首先得有一张微服务表,定义所有微服务唯一id、名称以及一些身份信息;还有一张表是微服务权限表,这张表要记录其中一个微服务A可访问的其他微服务的id关系,形成一个表关联。这样就把服务与服务之间的可访问的关系给记录下来了。
  • 我们一个服务要想访问另外一个服务,必须在后台管理页面当中 给它授权才行:
    比如,搜索微服务调用商品微服务:
    搜索微服务在发起请求时,必须首先自动的向ly-auth发一次请求,完成权限认证(可以放在项目启动时)。把得到认证的token必须缓存到微服务当中,并且拦截搜索微服务中的每一次请求(Feign请求)
    服务间通过Feign来完成,Feign拦截器,在请求发出之前,先去判断有没有token,如果没有,重新申请一下;如果有,把token携带在真正的请求参数里一起发送到商品微服务中,商品微服务也得写一个拦截器,对所有请求进行拦截,拦截下来以后,优先判断token,判断有没有访问权限,如果有,则放行(采用Jwt+RSA)

2.如果cookie被禁用怎么办?

  • 首先可以提示用户,网站必须使用cookie,不能禁用。
  • 把token放入头(response)中返回,JS中获取头信息,存入web存储(LocalStorage,SessionStorage),每次请求都需要手动携带token,写入头中。

3.如果cookie被盗用怎么办?

  • 我们的cookie无法篡改(签名)
  • 加入ip地址识别身份到载荷里(不太好)
  • 数据传输采用Https协议(非对称加密),防止数据泄露(电脑被黑/网络抓包)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: