realm.properties 文件定义了用户/密码、权限以及acl策略的管理
realm.properties 文件是自动加载的不需要重启服务
配置文档:
Authenticating Users
内置的role
内置的role 有:
普通用户(默认)
超级管理员role:
admin
系统管理员role:
ops_admin
应用管理员 role:
app_admin
认证模式
sso 单点认证需要企业版本支持
这里讨论jaas模块和Preauthenticated预认证模块
jaas模块
支持ldap、PAM
realm.properties 是动态加载的;
jaas-loginmodule.conf 控制是否热加载,函数功能测试与官方文档说明有出入
realm.properties配置文件格式:
: [, …]
#// rundeck-config.properties
#安全参数
#rundeck.security.jaasRolePrefix:添加到通过JAAS 身份验证确定的每个角色的前缀字符串。默认值:无。
#rundeck.security.requiredRole: roleName。如果设置此属性,则所有用户都必须是指定角色的成员。
#rundeck.login.localLogin.enabled: false为禁止本地用户登录
添加其他用户
密码尽量避免使用明文,推荐使用bcrypt加密, 配置有见有说明可以使用哪些加密方式,
工具自带了生产密码的方法, md5类型 不是密码直接md5加密
[root@tserver121 bootstrap]# su - rundeck
-bash-4.2$ cd /var/lib/rundeck/bootstrap/
-bash-4.2$ java -jar rundeck-5.2.0-20240410.war --encryptpwd Jetty
Required values are marked with: *
Username (Optional, but necessary for Crypt encoding):
readonly <-----username
*Value To Encrypt (The text you want to encrypt):
********* <-----password
==ENCRYPTED OUTPUT==
bcrypt: BCRYPT:$2a$10$ohiX0erHSnGlpJk7lTWJx.MX5BSAQNLhrgr1SDmfd5RTO3yS7MZY6
obfuscate: OBF:1ua11u2y1qhg1wgk1ltu1w9j19pz1nc81ndi19qf1w871lq41wfe1qju1u2c1u9h
md5: MD5:47d96eab402994bbdab1a691e0118501
crypt: CRYPT:re/1M9PpjIm4k
配置文件中realm.properties添加
readonly: MD5:47d96eab402994bbdab1a691e0118501,user
新添加的readonly普通用户权限
LDAP
第 1 步:设置 LDAP 登录模块配置文件
创建/etc/rundeck/jaas-ldap.conf 文件
步骤2:指定登录模块
#// /etc/rundeck/profile
#添加
JAAS_LOGIN=true
LOGIN_MODULE=ldap
JAAS_CONF=/etc/rundeck/jaas-ldap.conf
第 3 步:重新启动 rundeckd 与尝试登录 Authenticating Users
Preauthenticated预认证模块
预认证的好处是,多个系统集成在一个平台之后 只要平台认证过后之后,各个系统之间就通过认证了。
类似于有一个代理 提前将你的身份进行验证,比sso简单
undeck.security.authorization.preauthenticated.enabled=true
rundeck.security.authorization.preauthenticated.attributeName=REMOTE_USER_GROUPS
rundeck.security.authorization.preauthenticated.delimiter=,
rundeck.security.authorization.preauthenticated.userNameHeader=X-Forwarded-Uuid
rundeck.security.authorization.preauthenticated.userRolesHeader=X-Forwarded-Roles
#sync user info headers
rundeck.security.authorization.preauthenticated.userSyncEnabled=true
#these are the default headers for passing user details
rundeck.security.authorization.preauthenticated.userFirstNameHeader=X-Forwarded-User-FirstName
rundeck.security.authorization.preauthenticated.userLastNameHeader=X-Forwarded-User-LastName
rundeck.security.authorization.preauthenticated.userEmailHeader=X-Forwarded-User-Email
ACL-访问控制策略
ACL授予用户和用户组某些权限,以针对 项目、作业、节点、命令和 API等执行操作。用户请求的每项操作都会进行记录下来以用于报告和审计。
语法格式
ACLPOLICY
文件与热加载
配置文件生成:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!