jumpserver 堡垒机

来源:知乎

Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。

特点:

完全开源,GPL授权
Python编写,容易再次开发
实现了跳板机基本功能,认证、授权、审计
集成了Ansible,批量命令等
支持WebTerminal
Bootstrap编写,界面美观
自动收集硬件信息
录像回放
命令搜索
实时监控
批量上传下载

jumpserver 3.0 安装

相对于 jumpserver 2.0 版本,在新的版本 3.0 中取消了LDAP授权,取而代之的是ssh进行推送;界面也有所变化,功能更完善,安装更简单,不像 2.0 的版本,难住了好多人。下面通过两台主机来搭建 jumpserver堡垒机!

环境:
Centos 6.5 x86_64
关闭 iptables,关闭 selinux
jumpserver:192.168.1.200
clients:192.168.1.210
ps:操作只针对 jumpserver,clients 不会进行操作,只是环境需求。

一、安装依赖包
yum -y install epel-release
yum clean all && yum makecache
yum -y update
yum -y install git python-pip MySQL-devel gcc automake autoconf python-devel vim sshpass lrzsz readline-devel

二、下载 jumpserver
cd /opt
Git clone https://github.com/jumpserver/jumpserver.git
注: 如果下载失败,则去github上面下载zip包,unzip解压缩即可

三、执行快速安装脚本
cd /opt/jumpserver/install

pip install -r requirement.txt

查看安装的包
pip freeze

python install.py
输入jumpserver的地址,默认为:”192.168.1.200”,回车即可。
是否安装MySQL:选择”y”进行安装

MySQL 启动后会要求用户输入 邮件服务器及账户(后期用来发送用户名、ssh pass、web pass、ssh key)

163邮箱用授权密码,而不是登入密码 ,切记 。

输入smtp信息之后发现报错了,是python的pycrypto模块问题,需要卸载重装:
pip uninstall pycrypto
easy_install pycrypto



安装之后继续 python install.py 进行安装,并且输入 web管理员用户名和管理员密码,ok


运行 crontab,定期处理失效连接,定期更新资产信息
cd /opt/jumpserver
python manage.py crontab add

注:
1)根据提示输入相关信息,完成安装,安装完成后,请访问web,继续查看后续文档
2)如果启动失败,请返回上层目录,手动运行 ./service.sh start 启动
3)如果 ./service.sh start 启动失败
cd /opt/jumpserver
python manage.py runserver 0.0.0.0:80
python run_websocket.py
4)如果启动失败,可能是由于80端口和3000端口已经被占用,或者数据库账号密码不对,请检查

五、Web登录
http://192.168.1.200

注意:
在使用jumpserver过程中,有一步是系统用户推送,要推送成功,client(后端服务器)要满足以下条件:
1)后端服务器需要有python、sudo环境才能使用推送用户,批量命令等功能
2)后端服务器如果开启了selinux,请安装libselinux-python

六、更新代码
cd /opt/jumpserver
git pull

环境搭建到这一步就结束啦~

下面开始要仔细看咯

一、用户管理

1)添加用户

点击用户管理 —> 查看用户 —> 添加用户

输入要添加的用户名,姓名,权限,Mail,并且发送邮件 —> 保存

查看添加的用户

查看用户邮件
邮件中包含了用户名,权限,web密码,ssh 密钥密码,以及密钥下载地址。

2)添加用户组

点击用户管理 —> 查看用户组 —> 添加用户组

添加新的小组 —> 运维小组

查看刚才添加的组

二、资产管理

1)添加资产组

点击资产管理 —> 查看资产组 —> 添加主机组

输入组名称,并且输入描述组用途

2)添加资产

点击资产管理 —> 查看资产 —> 添加资产

输入主机名,主机IP,管理用户名(管理员用户,主机中必须存在的哦~ 可以是root),端口,资产组 —> 提交保存

3)添加机房

点击资产管理 —> 查看机房 —> 添加机房

输入机房名称,其他的可以选填 —> 保存

三、权限管理

1)sudo

点击权限管理 —> sudo —> 添加别名

输入别名,系统命令,备注 —> 点击保存

2)添加系统用户

点击授权管理 —> 系统用户 —> 添加系统用户

输入用户名,密码,管理的sudo及备注 —> 单击保存

创建好系统之后,单击推送,将用户名、密码、sudo的信息推送到服务器。

选择系统用户,资产组 —> 单击保存

推送成功

3)授权规则

点击授权管理 —> 授权规则 —> 添加规则

输入授权名称,用户/用户组,资产/资产组,系统用户,备注 —> 单击保存

四、登录

这时候创建已经完成,下一步用户”hongxue”通过web和密钥登录堡垒机 192.168.1.200,并实现跳转到服务器 192.168.1.210

1)通过web登录
可以看到用户ID,用户名,权限,key,最后登录,用户组,授权主机数,以及主机信息。

单击查看主机 —> 连接

连接成功,可以对该主机进行操作。

2)通过ssh登录

通过邮件中收到的地址,下载key

点击工具 —> 用户密钥管理者

单击导入 —> 输入用户名,密码

连接 jumpserver 堡垒机 192.168.1.200,输入密钥密码进行登录

登录成功!! 从授权的列表中连接到服务器 192.168.1.210

!!为了安全,建议配置nginx 反向代理 jumpserver

log_format jumpserver ‘$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$request_time" $request_body "$http_referer" "$http_user_agent" "$http_x_forwarded_for" $scheme $http_host‘;

server {
        listen       8080 ssl;
        listen       80;
deny all;
        server_name jumpserver.xxxx.com;
        index index.html index.htm index.PHP;

        ssl_certificate      ssl/xxxx.com.crt;
        ssl_certificate_key  ssl/xxxx.com.key;
ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers  HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

if ( $scheme = http ) {
   rewrite ^(.*)$ https://$host:8090$request_uri? permanent;
  }

location / {
  proxy_set_header Connection "";
  proxy_http_version 1.1;
  proxy_pass      http://10.43.12.31:8090;
 }

location ^~ /ws/ {
proxy_pass http://10.43.12.31:8090/ws/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
  }

        access_log  /data0/logs/jumpserver.log jumpserver;
        error_log  /data0/logs/jumpserver_error.log debug;
}
时间: 2024-11-10 20:10:30

jumpserver 堡垒机的相关文章

jumpserver 堡垒机环境搭建(图文详解)

Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 完全开源,GPL授权 Python编写,容易再次开发 实现了跳板机基本功能,认证.授权.审计 集成了Ansible,批量命令等 支持WebTerminal Bootstrap编写,界面美观 自动收集硬件信息 录像回放 命令搜索 实时监控 批量上传下载 jumpserver 3.0 安装 相对于 jumpserver 2.0 版本,在新的版本

让运维不再背锅的利器jumpserver堡垒机

由于来源身份不明.越权操作.密码泄露.数据被窃.违规操作等因素 都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅. 几种常见的背黑锅场景 1.由于不明身份利用远程运维通道攻击服务器造成业务系统出现异常 但是运维人员无法明确攻击来源,那么领导很生气.后果很严重 2.只有张三能管理的服务器,被李四登录过并且做了违规操作 但是没有证据是李四登录的,那么张三只能背黑锅了. 3.运维人员不小心泄露了服务器的密码.一旦发生安全事故,那么后果不堪设想. 4.

jumpserver堡垒机的搭建

堡垒机方便和简化了管理员对多个用户和多台服务器之间的联系 jumpserver是一个开源的软件 1 首先在jumpsrever官网下载 选择 VIEW PROJECT ON GITHUB 这个按钮 选择master 这个分支 一个软件压缩包 下载时要下载master这个分支  再解压  期间会下载依赖包 请耐心等待 这个对python的版本有要求 不符合就卸载 重新安装 unzip jumpserver-master.zip cd jumpserver-master/install ./inst

基于Docker搭建Jumpserver堡垒机操作实践

一.背景 笔者最近想起此前公司使用过的堡垒机系统,觉得用的很方便,而现在的公司并没有搭建此类系统,想着以后说不定可以用上:而且最近也有点时间,因此来了搭建堡垒机系统的兴趣,在搭建过程中参考了比较多的文档,其中最详细的还是官方文档,地址如下所示: Jumpserver 文档 二.操作概要 1. 系统运行 2. 配置入门 3. 测试验证 三.系统运行 在官方文档中安装堡垒机有很多种方法,这让笔者有些纠结,另外而且在不同系统中安装方法也不一致,不过正在徘徊不定时,发现一种通用的安装方法,便是采用doc

搭建jumpserver堡垒机

环境 系统: CentOS 7 IP: 192.168.244.144 关闭 selinux 和防火墙 # CentOS 7 $ setenforce 0  # 可以设置配置文件永久关闭 $ systemctl stop iptables.service $ systemctl stop firewalld.service # 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文 $ localedef -c -f UTF-8 -i zh_CN zh_CN.U

超详细:自动化运维之jumpserver堡垒机入门到掌握

测试推荐环境 CPU: 64位双核处理器 内存: 4G DDR3 数据库:mysql 版本大于等于 5.6 mariadb 版本大于等于 5.5.6 环境 系统: CentOS 7 IP: 192.168.0.230 设置 selinux 和防火墙 [root@web1 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopbac

jumpserver堡垒机搭建

安装的文字在百度上有很多,个人建议还是参考官网的比较靠谱.下面主要说一下个人搭建所遇到过的坑和后面修改和使用的说明.安装文档参考:http://docs.jumpserver.org/zh/docs/installation.html主要以上面为主,参考其他的也是可以的. 1.在安装的过程中,需要掌握每一步的操作是什么意思.在后面的排错中很有帮助的.2.遇到问题学会找关键字或查看错误日志.然后找百度或google.基本都能解决.3.在搭建或安装的前提,建议使用虚拟机便于创建快照和系统恢复方便.4

如何搭建jumpserver堡垒机?

一.准备环境$ firewall-cmd --zone=public --add-port=80/tcp --permanent # nginx 端口$ firewall-cmd --zone=public --add-port=2222/tcp --permanent # 用户SSH登录端口 coco $ firewall-cmd --reload # 重新载入规则 $ setenforce 0$ sed -i "s/enforcing/disabled/g" /etc/selinu

堡垒机jumpserver安装

Jumpserver堡垒机安装文档 一.环境 CentOS 6.x x86_64 service iptables stop 关闭SELinux的方法: 修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启. 如果不想重启系统,使用命令setenforce  0 二.安装依赖rpm yum -y install epel-release yum -y install git python-pip mysql-devel gcc aut