全球首款開源的堡壘機JumpServer

fans news 發佈 2021-12-19T03:44:10+00:00

如果已經有 HLB 或者 SLB 可以跳過 HAProxy 部署,第三方 LB 要注意 session 和 websocket 問題。

《開源精選》是我們分享Github、Gitee等開源社區中優質項目的欄目,包括技術、學習、實用與各種有趣的內容。本期推薦的JumpServer 是全球首款開源的堡壘機,使用 GPLv3 開源協議,是符合 4A 規範的運維安全審計系統。

項目簡介

JumpServer 使用 Python 開發,遵循 Web 2.0 規範,配備了業界領先的 Web Terminal 方案,交互界面美觀、用戶體驗好。

JumpServer 採納分布式架構,支持多機房跨區域部署,支持橫向擴展,無資產數量及並發限制。

特色優勢

  1. 開源: 零門檻,線上快速獲取和安裝;
  2. 分布式: 輕鬆支持大規模並發訪問;
  3. 無插件: 僅需瀏覽器,極致的 Web Terminal 使用體驗;
  4. 多雲支持: 一套系統,同時管理不同雲上面的資產;
  5. 雲端存儲: 審計錄像雲端存儲,永不丟失;
  6. 多租戶: 一套系統,多個子公司和部門同時使用;
  7. 多應用支持: 資料庫,Windows遠程應用,Kubernetes。

項目安裝

一鍵部署

# 默認會安裝到 /opt/jumpserver-installer-v2.17.0 目錄
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.17.0/quick_start.sh | bash
cd /opt/jumpserver-installer-v2.17.0
# 安裝完成後配置文件 /opt/jumpserver/config/config.txt
cd /opt/jumpserver-installer-v2.17.0

# 啟動
./jmsctl.sh start

# 停止
./jmsctl.sh down

# 卸載
./jmsctl.sh uninstall

# 幫助
./jmsctl.sh -h

負載均衡

  1. 除 JumpServer 自身組件外,其他組件的高可用請參考對應的官方文檔進行部署
  2. 按照此方式部署後,後續只需要根據需要擴容 JumpServer 節點然後添加節點到 HAProxy 即可
  3. 如果已經有 HLB 或者 SLB 可以跳過 HAProxy 部署,第三方 LB 要注意 session 和 websocket 問題
  4. 如果已經有 雲存儲 (* S3/Ceph/Swift/OSS/Azure) 可以跳過 MinIO 部署,MySQL Redis 也一樣
  5. 生產環境中,應該使用 Ceph 等替代 NFS,或者部署高可用的 NFS 防止單點故障

部署 NFS 服務

安裝依賴

yum -y install epel-release

安裝 NFS

yum -y install nfs-utils rpcbind

啟動 NFS

systemctl enable rpcbind nfs-server nfs-lock nfs-idmap
systemctl start rpcbind nfs-server nfs-lock nfs-idmap

配置防火牆

firewall-cmd --add-service=nfs --permanent --zone=public
firewall-cmd --add-service=mountd --permanent --zone=public
firewall-cmd --add-service=rpc-bind --permanent --zone=public
firewall-cmd --reload

配置 NFS

mkdir /data
chmod 777 -R /data
vi /etc/exports
# 設置 NFS 訪問權限, /data 是剛才創建的將被共享的目錄, 192.168.100.* 表示整個 192.168.100.* 的資產都有括號裡面的權限
# 也可以寫具體的授權對象 /data 192.168.100.30(rw,sync,no_root_squash) 192.168.100.31(rw,sync,no_root_squash)
/data 192.168.100.*(rw,sync,all_squash,anonuid=0,anongid=0)
exportfs -a

用戶文檔

關鍵字: