以下是防止CentOS上Jenkins遭受攻击的关键措施:
-
系统层面加固
- 禁用非必要超级用户,删除默认冗余账户(如adm、lp)。
- 强制用户使用复杂密码(大小写字母+数字+特殊字符,长度≥10位),并通过
/etc/login.defs
设置密码策略。
- 用
chattr
命令锁定关键系统文件(如/etc/passwd
等),防止未授权修改。
-
Jenkins权限管理
- 启用全局安全配置,选择LDAP、内置用户数据库或GitHub等认证方式,避免弱口令。
- 通过“Role-based Authorization Strategy”插件配置最小权限原则,限制用户仅能访问所属项目资源。
- 禁用匿名用户访问权限,或仅允许其查看非敏感信息。
-
网络与通信安全
- 配置防火墙(
firewall-cmd
)仅开放Jenkins默认端口(8080)及SSH端口(22),限制IP访问。
- 启用HTTPS加密传输,使用SSL证书保护数据,避免明文通信。
- 配置SSH密钥认证,禁用root远程登录及空密码。
-
插件与配置安全
- 定期更新Jenkins核心及插件,修复已知漏洞。
- 安装安全插件(如Matrix Authorization、Audit Trail),监控用户操作及异常行为。
- 在Pipeline脚本中使用安全标记(如
agent
参数)限制任务执行节点。
-
日志与监控
- 启用Jenkins日志记录,定期审计用户操作及系统事件。
- 配置系统监控工具(如Prometheus),实时监控Jenkins资源使用及异常进程。
-
备份与恢复
- 定期用
cron
备份Jenkins配置文件及工作空间,存储至安全位置。