背景:
jumpserver的安装参照:jumpserver的简单安装使用,Freeipa的安装参照:Freeipa的简单搭建配置。准备将Freeipa与Jumpserver集成。其实Freeipa搭建后linux客户端如果安装了Freeipa client。也能完成用户的授权权限管理了,参照:利用Freeipa实现Liunx用户身份、权限的统一管理 | 企业安全拥抱开源 。但是还是不能很好的完成操作的审计等操作。且用jumpserver管理能更好完成用户的操作审计。但是freeipa创建的linux用户账户的密码修改同步推送也会有各种的问题?该怎么在账号管理中同步账户信息的变更?最后折衷了还是:freeipa只与jumpserver完成认证,同步用户,用户组。同一用户组使用相同账户(linux用户)管理。linux主机不与freeipa联动?后面看一下能否实现用freeipa用户ssh!
注:安装的时候jumpserver版本为3.1.0,现在最新版本为3.1.1(重装了一下latest默认,现在版本为3.1.1)!小版本差别这里就忽略了!
Jumpserver与Freeipa集成
关于Freeipa 的用户用户组
在freeipa 与jenkins的集成中为创建了jenkins jenkins-develop jenkins-qa这样的分组.这里也创建一个jumpserver jumpserver-develop jenkins-qa这样的分组。其实分组应该搞成复用的。这里就先这样演示了,一切应该以自己实际的需求来进行组划分!
创建jumpserver分组:
创建jumpserver jumpserver-develop jumpserver-qa分组,将 jumpserver-develop jumpserver-qa组加入jumpserver组
将用户加入jumpserver对应组
zhangpeng用户作为jumpserver member managers用户
jumpserver-develop组用户如下:
jumpserver-qa组用户如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R1zMkZwq-1681219839400)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e3eb1f4a90ad469d90d3c3274ef6036a~tplv-k3u1fbpfcp-zoom-1.image)]
Freeipa同步用户到Jumpserver:
管理员登陆jumpserver 点击右上角系统设置:
点击认证设置-ldap:
参照: FreeIPA配置笔记,配置jumpserver与freeipa集成:
输入以下参数:
LDAP服务器:
LDAP地址: ldap://xxx.xxxx.com:389
绑定 DN: uid=zhangpeng,cn=users,cn=accounts,dc=xxx,dc=com
密码: xxxx
LDAP用户:
用户 OU: cn=users,cn=accounts,dc=xxx,dc=com
用户过滤器: (uid=%(user)s)
LDAP属性映射: {"username":"uid","name":"displayname","email":"mail"}
其他:
启用 LDAP 认证: 勾选
测试连接:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nc4DHg3L-1681219839401)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d5b10f820e8647a396fd8b76ab4b1d1c~tplv-k3u1fbpfcp-zoom-1.image)]
用户导入,选择导入全部:
记得右下角的提交 ldap配置!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ofVhzLlL-1681219839401)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/175504ea10f940aaad13691ccf44cee6~tplv-k3u1fbpfcp-zoom-1.image)]
but用户组是空的,还是希望能把组同步过来,然后针对用户组做权限管理:
如何导入用户组呢?
Freeipa同步用户组到jumpserver:
用户属性这里mail后面加一个,然后添加“groups”:“memberOf”
提交,导入全部(当时了这里也可以测试以下配置是否成功!)
切换到控制台用户管理用户列表界面,用户的用户组栏有了相关组信息如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E3ZVIf5O-1681219839402)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ec781358fb2b41daa77ddce6fc1db061~tplv-k3u1fbpfcp-zoom-1.image)]
点击用户组:这里有些纠结,不想同步过来那么多组,不知道又没有大佬指点一二?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BcYN0fJN-1681219839402)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/aa7899920880422f97f674abe612fa1d~tplv-k3u1fbpfcp-zoom-1.image)]
后面修改了一下认证设置LDAP配置这里的用户过滤器为**(&(uid=%(user)s)(!(nsaccountlock=*))(objectclass=organizationalperson))**(前提先删除用户管理中LDAP用户and用户组)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jfvoFMQE-1681219839402)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/aa3b65067b9f4aae93792923fc929e3a~tplv-k3u1fbpfcp-zoom-1.image)]
切换到控制台用户管理页面:总算没有名称为空的用户了!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vfI8SocQ-1681219839403)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8c1e080b9fac4d559704cf6a5a433d86~tplv-k3u1fbpfcp-zoom-1.image)]
用户组界面也总算清凉了以,这还能接受:
memberof具体的还是不会玩,这样好歹看的舒服多了先这样!
Jumpserver Freeipa简单使用:
关于资产列表,资产树这里根节点的Default无法修改,就先忽略了!资产树节点默认以下配置:
当然了腾讯云下还可以加一个地域的节点?这里忽略了。单地域演示!Develop QA Master三个环境!
Develop资产管理的设置:
Develop环境下Jumpserver配置
Develop环境下准备添加一台CVM:
创建选择平台-主机 -linux:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sXrbeVkt-1681219839403)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/166ad7da1bc74c408caf37c46f92fbf0~tplv-k3u1fbpfcp-zoom-1.image)]
这个地方有个很不喜欢的。为点击了左侧资产树的Develop 节点这里不能默认跟随…还要自动选择一下?输入相关信息:
添加账户这里输入名称默认下面用户名会跟上面一样,记得修改用户名!密码类型这里按照个人实际情况来。我这里用了一下ssh-key的方式:
返回资产列表,看到创建的develop资源在列表中展现:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-trq7VxQ8-1681219839404)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1167110047934b34b2d0807d531f7dd4~tplv-k3u1fbpfcp-zoom-1.image)]
针对资产授权:
左侧控制台边栏:权限管理-资产授权-创建:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ytt2WydS-1681219839404)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/455cd90571d4491aa5aeb6e7fe9b332d~tplv-k3u1fbpfcp-zoom-1.image)]
输入规则名称,用户组,资产,节点选择账号等相关信息,提交:
资产选择develop确认:
最后点击提交:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FrVUeONR-1681219839405)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e60dce89a73b4b7fa9b05b1bc47c100f~tplv-k3u1fbpfcp-zoom-1.image)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VPk5FSjC-1681219839405)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/69037578063e4b259bac735ece069da3~tplv-k3u1fbpfcp-zoom-1.image)]
最终资产授权这里如下:
权限验证:
打开火狐浏览器登陆jumpserver-develop组用户,以huozhonghao用户为例,点击工作台左侧边栏-web终端-找到develop资产,连接:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sCUQfpN7-1681219839405)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cb26debc5f994d9e91023d08afdb3f27~tplv-k3u1fbpfcp-zoom-1.image)]
确认正常登陆develop资产并操作:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wkpemCEr-1681219839405)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/73634aa27fd540ec8a4396d372471936~tplv-k3u1fbpfcp-zoom-1.image)]
创建资产的时候看到了创建同名账户的选项?
突然决定freeipa client的方式可以尝试一下?Qa为例:
Qa资产管理设置:
freeipa-client 配置:
qa 资产IP 10.0.2.28
修改hostname
qa-client.xxxxx.com
安装ipa-client包:
yum install -y ipa-client
修改dnsserver 为 ipaserver ip
[root@qa-client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.0.4.52
nameserver 183.60.82.98
nameserver 183.60.83.19
这里有坑,后面会讲!
可以用下面命令使client 连接到server:
ipa-client-install --domain=xxxx.com --no-ntp --realm=xxxx.com --mkhomedir
or
ipa-client-install --mkhomedir
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-86Sc0qZm-1681219839406)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/51658aa5f95d4549bb8e2d65b0c8cc16~tplv-k3u1fbpfcp-zoom-1.image)]
Freeipa web ui配置:
登陆freeipa server web UI 确认主机注册成功:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LgZJekjq-1681219839406)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/10abe8266c984e9196b7a55f1141e9a1~tplv-k3u1fbpfcp-zoom-1.image)]
策略这里,删除原有的两个规则,创建HBAC规则-qa:
编辑规则如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mlVQOZ7G-1681219839407)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/eaa4ec855d3743bba00392d6a71eef34~tplv-k3u1fbpfcp-zoom-1.image)]
Sudo 添加role role简单命名为sudo:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k9pmFtVB-1681219839407)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/965de92eaa6c4359bf3fff02621394a3~tplv-k3u1fbpfcp-zoom-1.image)]
配置参照下图:只指定了组与主机 ,其他都是any
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ObYoYyEW-1681219839407)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/dd510c44948d458eb6b752bb186193ab~tplv-k3u1fbpfcp-zoom-1.image)]
Jumpserver相关配置
创建10.0.2.28的 qa资产,账户列表这里设置为空,暂时不添加:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O6mVMLr9-1681219839408)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/fb1e29d1964c4652be54f6f0206c8a4f~tplv-k3u1fbpfcp-zoom-1.image)]
权限管理-授权,特别注明账户这里选择同名账号:
权限验证:
登陆jumpserver-qa用户huozhonghao:
左侧工作台为的资产可以发现qa and develop资产:
连接qa资产-同名账号。输入用户密码(与登陆jumpserver同一密码!)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OQD8VUCR-1681219839408)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ef717205264947e3803bcd695d1433da~tplv-k3u1fbpfcp-zoom-1.image)]
目测第一次登陆ssh会让修改密码,如下,会需要重置密码(这里就保留原密码了!):
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9GZRy4yL-1681219839408)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/79f930e08f23472994af6108b8ea7a34~tplv-k3u1fbpfcp-zoom-1.image)]
重新登陆如下:,无法sudo是当时没有配置好freeipa权限忽略:
sudo -i 可以切换到root用户:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-av8EUnWi-1681219839409)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e60f929081624cdab8343ccfe7028210~tplv-k3u1fbpfcp-zoom-1.image)]
尝试创建zhangpeng3用户加入到jumpserver-qa组
开其他浏览器or切用户为zhangpeng3,点击左侧边栏web终端。操作qa资产树下qa资产重置密码(第一次登陆步骤):
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EIxkg1zn-1681219839409)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/288e94b2b959483b949ea6d78385884a~tplv-k3u1fbpfcp-zoom-1.image)]
sudo -i验证权限:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9dnpIHp4-1681219839409)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d0d64a6739fa49dd8c895cfc6fb71b9d~tplv-k3u1fbpfcp-zoom-1.image)]
尝试freeipa web控制台修改密码:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gWejRMRw-1681219839410)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d6bea27645b640c98699364c8d62070b~tplv-k3u1fbpfcp-zoom-1.image)]
jumpserver 重新连接qa资产密码会显示认证失败,需要重新输入密码才能连接对应资产控制台(jumpserver Web如果未退出)!
尝试修改密码可以在资产终端操作passwd操作尝试:
退出jumpserver,重新登陆,已经显示过去记录的密码错误,输入修改后的密码进入控制台:
连接资产web终端,重新输入passwd更改的新密码:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wn1fT2pV-1681219839410)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0b4bc72beed04de389c1f7ae610b2bb4~tplv-k3u1fbpfcp-zoom-1.image)]
passwd如不能修改密码请参照freeipa控制台密码策略:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WWZrC88J-1681219839411)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/35c2aa6520764feab1a91abc8965c502~tplv-k3u1fbpfcp-zoom-1.image)]
演示以两个环境演示就可以了,master环境没有必要再操作一遍了!
jumpserver的其他相关配置
主要是关于系统设置的这些部分:
从邮件设置开始:
点击邮件设置,点击右侧邮件服务器配置邮件服务器相关配置:
以qq邮箱为例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SLNVhaxs-1681219839411)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6eb7808295954995a18a9dbc5e9a1622~tplv-k3u1fbpfcp-zoom-1.image)]
记录下生成的授权码:
SMTP主机: smtp.qq.com
SMTP端口: 465
SMTP账户: xxxxx@qq.com
SMTP密码:xxxxxx(生成的授权码)
安全设置使用SSL开启,提交配置:
给自己邮箱发一封测试邮件尝试:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wHgbwgKO-1681219839412)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7746f7c716284092b99a7d3831e95954~tplv-k3u1fbpfcp-zoom-1.image)]
目标收件人收到测试邮件就表示配置成功。最终邮件设置这里邮件发送,主体前缀设置为:jumpserver。其他的保持原有配置保存提交!
消息订阅
消息订阅这里可以开启邮箱的订阅方式,并且修改消息接受人(这里忽略了。这里好多用户邮箱是假的)!
终端设置:
终端设置的相关配置有很多,这里只着重配置一下录像存储 and 命令存储:
录像存储:
录像存储以腾讯cos为例:
创建一个存储桶:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QlsKehw4-1681219839412)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/2d5084df7c8548a19157a1201b691bef~tplv-k3u1fbpfcp-zoom-1.image)]
注意这里选择了私有读写桶,完全没有必要公有读把?根据权限最小化原则,创建了 一个用户,然后绑定桶:
jumpserver的相关配置:
这里主要强调端点这里:https://cos.ap-shanghai.myqcloud.com(根据自己区域补充中间的regin区域)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QuGb5vi9-1681219839413)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/41e67219832b4eeeaa45b49c7bb07fe6~tplv-k3u1fbpfcp-zoom-1.image)]
注意:我第一次设置成了https://jumpserver-xxxxxx.cos.ap-shanghai.myqcloud.com。默认的路径会变成这样的
测试设置为cos存储为默认:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-deCk1LiN-1681219839413)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3f655dd7917c439797c60acf5d2a94c1~tplv-k3u1fbpfcp-zoom-1.image)]
but操作了一下 看到cos桶并未生生存储文件,重启一下jumpserver?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i4sLh642-1681219839413)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ed06dae92fcb4bfeb858f7174f9ae526~tplv-k3u1fbpfcp-zoom-1.image)]
尝试后依然未生效!https://docs.jumpserver.org/zh/v3/guide/storages/#13
操作命令退出后已经生成录像存储:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pMw4yawz-1681219839414)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/da68548d530047e7b2b062a4a5736828~tplv-k3u1fbpfcp-zoom-1.image)]
命令存储
命令存储可以接入elasticsearch,以elasticsearch为例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CU6ESj1N-1681219839414)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7aa341c3846341f6be191cbaa05cd036~tplv-k3u1fbpfcp-zoom-1.image)]
简单配置一下,日期索引根据需求确认是否开启,提交:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DWGRDpQd-1681219839414)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/71d5db8fb820455ea0124392961297f5~tplv-k3u1fbpfcp-zoom-1.image)]
继续更新终端设置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VAU7M8ZW-1681219839415)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a8ff5d279970484aaeb246785765f9f3~tplv-k3u1fbpfcp-zoom-1.image)]
提交:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ZSo5rnX-1681219839415)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9fa073058aae435991d6d1c56b5962a1~tplv-k3u1fbpfcp-zoom-1.image)]
普通用户登陆jumpserver操作几条简单命令:
登陆elasticsearch kibana控制台 索引管理可以看到 相关索引已经创建:
其他的问题
dns问题
- client nameserver添加了ipa server ip
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JHL3V1ql-1681219839415)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/26720ee50b99450888f4f32e2025ec7e~tplv-k3u1fbpfcp-zoom-1.image)]
ping ipa server没有问题,but ping 其他 三级域名出现问题 :
ping: www.xxx.com: Name or service not known
怎么搞呢?这样的问题?我用的也是为实际存在的domain域名?出现这样的无法解析的问题也是用户不想看到的。解决的方式个人理解应该有两种:
1 . 整一个压根不存在的域名?或者根本不使用无影响的域名如就用example.com? example.tech。等等类似 ?
2. 偷懒尝试了一下 不配置resolv.conf ?
/etc/hosts绑定ipa server and client:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Back9Ff-1681219839416)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5e269a166b2c449db3c97d0197402b8b~tplv-k3u1fbpfcp-zoom-1.image)]
这样可以不出现此状况,解析都没有问题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qOjEZvWM-1681219839416)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cb183d16ccfe45d4a20a409818d06178~tplv-k3u1fbpfcp-zoom-1.image)]
也不需要跟其他domain下域名通信, 只做用户认证,这样做也是可以的。
单节点异常
节点其实也是正常的,但是web ui登陆admin出现了异常,普通用户都可以登陆web UI,也可以登陆其他应用。不知道怀疑什么问题要,重启日志也没有什么输出,想怀疑一下随机数生成器?安装了一下按照一下文档:
后面没有怎么出现这问题,但是还是有不可用因素,准备后续将freeipa ha 部署为高可用!rngd可能会无法启动
将: ConditionVirtualization=!container中 !去掉可正常启动:
systemctl daemon-reload
systemctl restart rngd