1. 程式人生 > >貞觀之治之jumpserver

貞觀之治之jumpserver

貞觀之治

前言

所謂貞觀之治,可以表明在中華位文明五千年歷史長河中留下了濃墨重彩的一筆。而jumpserver這款開源的堡壘機仿佛在上演歷史劇,穿越唐朝與唐太宗一起貞觀......


個人理解

之所以稱為開源即免費。堡壘機的理念是方便管理安全性。而這款jumpserver堡壘機也具備以上特性。這就好比幾年前linux沒有興起的時候大家玩windows2008的域一樣添加用戶管理員,有子賬戶。但也是有區別的,如賬戶管理,資源管理,機房管理,授權。好多應用都可以讓我們仔細研究一下。


安裝步驟

服務器環境:阿裏雲服務器 ip47.12.230.456 系統:Centos7.3


首先下載jumpserver安裝包。


一、安裝依賴包

yum -y install epel-release
yum clean all && yum makecache
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解壓縮即可,我說下載安裝包安裝的。

1. 進官網下載。

技術分享

2.點擊之後下一步選擇

技術分享


3.開始安裝jumpserver之後unzip jumpserver-master.zip

技術分享

三、執行快速安裝腳本
cd /opt/jumpserver/install

./install.py

技術分享

技術分享

輸入jumpserver的地址,默認為:”172.17.253.221”,回車即可。 註意: 需要在你數據庫創建一個jumpserver名字的庫。

是否安裝mysql:選擇”y”進行安裝

技術分享

MySQL 啟動後會要求用戶輸入 郵件服務器及賬戶(後期用來發送用戶名、ssh pass、web pass、ssh key)

163郵箱用授權密碼,而不是登入密碼 ,切記 。

技術分享

輸入smtp信息之後發現報錯了

第一個問題:

技術分享

這個問題是utf8的問題 在數據庫創建 create database jumpserver charset=utf8;

第二個問題:

python的pycrypto模塊問題,需要卸載重裝:
pip uninstall pycrypto
easy_install pycrypto

技術分享

技術分享

技術分享

技術分享

安裝之後繼續 ./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.1:8000

技術分享

2.這是登錄之後看到得。

技術分享

註意:
在使用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;
}

總結:相信自己!

本文出自 “李世龍” 博客,謝絕轉載!

貞觀之治之jumpserver