JumpServer堡垒机部署

技术3WHY:

JumpServer是什么?

JumpServer是一种开源的堡垒机系统,用于管理和控制远程服务器的访问权限。它提供了安全的身份验证、会话录制和审计等功能,以确保服务器访问的安全性和可追溯性。

为什么选择JumpServer?

  • JumpServer是经过广泛使用和社区支持的开源堡垒机系统,具有稳定性和可靠性。
  • JumpServer提供了丰富的功能,包括身份验证、会话录制和审计,满足了安全性和可追溯性的需求。
  • JumpServer有活跃的开发者和用户社区,可以获得技术支持和持续的更新与改进。
  • JumpServer提供了易于使用和友好的用户界面,使得堡垒机的管理和操作更加便捷。

如何单机部署?

  • 一台装有linux操作系统的主机(支持主流发行版本基于deb,rpm都可以)
  • 小型环境使用可以采用在线安装,也可使用离线安装。

部署过程记录

1.环境准备:

硬件配置:4核CPU 8GB内存 100GB硬盘(如需长期记录操作可单独配置硬盘存储)

#查看系统版本
[root@localhost ~]# cat /etc/redhat-release
CentOS Stream release 9
#设置计算机名称
[root@localhost ~]# hostnamectl set-hostname jumpserver
#设置IP地址
[root@jumpserver ~]# nmtui
#关闭selinux
[root@jumpserver ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2.端口开放说明

可根据实际环境中 JumpServer 组件部署的方案,在网络和主机侧开放相关端口。本次安装开放

22、80、443、3389、2222。

端口作用说明
22SSH安装、升级及管理使用
80Web HTTP 服务通过 HTTP 协议访问 JumpServer 前端页面
443Web HTTPS 服务通过 HTTPS 协议访问 JumpServer 前端页面
3306数据库服务MySQL 服务使用
6379数据库服务Redis 服务使用
3389Razor 服务端口RDP Client 方式连接 Windows 资产
2222SSH ClientSSH Client 方式使用终端工具连接 JumpServer,比如 Xshell、PuTTY、MobaXterm 等终端工具
33061Magnus MySQL 服务端口DB Client 方式连接 MySQL 数据库资产
33062Magnus MariaDB 服务端口DB Client 方式连接 MariaDB 数据库资产
54320Magnus PostgreSQL 服务端口DB Client 方式连接 PostgreSQL 数据库资产
63790Magnus Redis 服务端口DB Client 方式连接 Redis 数据库资产
30000-30100Magnus Oracle 服务端口DB Client 方式连接 Oracle 数据库资产,该端口范围可自定义

3.防火墙操作

#查看当前防火墙状态
[root@jumpserver ~]# firewall-cmd --state
running
#添加策略开放22、80、443、3389、2222
[root@jumpserver ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
success
success
[root@jumpserver ~]# firewall-cmd --zone=public --add-port=443/tcp --permanent
success
[root@jumpserver ~]# firewall-cmd --zone=public --add-port=2222/tcp --permanent
success
#reload操作
[root@jumpserver ~]# firewall-cmd --reload
success
#查看最终防火墙策略情况
[root@jumpserver ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp6s18
  sources:
  services: cockpit dhcpv6-client ssh
  ports: 80/tcp 22/tcp 443/tcp 2222/tcp
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

4.软件安装

#更新软件包
[root@jumpserver ~]# yum update
Last metadata expiration check: 4:52:28 ago on Fri 05 Jan 2024 11:57:22 AM CST.
Dependencies resolved.
Nothing to do.
Complete!
#安装检查所需依赖
[root@jumpserver ~]# yum install -y wget curl tar gettext iptables
#在线安装,以下安装过程均为自动安装。
[root@jumpserver ~]# curl -sSL <https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh> | bash
download install script to /opt/jumpserver-installer-v3.10.1

       ██╗██╗   ██╗███╗   ███╗██████╗ ███████╗███████╗██████╗ ██╗   ██╗███████╗██████╗
       ██║██║   ██║████╗ ████║██╔══██╗██╔════╝██╔════╝██╔══██╗██║   ██║██╔════╝██╔══██╗
       ██║██║   ██║██╔████╔██║██████╔╝███████╗█████╗  ██████╔╝██║   ██║█████╗  ██████╔╝
  ██   ██║██║   ██║██║╚██╔╝██║██╔═══╝ ╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██╔══╝  ██╔══██╗
  ╚█████╔╝╚██████╔╝██║ ╚═╝ ██║██║     ███████║███████╗██║  ██║ ╚████╔╝ ███████╗██║  ██║
   ╚════╝  ╚═════╝ ╚═╝     ╚═╝╚═╝     ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚══════╝╚═╝  ╚═╝

                                                                   Version:  v3.10.1

1. Check Configuration File
Path to Configuration file: /opt/jumpserver/config
/opt/jumpserver/config/config.txt        [ √ ]
/opt/jumpserver/config/mariadb/mariadb.cnf       [ √ ]
/opt/jumpserver/config/mysql/my.cnf      [ √ ]
/opt/jumpserver/config/nginx/lb_http_server.conf         [ √ ]
/opt/jumpserver/config/redis/redis.conf          [ √ ]
/opt/jumpserver/config/nginx/cert/server.crt     [ √ ]
/opt/jumpserver/config/nginx/cert/server.key     [ √ ]
complete

>>> Install and Configure Docker
1. Install Docker
complete

2. Configure Docker
complete

3. Start Docker
complete

>>> Loading Docker Image
[jumpserver/mariadb:10.6] exist, pass
[jumpserver/redis:6.2] exist, pass
[jumpserver/chen:v3.10.1] exist, pass
[jumpserver/lion:v3.10.1] exist, pass
[jumpserver/magnus:v3.10.1] exist, pass
[jumpserver/koko:v3.10.1] exist, pass
[jumpserver/web:v3.10.1] exist, pass
[jumpserver/kael:v3.10.1] exist, pass
[jumpserver/core-ce:v3.10.1] exist, pass
complete

>>> Install and Configure JumpServer
1. Configure Private Key
complete

2. Configure Persistent Directory
Do you need custom persistent store, will use the default directory /data/jumpserver? (y/n)  (default n): complete

3. Configure MySQL
Do you want to use external MySQL? (y/n)  (default n): complete

4. Configure Redis
Do you want to use external Redis? (y/n)  (default n): complete

5. Configure External Access
Do you need to customize the JumpServer external port? (y/n)  (default n): complete

6. Init JumpServer Database
[+] Building 0.0s (0/0)                                                                                                                        docker:default
WARN[0000] Found orphan containers ([jms_chen jms_magnus jms_koko jms_web jms_celery jms_lion jms_kael]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
[+] Running 3/3
 ✔ Container jms_redis  Running                                                                                                                          0.0s
 ✔ Container jms_mysql  Running                                                                                                                          0.0s
 ✔ Container jms_core   Started                                                                                                                          1.4s
2024-01-09 08:39:23 Collect static files
2024-01-09 08:39:24 Collect static files done
2024-01-09 08:39:24 Check database structure change ...
2024-01-09 08:39:24 Migrate model change to database ...
ALLOWED_HOSTS:
  - localhost
  - core:8080
  - 127.0.0.1
  - 127.0.0.1:8080
  - 127.0.0.1:80
  - localhost:8080
  - localhost:80
  - core:8080
  - core:80
ALLOWED_HOSTS:
  - localhost
  - core:8080
  - 127.0.0.1
  - 127.0.0.1:8080
  - 127.0.0.1:80
  - localhost:8080
  - localhost:80
  - core:8080
  - core:80
Operations to perform:
  Apply all migrations: accounts, acls, admin, applications, assets, audits, auth, authentication, captcha, common, contenttypes, django_cas_ng, django_celery_beat, labels, notifications, ops, orgs, perms, rbac, sessions, settings, terminal, tickets, users
Running migrations:
  No migrations to apply.
  Your models in app(s): 'authentication' have changes that are not yet reflected in a migration, and so won't be applied.
  Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.

After migration, update builtin role permissions
  - Update builtin roles
complete

>>> The Installation is Complete
1. You can use the following command to start, and then visit
cd /opt/jumpserver-installer-v3.10.1
./jmsctl.sh start

2. Other management commands
./jmsctl.sh stop
./jmsctl.sh restart
./jmsctl.sh backup
./jmsctl.sh upgrade
For more commands, you can enter ./jmsctl.sh --help to understand

3. Web access
<http://10.242.10.242:80>
Default username: admin  Default password: admin

4. SSH/SFTP access
ssh -p2222 admin@10.242.10.242
sftp -P2222 admin@10.242.10.242

5. More information
Official Website: <https://www.jumpserver.org/>
Documentation: <https://docs.jumpserver.org/>

[+] Building 0.0s (0/0)                                                                                                                        docker:default
[+] Running 10/10
 ✔ Container jms_mysql   Running                                                                                                                         0.0s
 ✔ Container jms_redis   Running                                                                                                                         0.0s
 ✔ Container jms_lion    Running                                                                                                                         0.0s
 ✔ Container jms_celery  Running                                                                                                                         0.0s
 ✔ Container jms_kael    Running                                                                                                                         0.0s
 ✔ Container jms_chen    Running                                                                                                                         0.0s
 ✔ Container jms_core    Started                                                                                                                        13.2s
 ✔ Container jms_magnus  Running                                                                                                                         0.0s
 ✔ Container jms_web     Running                                                                                                                         0.0s
 ✔ Container jms_koko    Running              

#运行完成后执行docker ps -a查看,正常情况10个容器在运行
 [root@jumpserver scripts]# docker ps -a
CONTAINER ID   IMAGE                        COMMAND                  CREATED          STATUS                    PORTS                                                                                                                                                                 NAMES
22dcda4b2f74   jumpserver/core-ce:v3.10.1   "./entrypoint.sh sta…"   44 minutes ago   Up 44 minutes (healthy)   8080/tcp                                                                                                                                                              jms_core
cc4928b0d372   jumpserver/chen:v3.10.1      "./entrypoint.sh"        3 days ago       Up 3 days (healthy)       8082/tcp                                                                                                                                                              jms_chen
268950f1c801   jumpserver/magnus:v3.10.1    "./entrypoint.sh"        3 days ago       Up 3 days (healthy)       0.0.0.0:14330->14330/tcp, :::14330->14330/tcp, 0.0.0.0:33061-33062->33061-33062/tcp, :::33061-33062->33061-33062/tcp, 0.0.0.0:63790->63790/tcp, :::63790->63790/tcp   jms_magnus
90468c73705d   jumpserver/koko:v3.10.1      "./entrypoint.sh"        3 days ago       Up 3 days (healthy)       0.0.0.0:2222->2222/tcp, :::2222->2222/tcp, 5000/tcp                                                                                                                   jms_koko
234044f4a206   jumpserver/web:v3.10.1       "/docker-entrypoint.…"   3 days ago       Up 3 days (healthy)       0.0.0.0:80->80/tcp, :::80->80/tcp                                                                                                                                     jms_web
55917f15b045   jumpserver/core-ce:v3.10.1   "./entrypoint.sh sta…"   3 days ago       Up 3 days (healthy)       8080/tcp                                                                                                                                                              jms_celery
af96e6f37b75   jumpserver/lion:v3.10.1      "./entrypoint.sh"        3 days ago       Up 3 days (healthy)       4822/tcp, 8081/tcp                                                                                                                                                    jms_lion
b47b6f55212a   jumpserver/kael:v3.10.1      "./entrypoint.sh"        3 days ago       Up 3 days (healthy)       8083/tcp                                                                                                                                                              jms_kael
3ab0d0bfd550   jumpserver/mariadb:10.6      "docker-entrypoint.s…"   3 days ago       Up 3 days (healthy)       3306/tcp                                                                                                                                                              jms_mysql
24ffd9477a5b   jumpserver/redis:6.2         "docker-entrypoint.s…"   3 days ago       Up 3 days (healthy)       6379/tcp                                                                                                                                                              jms_redis          
                                                                                                0.0s

执行完以上操作后,打开浏览器输入 http://主机ip 就可以正常访问。截图如下:

<aside> 💡 安装篇已终结,下一篇将对用户管理进行说明。

</aside>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值