shell脚本一键部署JumpServer堡垒机

Jumpserver 是一款开源的堡垒机(Jump Server),用于集中管理和审计用户访问内网服务器的行为,常用于 IT 运维和信息安全领域。它能够提供多种形式的认证、访问控制、会话记录、日志审计等功能,帮助企业增强对系统、网络和设备访问的安全性,并便于审计和合规管理。
Jumpserver 的主要功能:
1、身份认证与权限管理
Jumpserver 支持多种身份认证方式,包括用户名/密码、OTP(一次性密码)、LDAP、AD(Active Directory)等,能够对不同用户、不同角色进行细粒度的权限控制。
2、集中化访问管理
Jumpserver 通过 Web 控制台集中管理所有用户的访问权限,管理员可以查看哪些用户访问了哪些服务器、何时进行了操作等。
3、审计与监控
Jumpserver 会记录所有会话的操作日志和活动数据,并生成审计报告,便于管理员对用户操作进行追踪和分析。这包括 SSH、RDP、VNC 等协议的会话记录。
4、会话录制与回放
Jumpserver 支持对用户的访问会话进行录像,可以在事后回放用户的操作过程,帮助识别潜在的安全问题或操作错误。
5、多协议支持
Jumpserver 支持多种远程协议,包括 SSH、RDP、VNC、SFTP 等,满足不同场景下的运维需求。
6、自动化管理
支持通过 API 与其他工具集成,能够自动化地进行用户权限的分配、审计报告的生成等操作,提升管理效率。
7、高可用与扩展性
Jumpserver 可以部署在高可用模式下,以支持大规模企业环境。它具有良好的扩展性,可以通过集群、负载均衡等方式提升系统的容错性和性能。
8、安全性
Jumpserver 提供多种安全保障措施,如 SSH 密钥对管理、会话加密、访问控制列表(ACL)等,确保访问过程中的数据和操作不被泄露或篡改。
适用场景
企业 IT 运维:运维人员通过 Jumpserver 集中管理、审计所有系统、服务器、网络设备的访问,保证操作过程符合公司安全规范。
敏感环境保护:在金融、电力、医疗等高安全性要求的行业,通过 Jumpserver 对关键系统和设备的访问进行严格控制和审计。
合规性要求:对于需要符合安全合规标准(如 GDPR、SOX、PCI-DSS 等)的企业,Jumpserver 提供的会话记录和审计功能能帮助企业进行合规性检查和报告生成。
Jumpserver 的优势
开源免费:作为一款开源产品,Jumpserver 可以免费使用,并且用户可以根据自身需求修改源代码进行定制。
功能丰富:除了基本的堡垒机功能外,Jumpserver 提供了更多的扩展功能,如自动化运维集成、灵活的权限配置等,适合不同规模的企业使用。
安全性高:Jumpserver 强调安全性,支持多重认证方式、会话录制、权限控制等多项安全特性。
总结
Jumpserver 是一个功能强大的开源堡垒机解决方案,通过集中管理、审计和控制内网服务器的访问,帮助企业提高 IT 系统的安全性、可管理性和合规性。

在github上面下载脚本:Releases · jumpserver/jumpserver · GitHub

选择你需要下载的版本,尽量使用国内适配的脚本,这个是国外的网站,可能访问有些慢。

一键安装命令。

curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash

脚本代码

#!/usr/bin/env bash
#

VERSION=v4.2.0
DOWNLOAD_URL=https://resource.fit2cloud.com

function install_soft() {
    if command -v dnf &>/dev/null; then
      dnf -q -y install "$1"
    elif command -v yum &>/dev/null; then
      yum -q -y install "$1"
    elif command -v apt &>/dev/null; then
      apt-get -qqy install "$1"
    elif command -v zypper &>/dev/null; then
      zypper -q -n install "$1"
    elif command -v apk &>/dev/null; then
      apk add -q "$1"
      command -v gettext &>/dev/null || {
      apk add -q gettext-dev python3
    }
    else
      echo -e "[\033[31m ERROR \033[0m] $1 command not found, Please install it first"
      exit 1
    fi
}

function prepare_install() {
  for i in curl wget tar iptables; do
    command -v $i &>/dev/null || install_soft $i
  done
}

function get_installer() {
  echo "download install script to /opt/jumpserver-installer-${VERSION}"
  cd /opt || exit 1
  if [ ! -d "/opt/jumpserver-installer-${VERSION}" ]; then
    timeout 60 wget -qO jumpserver-installer-${VERSION}.tar.gz ${DOWNLOAD_URL}/jumpserver/installer/releases/download/${VERSION}/jumpserver-installer-${VERSION}.tar.gz || {
      rm -f /opt/jumpserver-installer-${VERSION}.tar.gz
      echo -e "[\033[31m ERROR \033[0m] Failed to download jumpserver-installer-${VERSION}"
      exit 1
    }
    tar -xf /opt/jumpserver-installer-${VERSION}.tar.gz -C /opt || {
      rm -rf /opt/jumpserver-installer-${VERSION}
      echo -e "[\033[31m ERROR \033[0m] Failed to unzip jumpserver-installer-${VERSION}"
      exit 1
    }
    rm -f /opt/jumpserver-installer-${VERSION}.tar.gz
  fi
}

function config_installer() {
  cd /opt/jumpserver-installer-${VERSION} || exit 1
  sed -i "s/# DOCKER_IMAGE_MIRROR=1/DOCKER_IMAGE_MIRROR=1/g" /opt/jumpserver-installer-${VERSION}/config-example.txt
  ./jmsctl.sh install
  ./jmsctl.sh start
}

function main(){
  if [[ "${OS}" == 'Darwin' ]]; then
    echo
    echo "Unsupported Operating System Error"
    exit 1
  fi
  prepare_install
  get_installer
  config_installer
}

main


脚本执行过程尽量选择默认设置。

安装成功后,我们可以看到所有的组建提示启动正常,访问地址http://192.168.153.186:80                默认用户: admin  默认密码: ChangeMe

登录之后重置密码。

控制台 添加用户 添加资产 (远程的服务器)

审计台 查看会话记录 会话命令 等历史记录

工作台 日常工作,远程服务器

补充说明:

cd /opt/jumpserver/config/   是JumpServer  文件的配置路径。

如果要修改访问端口号:vim /opt/jumpserver/config/config.txt  

管理命令:

进入安装目录:cd /opt/jumpserver-installer-v4.2.0

查看支持的所有选项和功能
./jmsctl.sh --help
1、启动服务
./jmsctl.sh start
2、停止服务
./jmsctl.sh stop
3、重启服务
./jmsctl.sh restart
4. 查看服务状态
./jmsctl.sh status
5、查看日志
./jmsctl.sh tail

报错处理:

问题图片

 解决方法:编辑jumpserver 配置文件/opt/jumpserver/config/config.txt

vim /opt/jumpserver/config/config.txt

找到DOMAINS=   后面添加上IP地址和端口号

 然后重新启动jumpserver服务

./jmsctl.sh start

就可以正常访问了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GHY@CloudGuardian

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

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

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

打赏作者

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

抵扣说明:

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

余额充值