banner
NEWS LETTER

嵌入式 Linux 系列 14:基础安全加固、账号和证书

Scroll down

嵌入式设备一旦联网,就必须考虑安全。基础安全加固不一定复杂,但默认空密码、开放调试端口、证书随意存放、升级包不校验,都会给产品留下明显风险。

一、账号和密码

量产设备不要保留默认 root 空密码。

建议:

  • 禁止空密码登录。
  • 禁止通用固定密码。
  • SSH 默认关闭或限制。
  • 调试账号只在 debug 固件存在。
  • 出厂密码按设备唯一信息生成或首次启动强制修改。

检查:

1
2
cat /etc/passwd
cat /etc/shadow

二、SSH 和调试端口

开发阶段 SSH 很方便,量产阶段要谨慎。

可选策略:

  • 默认关闭 SSH。
  • 只允许内网。
  • 只允许密钥登录。
  • 现场维护时通过临时开关开启。
  • 开启后记录日志。

不要把开发阶段的便利直接带进量产。

三、证书和密钥

证书和私钥建议放在:

1
/data/secure

权限要收紧:

1
2
chmod 600 /data/secure/device.key
chmod 644 /data/secure/device.crt

如果硬件有安全存储或 TPM/TEE,优先使用硬件能力。

四、固件升级校验

OTA 包必须校验完整性和来源。

最低要求:

  • sha256 校验。
  • 版本和型号校验。

更推荐:

  • manifest 签名。
  • 设备内置公钥验签。
  • 禁止降级到有漏洞版本。

不要只靠 HTTPS 下载。下载通道安全不等于固件内容可信。

五、最小化系统

减少攻击面:

  • 删除不必要服务。
  • 删除调试工具。
  • 关闭不用端口。
  • release 镜像不带编译器。
  • 不保留测试脚本入口。
  • 文件权限最小化。

查看端口:

1
netstat -lntup

或:

1
ss -lntup

精简 rootfs 里不一定都有,可以按实际工具替代。

六、日志和审计

关键安全事件要记录:

  • 登录成功和失败。
  • 配置修改。
  • OTA 开始和结果。
  • 证书更新。
  • SSH 开启和关闭。

日志不要记录明文密码、token 和私钥。

七、出厂和维护平衡

安全和维护要平衡。设备完全锁死会让现场排查困难,完全开放又有风险。

比较稳的做法:

  • debug 固件用于研发。
  • release 固件默认关闭调试入口。
  • 现场维护需要授权开启。
  • 维护动作记录日志。
  • OTA 包必须签名。

基础安全不是最后上线前补一层,而应该从 rootfs、账号、服务、升级和生产流程一起设计。

其他文章
目录导航 置顶
  1. 1. 一、账号和密码
  2. 2. 二、SSH 和调试端口
  3. 3. 三、证书和密钥
  4. 4. 四、固件升级校验
  5. 5. 五、最小化系统
  6. 6. 六、日志和审计
  7. 7. 七、出厂和维护平衡
请输入关键词进行搜索