一、背景
筆者最近想起此前公司使用過的堡壘機系統,覺得用的很方便,而現在的公司並沒有搭建此類系統,想着以後說不定可以用上;而且最近也有點時間,因此來了搭建堡壘機系統的興趣,在搭建過程中參考了比較多的文檔,其中最詳細的還是官方文檔,地址如下所示:
二、操作概要
1. 系統運行
2. 配置入門
3. 測試驗證
三、系統運行
在官方文檔中安裝堡壘機有很多種方法,這讓筆者有些糾結,另外而且在不同系統中安裝方法也不一致,不過正在徘徊不定時,發現一種通用的安裝方法,便是採用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上,運行命令如下所示:
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 運行檢查
容器運行之後,筆者需要對其進行檢測確保運行成功,檢查方式有兩個,首先觀察容器是否正常運行,然後是檢查堡壘機是否能被瀏覽器所訪問
首先通過如下命令可以查看當前正在運行的容器
docker ps
如果容器正常運行將會出現剛在筆者所運行的堡壘機容器ID,正常返回結果參考如下
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/
當瀏覽器出現如下界面時,則基本代表成功
四、配置入門
在確定系統正常運行之後,接下來就可以對系統進行一些配置,堡壘機配置比較簡單,下面的配置是將是使用堡壘機最爲基礎的一些配置,配置主要是添加一些資產進行管理,這便需要添加管理用戶、系統普通用戶、賬戶授權等操作。
4.1 登錄系統
在前面的檢驗運行的截圖當中可以看到需要登錄,而賬號和密碼筆者並沒有在官方文檔中所看到,筆者隨手一嘗試,發現用戶名和密碼分別是admin
與admin
,如下圖所示
登錄成功之後,進入系統看到的界面如下圖所示
4.2 管理用戶
接下來筆者需要添加一些資產,添加資產的前提條件是有一個管理用戶,這個管理用戶是資產的最高權限賬戶,堡壘機之後會使用此賬戶來登錄並管理資產,和獲取一些統計信息,筆者在資產管理
->管理用戶
列表中點擊創建系統用戶
按鈕,便來到了創建管理用戶的頁面,如下圖所示
在表單中可以看見必須填寫用戶名,和認證所用的密碼或私鑰,按照真實情況去填寫,比如筆者的資產最高權限賬戶是song
,密碼123456Ab
,那麼就如實填寫上去。
4.3 資產管理
在添加管理用戶之後,便可以添加資產了,添加資產也非常的簡單,在資產列表點擊創建資產
按鈕,便來到了添加資產的頁面,如下圖所示
添加資產需要填寫,資產的IP地址,以及ssh的端口號,以及選擇資產的操作系統類型,並且選擇用哪一個管理用戶
4.4 系統用戶
在資產管理下還有一個系統用戶管理,這個系統用戶的使用場景是,有時候需要在很多個目標資產中創建一個普通賬戶,這時候肯定是十分麻煩;此時便可以通過堡壘機上的系統用戶管理來創建一個系統用戶;然後下發到目標資產中,這樣一來就不需要去目標主機一個個登錄然後去創建,因此非常方便,添加系統用戶如下圖所示
創建系統用戶需輸入需要創建的賬號,以及選擇認證的方式,默認爲祕鑰方式,也可以將選擇框選中去掉,通過密碼來認證。
五、測試驗證
在前面的配置步驟操作完畢後,便可以進行一些常規功能驗證,以此來加深對jumpserver系統的瞭解,這些功能測試點有 資產連接測試、用戶授權、Web終端、在線會話、命令記錄等功能。
5.1 連接測試
連接測試的目的是檢查資產是否可以被堡壘機所訪問,可以在資產列表點擊資產名稱,便可以進入資產詳情頁面,右側有兩個按鈕,點擊刷新
按鈕,正確配置的參考效果如下圖所示
如果能看到左側的硬件信息發生了變更,就代表此前配置的管理用戶沒有問題,否則會彈出錯誤提示框;
5.2 用戶授權
當配置資產後,如果想在堡壘機中直接連接終端就還需要給用戶授權,授權分爲兩個步驟,第一步是給web終端賬戶授權,在會話管理
->終端管理
,如下圖所示
第二步則是給用戶自己本身授權,在授權管理
->資產權限
->創建權限規則
中做好相應配置,如下圖所示
5.3 web終端
當給用戶授權之後,用戶便可以會話管理
->Web終端
中與系統進行交互,如下圖所示
5.4 在線會話
有些時候想看誰在操作服務器,可以很輕鬆的通過在線會話功能來查看當前有哪些用戶在操作終端,在會話管理
->在線會話
列表中進行查看,如下圖所示
5.5 命令記錄
筆者覺得堡壘機最大的作用之一便是審計,如果想知道某個用戶在系統中執行了那些命令,可以很方便的在會話管理
->命令記錄
中進行查看,如下圖所示
六、 圖書推薦
如果對筆者的實戰文章較爲感興趣,可以關注筆者新書《PHP Web安全開發實戰》,現已在各大平臺上架銷售,封面如下圖所示
作者:湯青松
微信:songboy8888
日期:2018-10-30
我的博客即將入駐“雲棲社區”,誠邀技術同仁一同入駐。