1、端口开放
- 默认监听内网或者本地
- 如需监听全部外网,iptables、password、firewalld和acl能加都加上
2、防火墙
在cmdb为机器或者服务设计好iptables/firewalld规则,同时结合同步机制:
- 部署服务时使用cmdb/firewalld-cmd生成的iptables/firewalld同意更新
- 测试时一旦清空iptables/firewalld后使用自动或者手工方式刷回标准iptables/firewalld
3、权限管理
- 采用puppet、ansible或者saltstack等集群管理工具统一管理操作系统权限
- 遇到临时需要高级权限时手工后添加定时回收,量大时采用自动化方式配置
4、脚本安全
- 校验变量,特别是高危操作
- 原则上不给脚本授权sudo密码或者授予666的权限位
5、密钥管理
- 不要让ssh私钥离开你的办公电脑
- 听IT的话,定期修改你的corp或者域密码
- 配置与代码分离的一个理由是:账号密码不能写在代码里
6、服务管理
- 能不用root启动最好不要用root
- 不要把服务根目录放到你的home目录
7、代码管理
- 跟工作相关的代码禁止上传github!!!
- 仔细学习git/svn等版本管理工具的使用姿势
- 定义好你的.gitignore,特别是删除你的.DS_Store
8、应用选型
- 安全性是应用选型的一个重要考虑点
- 对漏洞修复和安全编码不怎么积极的开源软件,再好用都不要用
9、关注应用安全配置文档
- 一般应用程序的官方说明文档会包含安全配置的章节,在部署时需要循序渐进,按照最佳实践配置安全部分,而不是嫌麻烦直接跳过。