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
就可以正常访问了