Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revisionBoth sides next revision
zh:docs:guide-developer:security [2021/04/17 20:20] – [交付给用户] guyezizh:docs:guide-developer:security [2021/11/18 00:26] – 同步官方更新内容翻译 guyezi
Line 1: Line 1:
- 
 ====== 安全 ====== ====== 安全 ======
 +有关以往页面,请参阅以前的 [[:docs/guide-developer/security/old|安全]]页面.
  
-点击 [[:docs/guide-developer/security/old|这里]]访问旧版信息。 +页面列了 OpenWrt 用于确保 OpenWrt 安全的流程工具机制. 
- +这包括了 OpenWrt 发行版以及托管在 https://github.com/openwrt/ 的官方件包源托管在 https://git.openwrt.org/ 的 OpenWrt 专用工具,如 procdubus 和 libubox
-页面列了用于确保OpenWrt安全的流程工具机制 +
-涵盖https://github.com/openwrt/所承载的官方件包源及https://git.openwrt.org/承载的procdubus和libubox+
  
 ===== 漏洞报告 ===== ===== 漏洞报告 =====
 +安全漏洞应保密报告至 [[contact@openwrt.org]], 详见[[:bugs#reporting_security_bugs|报告安全漏洞]].
  
-应将安全性错误秘密报告给 [[contact@openwrt.org]], 请参阅[[:bugs#reporting_security_bugs|安全漏洞报告]]有关详细信息. +===== 安全建议 ===== 
- +==== 2021 年安全建议 ==== 
-===== 安全公告 ===== +<nspages advisory -actualtitle -textPages="" -exclude -numberedList -sortId -reverse -title -pregPagesOn="/2021-/">
- +
-==== 安全公告 2020 ====+
  
 +==== 2020 年安全建议 ====
 <nspages advisory -actualtitle -textPages="" -exclude -numberedList -sortId -reverse -title -pregPagesOn="/2020-/"> <nspages advisory -actualtitle -textPages="" -exclude -numberedList -sortId -reverse -title -pregPagesOn="/2020-/">
-==== 安全公告 2019 ==== 
  
 +==== 2019 年安全公告 ====
 <nspages advisory -actualtitle -textPages="" -exclude -numberedList -sortId -reverse -title -pregPagesOn="/2019-/"> <nspages advisory -actualtitle -textPages="" -exclude -numberedList -sortId -reverse -title -pregPagesOn="/2019-/">
  
 ===== 支持状态 ===== ===== 支持状态 =====
 +这列出了当前支持或不支持的 OpenWrt 版本.
  
-这列出了当前支持或不支持的OpenWrt版本.+^ 版本 ^ 当前状态 ^ 预计停止时间 ^ 
 +| 21.02 | 完全支持| | 
 +| 19.07 | 安全维护 | 2022 年 3 月 | 
 +| 18.06 | 终结维护 | 2020 年 12 月 | 
 +| 17.01 | 终结维护 | 停止 | 
 +| 15.05 | 终结维护 | 停止 |
  
-^ 版本 ^ 当前状态 ^ 预计EOL ^ +预计的停可以在以后延长, 具体取决于未来的情况, 例如下一个版本的发布日期.
-| 19.07 | 完全支持 | 2021 八月 | +
-| 18.06 | 终维护 | 2020 十二月 | +
-| 17.01 | 终止维护 | EOL | +
-| 15.05 | 终止维护 | EOL |+
  
-版本引用了此发行版分支中的最新稳定版本.+版本引用了此发分支中的最新稳定版本.
  
-  * 完全支持意味着OpenWrt团队为核心软件包提供更新,以修复安全性和我们意识到的其他问题. +  * 完全支持意味着 OpenWrt 团队为修复安全性和我们知道的其他问题的核心包提供更新
-  * 安全维护意味着OpenWrt团队仅可解决发行版中的安全问题,而不再解决任何错误. +  * 安全维护意味着 OpenWrt 团队仅修复此版中的安全问题,不再修复任何错误. 
-  * 寿命意味着我们将*不*针对严重的安全问题也不会提供任何更新请更新到最新版本.+  * 终结维护意味着我们将 *不严重的安全问题提供任何更新请更新到最新版本.
  
-预计的EOL可以扩展,具体取决于未来的情况,例如下一个版本发布日期.+OpenWrt 主要版本最初发布将进入完全支持状态. 
 +下一个 OpenWrt 主要版本发布时. 旧版本将进入安全维护模式.  
 +OpenWrt 主要版本将在初始版本发布后 1 年或下一个主要版本发布后 6 个月终止. 将使用较晚的日期.我们计划在支持周期结束时进行最终的次要版本.
  
-这仅涵盖核心OpenWrt软件而不涉及托管在github上的外部软件feedFeed软件包维护者并不会照顾所有仍支持核心组件的OpenWrt版本. +这仅包含核心 OpenWrt 包而不涵盖 github 上托管的外部包. 
-为了获得最佳的安全支持我们建议每个人都升级到最新的稳定版本.+提要包维护者并不关心支持核心组件的所有 OpenWrt 版本. 
 +为了获得最佳的安全支持我们建议大家升级到最新的稳定版本.
  
 ===== 识别问题 ===== ===== 识别问题 =====
- +OpenWrt 项目使用多种工具来识别潜在的安全问题. 
-OpenWrt项目使用多种工具来识别潜在的安全问题. +这些信息通常可供所有人使用, 我们感谢这些工具对每个人报告的问题的修复.
-这些信息通常所有人开放,我们感谢大家修复这些工具报告的问题.+
  
 ==== uscan ==== ==== uscan ====
 +该[[https://sdwalker.github.io/uscan/index.html|uscan报告]]显示, 从基础和包库所有软件包的版本号, 并确定它的上游近期发布的版本.
 +此外,生成此页面的工具还会根据许多包的 PKG_CPE_ID 变量中列出的通用平台枚举 (CPE) 检查分配给包的现有 CVEs. 
 +该页面每周为 master 和活跃分支更新.
  
-此报告显示基础库和软件包存储库中所有软件包的版本号,并将其与最近的上游发行版本进行比较.另外,生成此页面的工具还会根据许多软件包的PKG_CPE_ID变量中列出的公共平台枚举(CPE),检查分配给软件包的现有CVE. +==== 覆盖扫描 ==== 
-每周为master和active release分支重新生成此页面.[[https://sdwalker.github.io/uscan/index.html]] +OpenWrt 使用商业 [[https://scan.coverity.com/projects/openwrt|Coverity Scan]] 工具可免费用于开源项目对 OpenWrt 组件进行静态代码分析. 
- +每周扫描一个 OpenWrt 构建, 并报告在 OpenWrt 项目中开发的组件(如 procd 和 ubus)中发现的问题未在(patched)第三方组件上报告.
-==== 覆盖范围扫描 ==== +
- +
-OpenWrt使用商业化的Coverity Scan工具,该工具可免费提供给开源项目,以对OpenWrt组件进行静态代码分析.  +
-它将每周扫描一个OpenWrt版本,并报告在OpenWrt项目中开发的组件如procd和ubus中发现的问题不适用于(patched)第三方组件. +
-[[https://scan.coverity.com/projects/openwrt]]+
  
 ===== 可复制构建 ===== ===== 可复制构建 =====
- +[[https://reproducible.debian.net/openwrt/openwrt.html|可复制的构建项目]]检查OpenWrt master 仍然是可重现的. 
-OpenWrt发行版应具有可复制性,以便可以检查我们生成的发行是否确实与我们交付的源代码匹配并且在构建过程中引入任何后门. +这证明生成的版确实与交付的源代码匹配并且在构建过程中没有引入后门.
-可复制的构建项目检查OpenWrt master是否仍可复制,并在此处发布结果:[[https://reproducible.debian.net/openwrt/openwrt.html]]+
  
 ===== 交付给用户 ===== ===== 交付给用户 =====
 +OpenWrt 运行多个构建[[:infrastructure#Buildbot|build bot 实例]], 它们正在构建 ''master'' 和支持的发布分支的快照.
  
-OpenWrt运行多个Buildbot实例这些实例正在构建master和受支持发行分支的快照请参见[[:infrastructure#Buildbot]]有关详细信息.+当对包的更改提交到包源的 OpenWrt 基础存储库时, build bots 会自动检测此更改并将重建此包. 
 +然后构建的包可以使用 opkg 安装或由 OpenWrt 用户与图像生成器集成. 
 +这使我们能够在大约 2 天内向最终用户发送更新.
  
-当对软件包提要更改提交到软件包提要的OpenWrt基础存储库时,构建bot将自动检测到更改将重新生成此软件包+内核通常位于其自己分区中, 因升级不容易
-然后,新生成的软件包可以与opkg一起安装,或者由OpenWrt的户与映像生成器集成.这使我们能够在大约2天将更发送给最终用户.+这种机制目前不适于内核本身和核模块, 需要一个的次要版本来向最终用户发送修复程序.
  
-内核通常位于其自己的分区中,因此升级不太容易.因此,该机制当前不适用于内核本身和内核模块,因此需要一个新的次要版本才将修补程序提供给最终用户.+===== 强化build选项 ===== 
 +OpenWrt在编译时为所有包build激活[[https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=config/Config-build.in|build 配置]]中的些builds强化选项. 
 +请注意别插件包可能 和/或 targets 会忽略或不遵守这些设置.
  
-===== 强化构建选项 ===== +^ .config line ^ 默认启用 ^ Notes 
-OpenWrt在编译时为所有软件包的构建激活一些构建强化选项. +| ''CONFIG_PKG_CHECK_FORMAT_SECURITY=y''Yes | ''-Wformat -Werror=format-security''
- +| ''CONFIG_PKG_CC_STACKPROTECTOR_REGULAR=y''Yes | ''-fstack-protector'' |
-来源: [[https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=config/Config-build.in|config/Config-build.in]]. 请注意,各个程序packages 和/或 targets 可能会忽略或不遵守这些设置. +
- +
-^ .config 系 ^ 默认启用注意 +
-| ''CONFIG_PKG_CHECK_FORMAT_SECURITY=y''启用 | ''-Wformat -Werror=format-security''+
-| ''CONFIG_PKG_CC_STACKPROTECTOR_REGULAR=y''启用 | ''-fstack-protector'' |+
 | ''CONFIG_PKG_CC_STACKPROTECTOR_STRONG=y'' | | ''-fstack-protector-strong'' | | ''CONFIG_PKG_CC_STACKPROTECTOR_STRONG=y'' | | ''-fstack-protector-strong'' |
-| ''CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR=y''启用 | Kernel config CONFIG_STACKPROTECTOR |+| ''CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR=y''Yes | Kernel config CONFIG_STACKPROTECTOR |
 | ''CONFIG_KERNEL_CC_STACKPROTECTOR_STRONG=y'' | | Kernel config CONFIG_STACKPROTECTOR_STRONG | | ''CONFIG_KERNEL_CC_STACKPROTECTOR_STRONG=y'' | | Kernel config CONFIG_STACKPROTECTOR_STRONG |
-| ''CONFIG_PKG_FORTIFY_SOURCE_1=y''启用 | ''-D_FORTIFY_SOURCE=1'' (为强制开启musl libc [[https://git.2f30.org/fortify-headers/|fortify-headers]]) | +| ''CONFIG_PKG_FORTIFY_SOURCE_1=y''Yes | ''-D_FORTIFY_SOURCE=1'' (对 musl libc使用 [[https://git.2f30.org/fortify-headers/|fortify-headers]]) | 
-| ''CONFIG_PKG_FORTIFY_SOURCE_2=y'' | | ''-D_FORTIFY_SOURCE=2'' (为强制开启musl libc [[https://git.2f30.org/fortify-headers/|fortify-headers]]) | +| ''CONFIG_PKG_FORTIFY_SOURCE_2=y'' | | ''-D_FORTIFY_SOURCE=2'' (对 musl libc使用 [[https://git.2f30.org/fortify-headers/|fortify-headers]]) | 
-| ''CONFIG_PKG_RELRO_FULL=y''启用 | ''-Wl,-z,now -Wl,-z,relro''+| ''CONFIG_PKG_RELRO_FULL=y''Yes | ''-Wl,-z,now -Wl,-z,relro''
-| ''CONFIG_PKG_ASLR_PIE=y'' | | ''-PIE''  (some own spec file)|+| ''CONFIG_PKG_ASLR_PIE=y'' | | ''-PIE'' (一些自己的文件规范) | 
  • Last modified: 2023/12/28 18:59
  • by heybrowhatsup