跳转至

原则

  • sshd 不接受密码登录,只接受密钥登录
  • 只使用系统包管理器安装软件,不使用第三方脚本安装,不使用 pip / npm 安装
  • 定期更新系统和所有软件
  • 所有具有复杂依赖的软件都使用 Docker 部署。某些软件因为对网络强依赖,无法通过 Docker 实现隔离,那么就使用完整的系统虚拟化进行隔离
  • 只接受最新的稳定软件 / 命令。如 Sytemd ss 等
  • 对系统配置进行的复杂变更,使用脚本等方式进行记录
  • 每日自动化备份,保证数据安全
  • 重视 IaC,声明式配置
  • shell 脚本只接受最简单的多条命令组合。出现 if / for / while 等复杂逻辑时,使用 Go 语言进行编写
  • 保证就算已经忘记了某台服务器的历史操作,也能正确做出运维操作。实现方式可以是将一些值得记录的操作信息也写进这条服务器的文本中