厉害了,为了干掉 HTTP ,Spring团队又开源 nohttp 项目!

举报
云享专家 发表于 2019/10/14 16:00:56 2019/10/14
【摘要】 nohttp 可用于查找、替换和阻止 http:// 的使用,项目库包含了几大模块: nohttp - 核心,允许查找和替换 http:// URL nohttp-cli - 轻量的 nohttp 封装,用于命令行运行 nohttp-checkstyle - nohttp 与 checkstyle 集成 nohttp-gradle - nohttp 与 Gradle 集成

Spring 团队开源 nohttp 项目,用以查找、替换和阻止 http:// 的使用。

项目是为了在可能使用 https:// 的情况下不使用到 http://,确保不会发生中间人攻击

Spring Security、Session 和 LDAP 项目负责人 ROB WINCH 指出,Spring 团队竭尽全力更新所有 URL 以使用 HTTPS,包括项目 Maven 存储库 URL、Apache License 与文档链接。

但是有些情况下确实无法使用 HTTPS,例如,Spring 链接的某些站点不支持 HTTPS、XML 命名空间标识符必须与文档中的标识符匹配等。

Spring Framework 目前已经更新,以解析通过类路径使用 HTTPS 位置的 XML 位置。以往这仅适用于使用 HTTP 的 URL。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
       https://www.springframework.org/schema/beans/spring-beans.xsd"
>

上边 https://www.springframework.org/schema/beans/spring-beans.xsd URL 通过类路径解析,而不需要网络连接

这里 XML 命名空间名称(标识符)无法更改为使用 HTTPS。从安全控制的角度来看,这其实并不理想,但因为不通过网络请求,所以对用户几乎没有任何伤害。

另一方面,ROB 表示 Spring 团队已更新所有主机以确保使用 HTTPS,每个站点都支持 HTTPS、重定向到 HTTPS,并使用 Strict Transport Security。

以往潜在的中间人攻击意味着构建基础架构可能已经受到损害,为此,Spring 重新构建了所有构建基础架构并轮换了所有凭据。

这些安全措施是很重要的,但是 ROB 表示安全控制措施到位也很重要,这可以确保问题不再发生。于是团队更新了构建箱以阻止 HTTP 流量,同时为了保护开发人员和用户,创建了 nohttp 项目。

nohttp 可用于查找、替换和阻止 http:// 的使用,项目库包含了几大模块:

  • nohttp - 核心,允许查找和替换 http:// URL

  • nohttp-cli - 轻量的 nohttp 封装,用于命令行运行

  • nohttp-checkstyle - nohttp 与 checkstyle 集成

  • nohttp-gradle - nohttp 与 Gradle 集成

  • samples - 一些 nohttp 用例

详情查看项目介绍:https://github.com/spring-io/nohttp

作者:方志朋

方志朋简介:SpringCloud中国社区联合创始人,博客访问量突破一千万,爱好开源,热爱分享,活跃于各大社区,保持着非常强的学习驱动力,终身学习践行者,终身学习受益者。目前就职于国内某家知名互联网保险公司,担任DEVOPS工程师,对微服务领域和持续集成领域研究较深,精通微服务框架Spring Cloud


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。