[轉]跳板機Jumpserve的生產環境配置


6、跳板機Jumpserver】

 
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;
   
   }
img {max-width:800px;}
</style>
 
然后把這2個文件上傳至服務器的/opt/jumpserver-master/docs目錄下。所以才上面的nginx多一條跳轉的配置

 

 
然后我們還要修改首頁的前代碼,讓“連接使用說明”指到這個 http://jumpserver.venic.com/doc/
修改處在
/opt/jumpserver-master/templates/nav.html
 

 測試跳轉后的顯示界面樣式如下,

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM