Spring的nohttp宣言:消灭http://

解道jdon 2021-05-03 19:16:25
http spring 消灭 宣言 nohttp


我很高兴地宣布nohttp项目,寻找任何方法试图完全替换http://的使用。

背景

今天,Jonathan Leitschuh发表了一篇名为“ 想要接管Java生态系统 ”的博客[url=https://medium.com/@jonathan.leitschuh/want-to-take-over-the-java-ecosystem-all-you-need-is-a-mitm-1fc329d898fb]你需要的只是一个MITM![/url]。该博客演示了数百个Java库正在通过HTTP下载依赖项。这将导致潜在的MITM(中间人)攻击

不幸的是,有多个Spring项目使用HTTP来下载依赖项。幸运的是,我们没有发现MITM攻击成功的迹象。我们还解决了这个问题,以确保将来不会发生MITM攻击。

Spring团队反应

Spring Team非常重视安全性。由于发现有Spring项目通过HTTP下载依赖项,我们已采取措施确保将来不会发生MITM攻击。最明显的变化是更新Maven存储库位置以使用HTTPS。但是,我们通过在所有地方切换到使用HTTPS(几乎)来进一步采取这一措施。

现在是2019年,我们要确定删除HTTP的使用!使用HTTPS 快速简单免费提供,没有理由继续使用HTTP!作为开发人员,重要的是我们帮助世界过渡到任何地方都使用HTTPS(甚至静态站点需要HTTPS)。

我们当然不是唯一试图消除HTTP使用的人。我们形成了加密,使HTTPS免费,自动化和开放。Chrome已更新其UI以指示HTTP不安全。Maven Central已弃用HTTP。名单还在继续。

用HTTPS替换HTTP

Spring团队竭尽全力更新所有URL以使用HTTPS。这包括从Maven存储库URL到Apache许可证到文档链接的所有内容。在某些情况下,无法使用HTTPS。例如,我们链接的某些站点不支持HTTPS,XML名称空间标识符必须与文档中的标识符匹配,依此类推。

通过Classpath的HTTPS XML位置

在我们消除HTTP使用的努力中,Spring Framework 已经更新,以解析通过类路径使用HTTPS位置的XML位置。以前,这仅适用于使用HTTP的URL。请考虑以下XML配置:

<?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.xsdURL通过类路径,而不需要网络连接解决。

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

基础设施更新

Spring团队已更新所有主机以确保使用HTTPS。每个站点都支持HTTPS,重定向到HTTPS,并使用严格传输安全性

潜在的MITM意味着我们的构建基础架构可能已经受到损害。为此,我们重新构建了所有构建基础架构并轮换了所有凭据。

新的安全控制

虽然对安全事件做出反应很重要,但安全控制措施到位也很重要,以确保问题不再发生。

我们更新了构建框以阻止HTTP流量,以确保不会再发生这种情况。为了保护开发人员和用户,我们创建了nohttp项目。此项目可用于查阅,替换和阻止http://的使用,同时务实允许允许无法更改的URL(例如XML命名空间名称)。有关其他详细信息,请参阅项目的站点。

版权声明
本文为[解道jdon]所创,转载请带上原文链接,感谢
https://www.jdon.com/52447

  1. CSS layout
  2. Application scenario explanation of Vue dynamic component
  3. Redux learning notes 04 -- using multiple reducers to manage data
  4. After three months of typescript writing, what have I learned?
  5. Node family - what is a callback?
  6. React -- a simple implementation of render & create element
  7. JS learning simple usage of jquery
  8. Seamless love
  9. 小白前端入门笔记(12),设置哑链接
  10. Small white front-end entry notes (12), set dumb links
  11. Vue2. X opens composition API and TSX
  12. Interview record and thinking of social recruitment for one and a half years (Alibaba, Tencent, baidu offer)
  13. Flex learning notes
  14. The most essential closure article in the eastern hemisphere
  15. 2021-05-03 hot news
  16. Sword finger offer -- reverse order pair in array (JS Implementation)
  17. Working process of scaffold
  18. Use decorator mode to strengthen your fetch
  19. [JS] scope (Introduction)
  20. Employment information statistics network (interface document)
  21. Analysis of MVC
  22. [middle stage] please stay and join me in the backstage
  23. Understanding front end garbage collection
  24. [continuous update] front end special style implementation
  25. Flutter product analysis and package reduction scheme
  26. XPath positioning
  27. 前端开发css中的flex布局的使用
  28. The use of flex layout in front end development CSS
  29. JQuery核心函数和静态方法
  30. JQuery core functions and static methods
  31. Node family - understanding of blocking and non blocking
  32. 热点微前端Microfrontend的讨论:谷歌AdWords是真实的微前端
  33. Vue source code analysis (2) initproxy initialization proxy
  34. What's TM called react diff
  35. Summary of common front end data structure
  36. Useeffect in hooks
  37. [encapsulation 02 design pattern] Command pattern, share meta pattern, combination pattern, proxy pattern, strategy pattern
  38. Front end notes: virtual Dom and diff of vue2. X
  39. The best code scanning plug-in of flutter
  40. The simplest plug-in for rights management of flutter
  41. 21. Object oriented foundation "problems and solutions of object traversal"
  42. Discussion on hot micro front end: Google AdWords is a real micro front end
  43. Usecallback and usememo for real performance optimization
  44. 【前端圭臬】十一:从规范看 JavaScript 执行上下文(下)
  45. [front end standard] 11: Javascript execution context from the perspective of specification (2)
  46. Hexagonal六角形架构ReactJS的实现方式 - Janos Pasztor
  47. Transaction of spring's reactive / imperative relational database
  48. The implementation of hexagonal hexagonal reactjs Janos pasztor
  49. HTTP状态码:402 Payment Required需要付款 - mozilla
  50. HTTP status code: 402 payment required - Mozilla
  51. Factory mode, constructor mode and prototype mode
  52. Build the scaffold of react project from scratch (Series 1: encapsulating a request method with cache function based on Axios)
  53. Cocos Quick Start Guide
  54. Comparison of three default configurations of webpack5 modes
  55. A case study of the combination of flutter WebView and Vue
  56. CSS: BFC and IFC
  57. A common error report and solution in Vue combat
  58. JS: this point
  59. JS: prototype chain
  60. JavaScript series -- promise, generator, async and await