天天看點

JumpServer-20190212-實驗開源堡壘機IntroJumpServer 特性JumpServer 大版本的架構變化安裝遺留問題Reference補充

Intro

目前的應用場景是需要解決大量未經授權,拿到 root 賬戶之後,随意修改某些系統配置檔案,導緻業務出現問題時,debug 時間加長。是以,上收權限,統一入口,日志記錄就變得很有意義。

JumpServer-20190212-實驗開源堡壘機IntroJumpServer 特性JumpServer 大版本的架構變化安裝遺留問題Reference補充

JumpServer 特性

JumpServer-20190212-實驗開源堡壘機IntroJumpServer 特性JumpServer 大版本的架構變化安裝遺留問題Reference補充

JumpServer 大版本的架構變化

v1.x

JumpServer-20190212-實驗開源堡壘機IntroJumpServer 特性JumpServer 大版本的架構變化安裝遺留問題Reference補充

v2.0

pexpect 改為 Paramiko,前端 UI 改進。

v3.0

JumpServer-20190212-實驗開源堡壘機IntroJumpServer 特性JumpServer 大版本的架構變化安裝遺留問題Reference補充

目前版本

JumpServer-20190212-實驗開源堡壘機IntroJumpServer 特性JumpServer 大版本的架構變化安裝遺留問題Reference補充

其實是可以看到 JumpServer 在演進的過程中一步步走向成熟,雖然還是有很多的問題存在,但是技術的革新過程是很明顯的。

關于每個元件的詳細說明,這裡不多加贅述了,簡單說分為 SSH 子產品和 Web 子產品兩個部分。 JumpServer 主要 focus 在 Web 子產品,來維護整個資産叢集、使用者授權等。剩下的 Luna、Coco 和 Guacamole 中, Luna 是 Web SSH 的前端,Coco 負責 SSH 、Telnet 和 Web Socket 的背景連接配接,Guacamole 則是負責 RDP 連接配接。大緻可以這麼了解,剩下的可以參詳官網的說法。

安裝

Docker 安裝

簡述一下:

#  1. 本地安裝 mariadb,注意授權,否則容器内可能讀取不了
yum -y install mariadb mariadb-devel mariadb-server
systemctl enable mariadb
systemctl start mariadb
systemctl status mariadb
export DB_PASSWORD=password
# 注意這個 % 表示任意節點都可以通路該 mysql 服務
mysql -uroot -e "create database jumpserver default charset 'utf8'; grant all on jumpserver.* to 'jumpserver'@'%' identified by '$DB_PASSWORD'; flush privileges;"

#  2. 本地安裝 redis,注意需要設定為外部可通路,否則同上
yum install epel-release
yum install redis
systemctl enable redis
systemctl start redis
# 修改 redis 可以被其他節點通路
vi /etc/redis.conf 
    bind 0.0.0.0
systemctl restart redis

# 3. docker run,注意端口綁定之後,伺服器對外的這些端口的防火牆需要也對應打開
docker run --name jms_all -d \
-v /opt/mysql:/var/lib/mysql \
-p 80:80 \
-p 2222:2222 \
-e BOOTSTRAP_TOKEN=token \
-e DB_ENGINE=mysql \
-e DB_HOST=192.168.10.128 \
-e DB_PORT=3306 \
-e DB_USER=jumpserver \
-e DB_PASSWORD=password \
-e DB_NAME=jumpserver \
-e REDIS_HOST=192.168.10.128 \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD= \
jumpserver/jms_all:latest
           

Ubuntu 16.04 實體節點上本地安裝

和 docker 安裝沒有太大出入,或者可以說,跟着官網安裝,基本沒啥大問題,官網中本地安裝比 docker 的部分詳細很多。

除了 nginx 的部分寫錯了一個目錄名稱:/etc/nginx/site-enabled/ 應該是 /etc/nginx/sites-enabled/。

另:如果 Ubuntu 本地配置的 repo 沒有 python 3,那麼可以 apt-add-repository。

Ubuntu14.04 安裝 python3.6

遺留問題

接下來,還需要 focus 一些問題:

  1. vi 内的操作記錄不了
  2. 認證走 LDAP
  3. 節點操作的權限申請及審批後續如何設計
  4. 應用、背景資料和資料庫的 HA :mysql / redis / 應用 / 錄像資訊的共享存儲
  5. 系統使用者可根據操作新加,但是删除操作并不會在機器上做對應操作
  6. 如何減小運維成本,将 JumpServer 和 已有系統進行關聯操作,包括 vsphere,是否有必要再做一個 cmdb(JumpServer 有友好的 api 可以調用,URL:http://jumpserver_ip/docs)
  7. 進一步定制系統使用者的權限,需要配合 ansible 或其他可操作實體節點的指令腳本

Reference

  1. 官網 - JumpServer demo 截圖
  2. JumpServer 架構變化
  3. 官網 - JumpServer ubuntu 本地安裝
  4. 官網 - JumpServer docker 安裝

補充

  1. 資源删除之後,曆史會話還在,授權會跟着被删除,若此時新加同名或同 ip 資源,JumpServer 會認為這是一個全新的節點,是以接下去的操作不會受到影響
  2. 資源組和使用者組對于授權是一個很好的入口
  3. 背景會每小時定期檢查管理帳号的聯通性
  4. 4A 指的是 Account 帳号 / Authentication 認證 / Authorization 授權 / Audit 審計