jumpserver 是全球首款开源堡垒机,由飞至云互联网公司开发并开源。“堡垒机”也叫运维安全审计系统,jumpserver 的核心功能是 4A,它使用 GNU GPL v2.0 开源协议开源,是符合 4A 规范的专业运维安全审计系统。
jumpserver 使用 Python/Django 为主进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 方案,交互界面美观、用户体验好。
与传统堡垒机相比,jumpserver 采用了分布式架构设计、支持多机房跨区域部署、支持多云环境并可灵活扩展。资产管理方面,jumpserver 无并发和资产数量限制,支持横向扩展。jumpserver 可以使用业界领先的容器话部署方式,并且体验极佳的 Web Terminal。jumpserver 还可以实现基于 Web 的文件传输,并且支持用户将运维设计录像保存在云端(例如 AWS S3、阿里云OSS、Elastsearch 等)。为互联网企业提供了认证、授权、审计、自动化运维等工作。
jumpserver 现已支持 SSH、Telnet、RDP、VNC 协议资产。
最新版本:v2.10.2
其他堡垒机产品有:行云管家、纽盾堡垒机等。
官方网址:https://www.jumpserver.org
官方文档:https://docs.jumpserver.org/zh/master/index.html
4A 是指:认证(Authentication)、授权(Authorization)、账户(Account)、审计(Audit),中文名称为“统一安装管理平台解决方案”。即将身份认证、授权、审计和账号(即不可否认性及数据完整性)定义为网络安全的四大组成部分,从而确立了身份认证在整个网络安全系统中的地位与作用。
1995 年、国际网安界提出 4A(认证、授权、账号、审计)统一安全管理平台,正式将身份认证作为整个网络安全的基础及不可或缺的组成部分,即将身份认证、授权、记账和审计定义为网络安全的四大组成部署,从而 确
立了身份认证在整个网络安全系统中的地位和作用。
所谓 4A 统一安全管理平台解决方案,即融合统一用户账号管理、统一认证管理、统一授权管理和统一安全审计四要素后的解决方案将涵盖单点登录(SSO)等安全功能,既能够为客户提供功能完善的、高安全级别的 4A 管理,也能够为用户提供符合萨班斯法案(SOX)要求的内控报表。
⚫ 开源:零门槛,线上快速获取和安装。
⚫ 分布式:轻松支持大规模并非访问。
⚫ 无插件:仅需浏览器,极致的 Web Terminal 使用体验。
⚫ 多云支持:一套系统,同时管理不同云上面的资产。
⚫ 云端存储:审计录像云端存储,永不丢失。
⚫ 多租户:一套系统,多个子公司和部门同时使用。
⚫ 对应用支持:数据库,windows 远程应用,kubernetes。
集中账户(account)管理
为用户提供统一的账户管理,支持管理的资源包括主流的操作系统、网络设备和应用系统,不仅能够实现被管理资源账户的创建、删除及同步等账户生命周期所包含的基本功能,而且可以通过平台进行账户密码策略,密码强度、生成周期的设定。
集中认证(Authenrication)管理
可以根据用户应用的实际需要,为用户提供不同强度的认证方式,既可以保持原有的静态口令又可以提供具有双因子认证方式的高强度认证(一次性口令、数字整数、动态口令),而且还能够集成现有其他如生物特性的等新型认证方式。不仅可以实现用户认证的统一管理并且能够为用户提供统一的认证门户,实现企业信息资源访问的单点登录。
集中权限(Authorization)管理
可以对用户的资源访问权限进行集中控制。它既可以实现对 B/S,C/S应用系统资源的访问权限控制,也可以对数据库、主机及网络设备的操作的权限控制,资源控制类型即包括 B/S 的 URL、C/S 的功能模块,也包括数据库的数据、记录及主机、网络设备的操作命令、IP 地址及端口。
集中审计(Audit)管理
将用户所有的操作日志集中记录管理和分析,不仅可以对用户行为进行监控,并且可以通过集中的审计数据进行数据挖掘,以便于事后的安全事故责任认定。
OS | IP地址 | 主机名 | 安装服务 |
---|---|---|---|
CentOS7.5 | 192.168.8.2 | jump-server | docker-ce |
CentOS7.5 | 192.168.8.3 | node-01 | |
CentOS7.5 | 192.168.8.4 | node-02 |
hostname jumpserver
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
[root@jumpserver ~]# cd /etc/yum.repos.d/
[root@jumpserver yum.repos.d]# wget https://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
[root@jumpserver yum.repos.d]# yum clean all && yum makecache fast
[root@jumpserver ~]# yum -y install docker-ce
[root@jumpserver ~]# systemctl enable --now docker
配置镜像加速器
https://dockerhub.azk8s.cn //Azuer 中国镜像
https://hub-mirror.c.163.com //网易云加速器
[root@jumpserver ~]# cat << EOF >> /etc/docker/daemon.json
{ "registry-mirrors": [
"https://e815eh6a.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com"
]
}
EOF
[root@jumpserver ~]# systemctl daemon-reload
[root@jumpserver ~]# systemctl restart docker
[root@jump-server ~]# if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr
-dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo
$SECRET_KEY; else echo $SECRET_KEY; fi
CWL1znY9BnphHHMAW3YjLuSz765J8EaRnYFRl25CYGBqDimwBu
[root@jump-server ~]# if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat
/dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo
"BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> /.baserc; echo $BOOTSTRAP_TOKEN; else
echo $BOOTSTRAP_TOKEN; fi
h4o6qWnQgLyYCDmZ
[root@jump-server ~]# docker run -itd \
--name jumpserver \
--restart=always \
-p 80:80 -p 2222:2222 \
-e SECRET_KEY=CWL1znY9BnphHHMAW3YjLuSz765J8EaRnYFRl25CYGBqDimwBu \
-e BOOTSTRAP_TOKEN=h4o6qWnQgLyYCDmZ \
-v /opt/jumpserver/data/:/opt/jumpserver/data/ \
-v /opt/jumpserver/mysql/:/var/lib/mysql \
jumpserver/jms_all:v2.8.4
d5337a815cb8c28a4dd5c516ec1b8a9c1b31f8d58bd530925b85f3da9dd581d2
[root@jump-server ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS
NAMES
d5337a815cb8 jumpserver/jms_all:v2.8.4 "./entrypoint.sh" About a minute ago
Up About a minute 0.0.0.0:80->80/tcp, :::80->80/tcp,
0.0.0.0:2222->2222/tcp, :::2222->2222/tcp jumpserver
http://192.168.8.2或http://192.168.8.2/ui
用户:admin
密码:admin(初次访问需要更改密码)
重新设置密码,再次登录即可
为了安全性,我们将合理安全行的规划jumpserver管理用户及组。
大概步骤:创建系统用户---->创建管理用户---->添加资产---->资产授权
解释:系统用户是 jumpserver 跳/登录资产服务器时使用的用户,一般为服务器上的普通用户,当然所有资产服务上同时也应
该有该用户。可以理解为仅限于登录资产且权限较低的用户。
选择使用的协议,创建在系统用户,在服务器里必须的存在。
解释:管理用户是资产(被控服务器)上的 root,或拥有 NOPASSWD: ALL
sudo 权限的用户。
资产1:192.168.8.3 node-01
资产2:192.168.8.4
以上文章内容均是自己理解,如果有存在错误的地方误导大家,请评论指出来,谢谢。