Jumpserver是国内一款开源的轻便的跳板机系统,他们的官网:http://www.jumpserver.org/
使用这款软件意在提高公司内部登录生产环境服务器的便捷性,权限分配细化,以及后台管理的可视化,审计日志的WEB化(哪怕用户vi一个文件,在里面做了什么样的操作,都能审计)。本文档参考http://bbs.jumpserver.org/read/285.html的使用说明,以及相关安装文档而修订
 
 
 
环境要求
 
Jumpserver作为生产环境的主要入口,生产服务器的网络只打通到这台跳板机
 
我使用centos 7.1版本安装
8核8G内存40G硬盘
使用办公内网服务器比如(10.40.150.90)
jumpserver v0.3.0-2
内网的dnsmasq作一个解析地址:jumpserver.venic.com   10.40.150.90
 
生产服务器的网络只打到这台跳板机,IPsec VPN的ACL作规则permit放行,jumpserver不放开外网访问进来权限。只允许内网访问,如有外网登录跳板的,建议其通地拨号VPN,先连办公网,再登录跳板。
 
 
基础环境配置
 
修改系统内核句柄
修改ulimit打开文件的大小
 
/etc/security/limits.conf  尾部添加两行
 
* soft   nofile   65536
* hard nofile 65536
 
 
关闭自动写入key的功能,在
 
/etc/ssh/ssh_config
 
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
 
 
 
重启服务器
 
 
修改时钟同10.40.42.10 controller步为其它内网服务器,比如controller
vi /etc/hosts
10.40.42.10 controller
 
vi /etc/chrony.conf
server controller iburst
 
service chronyd start
 
安装数据库
yum install mariadb mariadb-server -y
 
修改数据库连接数
vi /etc/my.cnf
max_connections = 10000
 
vi /usr/lib/systemd/system/mariadb.service 或者vi /usr/lib/systemd/system/mysqld.service
在以下增加红色字体部份
[Service]
Type=simple
User=mysql
Group=mysql
LimitNOFILE=65535
LimitNPROC=65535
 
重启服务
systemctl daemon-reload
systemctl restart  mariadb
 
初始化
mysql_secure_installation
 
create database jumpserver DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grant all on jumpserver .* to 'jumpserver '@'%' identified by 'jumpserver@123';
flush privileges;
 
 
上jumpserver.org官网下载他们的git.zip
 
在电脑上解压使用SSHclient上传至服务器10.40.150.90(刚新创建空虚拟机)
将文件件移至/opt目录下
/opt/jumpserver-master/install目录
 
直接执行python install.py
它会自动下载数据库和依赖包和pip包
 
按提示操作
Successfully installed MySQL-python-1.2.5 ansible-1.9.4 argparse-1.4.0 backports-abc-0.4 certifi-2016.8.8 django-1.6 django-bootstrap-form-3.2 django-crontab-0.6.0 django-smtp-ssl-1.0 paramiko-1.16.0 passlib-1.6.5 psutil-3.3.0 pycrypto-2.4.1 pyinotify-0.9.6 pyte-0.5.2 singledispatch-3.4.0.3 tornado-4.3 wcwidth-0.1.7 xlrd-0.9.4 xlsxwriter-0.7.7
开始关闭防火墙和selinux
setenforce: SELinux is disabled
 
请输入您服务器的IP地址,用户浏览器可以访问 [10.40.150.90]:
是否安装新的MySQL服务器? (y/n) [y]: n
请输入数据库服务器IP [127.0.0.1]:
请输入数据库服务器端口 [3306]:
请输入数据库服务器用户 [jumpserver]:
请输入数据库服务器密码: jumpserver@123
请输入使用的数据库 [jumpserver]:
连接数据库成功
 
 
请输入SMTP地址:
请输入SMTP端口 [25]:
请输入账户:
请输入密码:
please run connect() first
是否跳过(y/n) [n]? : y
 
        请登陆邮箱查收邮件, 然后确认是否继续安装
 
是否继续? (y/n) [y]: y
 
 
请输入管理员用户名 [admin]: admin
请输入管理员密码: [5Lov@wife]: venic8888
请再次输入管理员密码: [5Lov@wife]: venic8888
Starting jumpserver service:                               [  确定  ]
 
安装成功,Web登录请访问http://ip:8000, 祝你使用愉快。
请访问 https://github.com/jumpserver/jumpserver/wiki 查看文档
[root@jumpserver install]#
 
 
 
 
[root@jumpserver install]# netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN     
tcp6       0      0 :::10050                :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*                         
udp        0      0 127.0.0.1:323           0.0.0.0:*                         
udp        0      0 0.0.0.0:49683           0.0.0.0:*                         
udp6       0      0 ::1:323                 :::*                               
udp6       0      0 :::48824                :::*       
 
 如果启动失败,请返回上层目录/opt/jumpserver-master,手动运行 python run_server.py 或 ./service.sh restart启动
 
 
重启
./service.sh restart
 
 

 
问题记录一:
 
默认跳板机的上传文件有限制大小为256M,可以修改dropzone.js
vi /opt/jumpserver-master/static/js/dropzone/dropzone.js ,296 行
                    maxFilesize: 5000,
 
还要安装一个nginx代理,以用来改善它的80端口访问和改善WEB大文件上传,加上一个http://jumpserver.venic.com/doc
来链接使用说明
 
[root@jumpserver http]# vi uploadbigfile.conf
server {
        listen  80;
        client_max_body_size 5g;
 
        proxy_connect_timeout 300;
        proxy_read_timeout 300;
        proxy_send_timeout 300;
        proxy_buffer_size 64k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
 
        location ^~ /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";
                proxy_pass http://127.0.0.1:8000/ws/;
        }
        location / {
                     proxy_pass http://127.0.0.1:8000;
        }
        location /file/upload/ {
 
                     proxy_pass http://127.0.0.1:8083;
        }
        location ^~ /doc/ {
                proxy_pass http://127.0.0.1:8088/;
        }
}
 
server {
        listen  8088;
        location / {
            root   /opt/jumpserver-master/docs/;
            index  index.html index.htm;
        }
}
 
 
 
 
 
由于多了一个8083端口,还要启动这个
cd /opt/jumpserver-master
python manage.py runserver 127.0.0.1:8083 & 
*************************************************
xshell工具的上传大小还没解决,以下是刚才修改配置的位置,但测试最终提示不超过2G的单文件。
 
上传文件有限制大小为256M,可以修改dropzone.js
vi /opt/jumpserver-master/static/js/dropzone/dropzone.js ,296 行
                    maxFilesize: 5000,
 
 
./service.sh restart
~
 
 
 

加一些开机自启动
chkconfig mariadb on
vi /etc/rc.d/rc.local
 
/home/local/nginx1.9/sbin/nginx
/opt/jumpserver-master/service.sh restart
/bin/python /opt/jumpserver-master/manage.py runserver 127.0.0.1:8083 &
 
chmod +x /etc/rc.d/rc.local

 问题记录二:
 
Web console登录机器,会产生过大的CPU,单开一个WEB console就消耗了44%的CPU,2核中占满一个。而使用Xshell公钥匙则没有问题
如果要禁用Web Console的话,修改Web前端,但我没有删掉
进入/opt/jumpserver-master/templates/jasset/asset_cu_list.html  -----修改130行 这个是修改普通用户界面的
进入/opt/jumpserver-master/templates/jasset/asset_list.html    135行    --------这个是修改管理员界面的
 
比如我把它修改成跳转方式到其它网站连接去
<a value="{{ asset.id }}" class="conn btn btn-xs btn-warning">连接</a>
<a href="http://jumpserver.venic.com/doc" class="conn btn btn-xs btn-warning">连接</a>
 
 
而我没有取消,是因我调高CPU配置为8核后,发现开了8个窗口,最终还是最多消耗2个核,所以我没有禁用web console
-------------------------------------------------------------------------------------------------------------
 
 
 
需求变更一:
 
修改web console的窗口宽一点
/opt/jumpserver-master/static/js/webterminal.js
改里面所有100值为160的值
 
修改webconsole 窗口,加个注释,禁用用户修改窗口大小
 
<!--
<div class="termChangBar">
    <input type="number" min="100" value="100" placeholder="col" id="term-col"/>
    <input type="number" min="35" value="35" placeholder="row" id="term-row"/>
    <button id="col-row">修改窗口大小</button>
</div>
-->
 
 
 
修改弹窗的窗口体大小(非terminal),
进入/opt/jumpserver-master/templates/jasset/asset_cu_list.html  -----修改237行和249行  这个是修改普通用户界面的
进入/opt/jumpserver-master/templates/jasset/asset_list.html    248行和259    --------这个是修改管理员界面的
 
window.open(new_url+data, "_blank", 'width=1000, height=600');
 
 
 
------------------------------------------------------
需求变更二:
 
修改左侧导航栏的访问官网链接
进入/opt/jumpserver-master/templates/nav.html   52行和80行
 
<a href="http://jumpserver.venic.com/doc" target="_blank"><i class="fa fa-database"></i> <span class="nav-label">访问官网</span></a>
上传一个用word文档写的“操作指引”到如下链接,

这个word文档转成html,我只是使用另存为html自己保存成2个新文件(index.files和index.htm)

然后我在htm文件的<head></head>标签中,添加了一个<style></style>如下标签,目的是让图片自动伸缩和居中
<style>
html{
   
}
body{width:800px;
    margin:auto;
    background-color:#FFFFFF;
   }
img {max-width:800px;}
</style>
 
然后把这2个文件上传至服务器的/opt/jumpserver-master/docs目录下。所以才上面的nginx多一条跳转的配置

 
然后我们还要修改首页的前代码,让“连接使用说明”指到这个 http://jumpserver.venic.com/doc/
修改处在
/opt/jumpserver-master/templates/nav.html
 

测试跳转后的显示界面样式如下,

常见企业IT支撑【6、跳板机Jumpserver】的更多相关文章

  1. 搭建开源跳板机——jumpserver

    搭建开源跳板机mobaxterm 官方文档:https://jumpserver.readthedocs.io/zh/master/ $ yum update -y # 防火墙 与 selinux 设 ...

  2. 跳板机 jumpserver

    http://docs.jumpserver.org/zh/docs/introduce.html 启动脚本 #!/bin/bash set -e export LANG=zh_CN.UTF- # 项 ...

  3. 常见企业IT支撑【7、keepalived VRRP双主master】

    我们知道,最简单的keepalive vrrp作出来的VIP实例,征用了2台服务器,生成1个VIP,也就是说,基础实配置实例中,我们的业务流量只会流向其中一台服务器,另一台就空闲了,明显示合, 能否做 ...

  4. 常见企业IT支撑【5、内网DNS cache轻量服务dnsmasq】

    可参考http://www.centoscn.com/CentosServer/dns/2014/0113/2355.html 布署keepalive高可用方式 此方案只适合小型企业,规模少的情况下使 ...

  5. docker-compose之跳板机jumpserver部署

    下载docker-compose curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-comp ...

  6. 常见企业IT支撑【8、端口回流问题】

    端口回流故障场景,常见于内网启用了Server服务器,使用出口路由设备的外网口NAT映射了一个公网地址,域内内网主机访问了这个公网地址,访问不通. 故障容易出现在办公网内的带有对外Server测试环境 ...

  7. 常见企业IT支撑【4、gitlab代码管理工具】

    安装方式可借鉴http://www.cnblogs.com/juandx/p/5339254.html 安装方式

  8. 常见企业IT支撑【3、SVN代码版本控制系统】

    代码版本控制系统有人喜欢用SVN,有人喜欢用GIT     1.环境   os:centos7 apache:2.4.6 python:2.7  --自带 submin2:2.2.1   2.安装ap ...

  9. 常见企业IT支撑【2、samba共享文件夹】

    samba共享文件夹,较Window自带的比较:开源,安全 建议安装samba4,兼容性好 1.安装samba #yum -y install samba4 samba4-client 2.备份sam ...

随机推荐

  1. close_on_exec标志位的作用

    转自:http://blog.csdn.net/sunlylorn/article/details/6363727 close_on_exec 是一个进程所有文件描述符(文件句柄)的位图标志,每个比特 ...

  2. 使用 istreambuf_iterator 读取文件内容,赋值给 std::string

    需要一个一个字符输入时考虑使用istreambuf_iterator 假设我们要把一个文本文件拷贝到一个字符串对象中.似乎可以用一种很有道理的方法完成: ifstream inputFile(&quo ...

  3. POJ 1166 暴力搜索 即 枚举

    e.... 米还是没有读懂题....T_T ..... e.... 这就是传说中的暴力吗....太血腥了....太暴力了...九重for循环....就这么赤裸裸的AC了.... 水是水了点..但是.. ...

  4. linux make virtual memory more efficient three components

    Page Cache This is used to speed up access to images and data on disk. As pages are read into memory ...

  5. Solr安装入门

    Solr安装入门:http://www.importnew.com/12607.html 查询详解:http://www.360doc.com/content/14/0306/18/203871_35 ...

  6. 【转】个人总结-网络安全学习和CTF必不可少的一些网站

    转自:http://blog.csdn.net/ida0918/article/details/52730662 学习的地方很多,不能一一列举,一些优秀的网址和博客可能也没有提到,大家补充吧:P就简单 ...

  7. jQuery实现按Esc清除信息功能

    1.jQuery实现按Esc清除信息功能 function clearLogs(){    $(".logs").empty(); }   $(document).ready(fu ...

  8. pdo 操作

    $dbhost = 'localhost';$dbname = 'dcim';$dbuser = 'dcim';$dbpass = 'dcim'; $locale = "en_US" ...

  9. Emacs矩形操作

    原始矩形块模式 emacs以C-x r开头的命令来进行矩形操作.先用C-space或者C-@设一个mark,移动光标到另一点,用以下命令进行列操作: C-x r r 复制一个矩形区域到寄存器 C-x ...

  10. jenkins系列(9)--插件之Archive The Artifacts

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...