基於Docker搭建Jumpserver堡壘機操做實踐

1、背景

筆者最近想起此前公司使用過的堡壘機系統,以爲用的很方便,而如今的公司並無搭建此類系統,想着之後說不定能夠用上;並且最近也有點時間,所以來了搭建堡壘機系統的興趣,在搭建過程當中參考了比較多的文檔,其中最詳細的仍是官方文檔,地址以下所示:web

  1. Jumpserver 文檔

2、操做概要

1. 系統運行
2. 配置入門
3. 測試驗證
複製代碼

3、系統運行

在官方文檔中安裝堡壘機有不少種方法,這讓筆者有些糾結,另外並且在不一樣系統中安裝方法也不一致,不過正在徘徊不定時,發現一種通用的安裝方法,即是採用docker進行安裝,所以本文中筆者將以docker安裝爲例docker

3.1 下載鏡像

在docker官方鏡像庫當中並無收錄jumpserver,所以下載鏡像命令以下所示:瀏覽器

docker pull registry.jumpserver.org/public/jumpserver:1.0.0
複製代碼

下載過程可能比較慢,筆者大約花費了14分鐘纔將其下載完成,下載完成後結果以下所示安全

1.0.0: Pulling from public/jumpserver
af4b0a2388c6: Pull complete
aa66a3d10fd2: Pull complete
1d4c6a27f2ac: Pull complete
2490267572de: Pull complete
b00f1599768d: Pull complete
398fc903cdc3: Pull complete
f8490bbfc09a: Pull complete
86d238b365f5: Pull complete
2cd3b1ef59b2: Pull complete
4a21434eeb73: Pull complete
ae8cf3e909e0: Pull complete
7c440776471a: Pull complete
0a5e895f91af: Pull complete
b86672241685: Pull complete
af16a4945f95: Pull complete
0374e723cd6c: Pull complete
e18b86849df9: Pull complete
648aa832cb74: Pull complete
b52364a5c704: Pull complete
Digest: sha256:0f26e439c492ac52cbc1926aa950a59730607c947c79557ab3da51bfc2c7b5d4
Status: Downloaded newer image for registry.jumpserver.org/public/jumpserver:1.0.0
複製代碼

3.2 運行鏡像

下載以後筆者須要將下載下來的容器運行起來,爲了防止80端口被宿主機其餘進程所佔用,所以將容器端口映射到宿主機的8011上,運行命令以下所示:bash

docker run --name jms_server -d -p 8011:80 -p 2222:2222 registry.jumpserver.org/public/jumpserver:1.0.0
複製代碼

在參數當中由於有加入後臺運行參數-d,容器運行以後終端不會進入容器bash中,並且當命令執行成功以後,docker將會返回容器ID,若是返回信息則可能出現了異常錯誤,正常返回結果以下所示服務器

4709a7d85af28bf05a63fb3e42541a41c30edda6668fd54a446cfab006c35b9e
複製代碼

3.3 運行檢查

容器運行以後,筆者須要對其進行檢測確保運行成功,檢查方式有兩個,首先觀察容器是否正常運行,而後是檢查堡壘機是否能被瀏覽器所訪問微信

首先經過以下命令能夠查看當前正在運行的容器ssh

docker ps
複製代碼

若是容器正常運行將會出現剛在筆者所運行的堡壘機容器ID,正常返回結果參考以下tcp

CONTAINER ID        IMAGE                                             COMMAND               CREATED             STATUS              PORTS                                                   NAMES
4709a7d85af2        registry.jumpserver.org/public/jumpserver:1.0.0   "/opt/start_jms.sh"   8 minutes ago       Up 8 minutes        443/tcp, 0.0.0.0:2222->2222/tcp, 0.0.0.0:8011->80/tcp   jms_server
複製代碼

在返回結果當中能夠看到以前docker返回的容器ID正處於運行狀態,即可以肯定容器運行正常,接着筆者還須要經過瀏覽器來檢測是否運行成功,使用瀏覽器打開以下地址測試

http://127.0.0.1:8011/
複製代碼

當瀏覽器出現以下界面時,則基本表明成功

image

4、配置入門

在肯定系統正常運行以後,接下來就能夠對系統進行一些配置,堡壘機配置比較簡單,下面的配置是將是使用堡壘機最爲基礎的一些配置,配置主要是添加一些資產進行管理,這便須要添加管理用戶、系統普通用戶、帳戶受權等操做。

4.1 登陸系統

在前面的檢驗運行的截圖當中能夠看到須要登陸,而帳號和密碼筆者並無在官方文檔中所看到,筆者隨手一嘗試,發現用戶名和密碼分別是adminadmin,以下圖所示

image

登陸成功以後,進入系統看到的界面以下圖所示

image

4.2 管理用戶

接下來筆者須要添加一些資產,添加資產的前提條件是有一個管理用戶,這個管理用戶是資產的最高權限帳戶,堡壘機以後會使用此帳戶來登陸並管理資產,和獲取一些統計信息,筆者在資產管理->管理用戶列表中點擊建立系統用戶按鈕,便來到了建立管理用戶的頁面,以下圖所示

image

在表單中能夠看見必須填寫用戶名,和認證所用的密碼或私鑰,按照真實狀況去填寫,好比筆者的資產最高權限帳戶是song,密碼123456Ab,那麼就如實填寫上去。

4.3 資產管理

在添加管理用戶以後,即可以添加資產了,添加資產也很是的簡單,在資產列表點擊建立資產按鈕,便來到了添加資產的頁面,以下圖所示

image

添加資產須要填寫,資產的IP地址,以及ssh的端口號,以及選擇資產的操做系統類型,而且選擇用哪個管理用戶

4.4 系統用戶

在資產管理下還有一個系統用戶管理,這個系統用戶的使用場景是,有時候須要在不少個目標資產中建立一個普通帳戶,這時候確定是十分麻煩;此時即可以經過堡壘機上的系統用戶管理來建立一個系統用戶;而後下發到目標資產中,這樣一來就不須要去目標主機一個個登陸而後去建立,所以很是方便,添加系統用戶以下圖所示

image

建立系統用戶需輸入須要建立的帳號,以及選擇認證的方式,默認爲祕鑰方式,也能夠將選擇框選中去掉,經過密碼來認證。

5、測試驗證

在前面的配置步驟操做完畢後,即可以進行一些常規功能驗證,以此來加深對jumpserver系統的瞭解,這些功能測試點有 資產鏈接測試、用戶受權、Web終端、在線會話、命令記錄等功能。

5.1 鏈接測試

鏈接測試的目的是檢查資產是否能夠被堡壘機所訪問,能夠在資產列表點擊資產名稱,即可以進入資產詳情頁面,右側有兩個按鈕,點擊刷新按鈕,正確配置的參考效果以下圖所示

image

若是能看到左側的硬件信息發生了變動,就表明此前配置的管理用戶沒有問題,不然會彈出錯誤提示框;

5.2 用戶受權

當配置資產後,若是想在堡壘機中直接鏈接終端就還須要給用戶受權,受權分爲兩個步驟,第一步是給web終端帳戶受權,在會話管理->終端管理,以下圖所示

image

第二步則是給用戶本身自己受權,在受權管理->資產權限->建立權限規則中作好相應配置,以下圖所示

image

5.3 web終端

當給用戶受權以後,用戶即可以會話管理->Web終端中與系統進行交互,以下圖所示

image

5.4 在線會話

有些時候想看誰在操做服務器,能夠很輕鬆的經過在線會話功能來查看當前有哪些用戶在操做終端,在會話管理->在線會話列表中進行查看,以下圖所示

image

5.5 命令記錄

筆者以爲堡壘機最大的做用之一即是審計,若是想知道某個用戶在系統中執行了那些命令,能夠很方便的在會話管理->命令記錄中進行查看,以下圖所示

image

6、 圖書推薦

若是對筆者的實戰文章較爲感興趣,能夠關注筆者新書《PHP Web安全開發實戰》,現已在各大平臺上架銷售,封面以下圖所示

image

做者:湯青松

微信:songboy8888

日期:2018-10-30

相關文章
相關標籤/搜索