docker安装堡垒机Jumpserver 1.4.4版本

docker安装堡垒机Jumpserver 1.4.4版本,我来手把手教你使用

 


Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。
Jumpserver对服务器要求:
CPU: 64位双核处理器
内存: 4G DDR3
数据库:mysql 版本大于等于 5.6 mariadb 版本大于等于 5.5.6
pythone:3.6版本
升级之后增加了太多功能本身内存增大,老版本是2G就可以跑起来,现在要求3G-4G内存才可以跑起来。
官方文档:http://docs.jumpserver.org/zh/docs/

1.docker安装命令:
# 1.4.5 版本(最新)
$ docker run --name jms_all -d -p 8030:80 -p 8020:2222 jumpserver/jms_all:latest
8030的意思是Jumpserver 管理的客户端  8020代表的是你堡垒机的端口号,当然你可以设置成其他的
访问:  http://127.0.0.1:8030/users/login/?next=/
默认帐号: Admin  密码:admin

如图:

 

Jumpserver 登录页面

 

2.设置修改帐号密码如图:

 

个人信息

 

更改密码


3.系统设置

修改 url 的"localhost"为你的实际 url 地址,否则邮件收到的地址将为"localhost" 也无法创建新用户

 

修改实际url地址

 

邮件设置

其他LDAP设置,终端设置,安全设置,用默认就好,其实Jumpserver 1.4.4最新版已经配置好了,唯一瑕疵就是我下面一张截图,给的名字都是默认的。

我自己配置了两个名字

 

4.用户管理:
用白话文解释一下:
用户管理为何有用户和用户组,用户单纯是Jumpserver的登录用户,组是代表部门的意思,一个部门有不同人员和资产,所以一个组下面有很多人员和主机,主机直接授权给组,相当于组下面人员都有该主机权限,方便管理如图:

 

创建组

 

创建用户,这里用户密码会发送到你写邮件中,自己验证一下就可以知道密码了

 

邮件验证新创建用户密码

 

配置好的用户效果

 

5.既然Jumpserver是堡垒机我们肯定要添加主机,这里就是资产管理如图:

 

资产管理

 

创建各个部门

为何这里有个树形结构呢,因为每个部门需要不同主机资产,所以这里节点就是部门的意思,将不同主机分配到不同的部门,比如运维部需要所有主机资产的,后台只要后台主机资产,前台只要前台主机资产。
创建资产就是创建主机的意思。
在创建主机之前我们首先要先设置主机帐号密码

6.创建管理用户
# "管理用户"是资产上的 root,或拥有 NOPASSWD: ALL sudo 权限的用户,Jumpserver 使用该用
户来推送系统用户、获取资产硬件信息等
# 如果使用ssh私钥管理资产,需要先在资产上设置,这里举个例子供参考(本例登录资产使用root为例)
(1). 在资产上生成 root 账户的公钥和私钥
  $ ssh-keygen -t rsa  # 默认会输入公钥和私钥文件到 ~/.ssh 目录
(2). 将公钥输出到文件 authorized_keys 文件,并修改权限
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 400 ~/.ssh/authorized_keys
(3). 打开RSA验证相关设置
  $ vi /etc/ssh/sshd_config
  RSAAuthentication yes
  PubkeyAuthentication yes
  AuthorizedKeysFile     .ssh/authorized_keys
(4). 重启 ssh 服务
  $ service sshd restart
(5). 上传 ~/.ssh 目录下的 id_rsa 私钥到 jumpserver 的管理用户中
# 这样就可以使用 ssh私钥 进行管理服务器

先解释一下管理用户代表的意思就是服务器帐号,而系统用户就是管理用户分配一个权限给Jumpserver 去创建一个系统用户,就是把root把一部分权限分给子用户,子用户拥有权限很低,服务器越安全。
这里管理用户创建你可以用账户密码或者公钥,因为之前配置过公钥,所以都可以用

管理用户

 

创建管理用户

 

创建系统用户

# "系统用户"是 Jumpserver 跳转登录资产时使用的用户,用户使用该用户登录资产
# "自动生成密码"、"自动推送"、"Sudo"等功能需要对应资产的"管理用户"有root权限,否则自动推送失败
# "系统用户"的"Sudo"栏设定用户的sudo权限
# 这里简单举几个例子
Sudo /bin/su  # 当前系统用户可以免sudo密码执行sudo su命令
Sudo /usr/bin/git,/usr/bin/php,/bin/cat,/bin/more,/bin/less,/usr/bin/tail
# 当前系统用户可以免sudo密码执行git php cat more less tail
Sudo !/usr/bin/yum  # 禁止执行 yum 权限
# 此处的权限应该根据使用用户的需求汇总后定制,原则上给予最小权限即可
# 下图为不允许用户执行一些危险的操作,允许其他的所有权限

给予这个系统用户最高权限,可以升级为root用户

 

成功图

6.创建资产:
为何创建资产放到这里讲,1.你要有Jumpserver 账户,2.你要有主机账户,也就是服务器账户,默认系统用户权限比较小.上面我为大家分析的很详细,该有的都有了可以创建主机了,也就是资产列表

资产列表

 

创建资产

 

点击直连子系统4,测试是否连接成功

 

测试和刷新成功了,就会有对应服务器数据显示

 

测试结果

 

测试结果

现在服务器都已经在对应的部门,但是我们Jumpserver用户和用户组,还没有授权有这些部门权限,来调动这些服务器,所以现在来授权,管理这些服务器。
如下图服务器权限:
前台部:0台服务器
运维部:2台服务器
后台部:1台服务器

创建授权规则

 

服务器授权,直接授权给用户组方便不用给用户一个一个授权累

 

授权成功

 

现在我们要测试,登录方涛账户看正式员工后台部,是否有一台服务器权限:
先登录方涛用户:

 

真有的一台服务器信息


测试服务器能不能登录成功操控,点击web终端:

点击web终端

 

点击服务器直连子系统4:

 

直连子系统4

 

成功了,嘿嘿后面还有更强大功能


7.会话管理
这里是整个服务器最强大的地方,不但记录你登录服务器操作指令,还可以强制你中断,还有录像功能

会话管理

 

回放功能

 

可以切换用户查看执行命令

 

这是我们连接主机成功记录


这里唯一不行的就是,他只能记录Jumpserver 用户或者系统用户,不能记录root用户,所以你要分配成员

8.日志审计
字面理解感觉没必要解释

 

登录日志


9.这里说一下Jumpserver 堡垒机我该怎么登录
还记的我们之前运行命令用到2222端口吗,其实这是堡垒机的登录端口

这是直接在你已经进入的服务器输入登录堡垒机


其实堡垒机帐号密码就是你的Jumpserver 帐号密码
我下面用方涛的帐号测试如图:

端口就是之前docker启动映射2222端口

 

方涛这个用户只有一个主机的信息

 

成功了,就一台服务器,其他服务器他没有对应授权

总结:
Jumpserver 1.4.4版本把老版本一些需要直接去文件查看密码这些操作都写进可视化界面里面,用法也比较简单,主要需要理解里面对应各项数据所代表的含义,Jumpserver 也是从前天接触的,我遇到时候有很多不理解,看官方文档我还是不理解,就找不到那个点,我不知道你们懂不懂,就是理解中心点,每个小功能起到的作用,我该怎么灵活运用,看很多人写的都是安装一下就结束了,有一些博主写出来自己都不知道里面一些东西就写给你看,感觉误人子弟。我这篇文章是原创。也是耗费这1天整理出来的,希望能对你起到一点帮助
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于在 Docker安装堡垒机,你可以按照以下步骤进行操作: 1. 首先,确保你的系统上已经安装Docker。你可以根据你的操作系统选择正确的 Docker 安装方式。 2. 在你的工作目录中创建一个新的文件夹,用于存放堡垒机的配置文件和数据。 3. 在该文件夹中创建一个名为 `Dockerfile` 的文件,并将以下内容复制到其中: ```Dockerfile FROM alpine:latest # 安装所需的软件包,如 ssh、python、pip等 RUN apk add --update --no-cache openssh python3 py3-pip # 创建堡垒机所需的用户和目录 RUN adduser --disabled-password --gecos "" bastion && \ mkdir -p /var/run/sshd && \ mkdir -p /home/bastion/.ssh && \ chown -R bastion:bastion /home/bastion # 复制堡垒机配置文件到容器中 COPY sshd_config /etc/ssh/sshd_config # 安装堡垒机所需的 Python 依赖 COPY requirements.txt /tmp/requirements.txt RUN pip3 install -r /tmp/requirements.txt && \ rm /tmp/requirements.txt # 启动 SSH 服务 CMD ["/usr/sbin/sshd", "-D"] ``` 4. 创建一个名为 `sshd_config` 的文件,并将以下内容复制到其中: ```plaintext Port 22 PermitRootLogin no PasswordAuthentication no ChallengeResponseAuthentication no UsePAM yes X11Forwarding yes UsePrivilegeSeparation sandbox AllowTcpForwarding yes AllowAgentForwarding yes PermitTunnel no PermitEmptyPasswords no PrintMotd no AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server ``` 5. 创建一个名为 `requirements.txt` 的文件,并将以下内容复制到其中: ```plaintext paramiko==2.7.1 ``` 6. 打开终端或命令提示符,导航到你的工作目录,并构建 Docker 镜像: ```plaintext docker build -t bastion . ``` 7. 构建完成后,可以运行以下命令启动堡垒机容器: ```plaintext docker run -d -p 2222:22 --name bastion-container bastion ``` 这将在本地端口 2222 上映射 SSH 服务,你可以通过 SSH 客户端连接到堡垒机。默认情况下,堡垒机的用户名为 `bastion`,可以将你的公钥添加到 `/home/bastion/.ssh/authorized_keys` 文件中以进行身份验证。 请注意,这只是一个基本的示例配置,你可能需要根据你的实际需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追光叶子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值