This translation is older than the original page and might be outdated. See what has changed.

安全

有关以往页面,请参阅以前的 安全页面.

此页面列出了 OpenWrt 用于确保 OpenWrt 安全的流程, 工具和机制. 这包括了 OpenWrt 发行版以及托管在 https://github.com/openwrt/ 的官方插件包源以及托管在 https://git.openwrt.org/ 的 OpenWrt 专用工具,如 procd, ubus 和 libubox

安全漏洞应保密报告至 contact@openwrt.org, 详见报告安全漏洞.

这里只列出了由OpenWrt团队直接维护的组件的安全建议。并没有列出OpenWrt使用的第三方组件的所有的安全问题,但这些问题也会影响OpenWrt的安全。我们不会列出Linux内核、openssl和其他第三方组件中的已知安全问题,即使它们影响到与OpenWrt相关的使用情况。OpenWrt团队监控上游项目,并将OpenWrt核心库中使用的组件的安全补丁回传到仍然支持的OpenWrt版本。例如159 CVEs仅在2021年就被分配到了Linux内核,OpenWrt定期更新Linux内核小版本以获得最新的修复。

这列出了当前支持或不支持的 OpenWrt 版本.

版本 当前状态 预计停止时间
22.03 完全支持 -
21.02 完全支持 2022年12月
19.07 终止维护 EoL (2022年4月)
18.06 终止维护 EoL
17.01 终止维护 EoL
15.05 终止维护 EoL

预计的停止可以在以后延长, 具体取决于未来的情况, 例如下一个版本的发布日期.

版本引用了此发布分支中的最新稳定版本.

  • 完全支持意味着 OpenWrt 团队为修复安全性和我们知道的其他问题的核心包提供更新.
  • 安全维护意味着 OpenWrt 团队仅修复此版本中的安全问题,不再修复任何错误.
  • 终结维护意味着我们将 *不再* 为严重的安全问题提供任何更新. 请更新到最新版本.

OpenWrt 主要版本在最初发布后将进入完全支持状态. 当下一个 OpenWrt 主要版本发布时. 旧版本将进入安全维护模式. OpenWrt 主要版本将在初始版本发布后 1 年或下一个主要版本发布后 6 个月终止. 将使用较晚的日期.我们计划在支持周期结束时进行最终的次要版本.

这仅包含核心 OpenWrt 包而不涵盖 github 上托管的外部包源. 一些提要包维护者并不关心仍然支持核心组件的所有 OpenWrt 版本. 为了获得最佳的安全支持, 我们建议大家升级到最新的稳定版本.

OpenWrt 项目使用多种工具来识别潜在的安全问题. 这些信息通常可供所有人使用, 我们感谢这些工具对每个人报告的问题的修复.

uscan报告显示, 从基础和包库所有软件包的版本号, 并确定它的上游近期发布的版本. 此外,生成此页面的工具还会根据许多包的 PKG_CPE_ID 变量中列出的通用平台枚举 (CPE) 检查分配给包的现有 CVEs. 该页面每周为 master 和活跃分支更新.

OpenWrt 使用商业 Coverity Scan 工具可免费用于开源项目对 OpenWrt 组件进行静态代码分析. 这每周扫描一个 OpenWrt 构建, 并报告在 OpenWrt 项目中开发的组件(如 procd 和 ubus)中发现的问题, 但未在(patched)的第三方组件上报告.

可复制的构建项目检查OpenWrt master 仍然是可重现的. 这证明生成的版本确实与交付的源代码匹配并且在构建过程中没有引入后门.

OpenWrt 运行多个构建build bot 实例, 它们正在构建 master 和支持的发布分支的快照.

当对包的更改提交到包源的 OpenWrt 基础存储库时, build bots 会自动检测此更改并将重建此包. 然后,新构建的包可以使用 opkg 安装或由 OpenWrt 用户与图像生成器集成. 这使我们能够在大约 2 天内向最终用户发送更新.

内核通常位于其自己的分区中, 因此升级并不容易. 这种机制目前不适用于内核本身和内核模块, 需要一个新的次要版本来向最终用户发送修复程序.

OpenWrt在编译时为所有包build激活build 配置中的一些builds强化选项. 请注意个别插件包可能 和/或 targets 会忽略或不遵守这些设置.

.config line 默认启用 备注
CONFIG_PKG_CHECK_FORMAT_SECURITY=y Yes -Wformat -Werror=format-security
CONFIG_PKG_CC_STACKPROTECTOR_REGULAR=y Yes -fstack-protector
CONFIG_PKG_CC_STACKPROTECTOR_STRONG=y No -fstack-protector-strong
CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR=y Yes Kernel config CONFIG_STACKPROTECTOR
CONFIG_KERNEL_CC_STACKPROTECTOR_STRONG=y No Kernel config CONFIG_STACKPROTECTOR_STRONG
CONFIG_PKG_FORTIFY_SOURCE_1=y Yes -D_FORTIFY_SOURCE=1 (Using fortify-headers for musl libc)
CONFIG_PKG_FORTIFY_SOURCE_2=y No -D_FORTIFY_SOURCE=2 (Using fortify-headers for musl libc)
CONFIG_PKG_RELRO_FULL=y Yes -Wl,-z,now -Wl,-z,relro
CONFIG_PKG_ASLR_PIE_REGULAR=y Yes -fPIC CFLAGS and -specs=hardened-build-ld LDFLAGS
PIE is activated for some binaries, mostly network exposed applications
CONFIG_PKG_ASLR_PIE_ALL=y No PIE is activated for all applications
CONFIG_KERNEL_SECCOMP Yes Kernel config CONFIG_SECCOMP
CONFIG_SELINUX No Kernel config SECURITY_SELINUX
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2022/07/18 03:40
  • by t0kenzero