推薦一款輕量級堡壘機系統讓你防護“rm -rf 刪庫跑路”

Java陈序员發表於2024-03-21

大家好,我是 Java陳序員

我們在開發工作中,會經常與伺服器打交道,而伺服器的資源又是十分寶貴,特別是伺服器裡面的資料資源。

但是,偶爾會經常因為疏忽而導致伺服器資料資源丟失,給自己和公司帶來巨大的損失!

今天給大家介紹一款輕量的堡壘機系統,讓你可以更好的管控、審計伺服器!

關注微信公眾號:【Java陳序員】,獲取開源專案分享、AI副業分享、超200本經典計算機電子書籍等。

專案介紹

Next Terminal —— 一個簡單好用安全的開源互動審計系統,支援 RDPSSHVNCTelnetKubernetes 協議。

功能特色:

  • 授權憑證管理
  • 資產管理(支援RDP、SSH、VNC、TELNET協議)
  • 指令管理
  • 批次執行命令
  • 線上會話管理(監控、強制斷開)
  • 離線會話管理(檢視錄屏)
  • 雙因素認證
  • 資產標籤
  • 資產授權
  • 多使用者&使用者分組
  • 計劃任務
  • ssh server
  • 登入策略
  • 系統監控

專案地址:

https://github.com/dushixiang/next-terminal

線上體驗:

https://next.typesafe.cn/

線上文件:

https://next-terminal.typesafe.cn/docs/

專案截圖

控制皮膚:以報表的形式統計展示線上使用者、執行中的資產、會話統計等。

資源管理:主要是資產(伺服器)管理,支援線上接入伺服器、動態指令等。

會話審計:監控記錄會話資訊,可強制斷開線上會話。

日誌審計:記錄使用者登入、檔案上傳下載、命令執行記錄。

系統運維:監控系統任務排程、磁碟、CPU、記憶體等資訊。

安全策略:設定系統訪問的安全策略,支援按IP、時間、優先順序等維度管控。

使用者管理:系統使用者、角色、選單等許可權管理,支援使用者組管理。

授權策略:包含命令過濾(如禁用輸入 rm)、授權策略。

系統設定:系統的個性化設定。

專案安裝

Docker 命令安裝

1、安裝 guacd

docker run --restart=always --name guacd -d \
  -v /root/next-terminal/data:/usr/local/next-terminal/data \
  dushixiang/guacd:latest

2、安裝 next-terminal

docker run --restart=always --name next-terminal -d \
  --link guacd \
  -p 8088:8088 \
  -v /root/next-terminal/data:/usr/local/next-terminal/data \
  -v /etc/localtime:/etc/localtime \
  -e DB=sqlite \
  -e GUACD_HOSTNAME=guacd \
  -e GUACD_PORT=4822 \
  dushixiang/next-terminal:latest \

Docker-Compose 安裝

Next Terminal 支援 sqlite、mysql 儲存資料,這裡以 mysql 為例,其他版本的安裝可參考官方文件。

1、在任意位置建立資料夾 next-terminal ,然後在此資料夾下建立 docker-compose.yml 並寫入如下內容:

version: '3.3'
services:
  mysql:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: next-terminal
      MYSQL_USER: next-terminal
      MYSQL_PASSWORD: next-terminal
      MYSQL_ROOT_PASSWORD: next-terminal
    volumes:
      - ./data/mysql:/var/lib/mysql
    restart:
          always
  guacd:
    image: dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: dushixiang/next-terminal:latest
    environment:
      DB: mysql
      MYSQL_HOSTNAME: mysql
      MYSQL_PORT: 3306
      MYSQL_USERNAME: next-terminal
      MYSQL_PASSWORD: next-terminal
      MYSQL_DATABASE: next-terminal
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
    ports:
      - "8088:8088"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
    depends_on:
      - mysql
    restart:
      always

2、前臺啟動命令

docker-compose up

3、後臺啟動命令

docker-compose up -d

反向代理

推薦使用 Nginx 等 web 伺服器反向代理 next-terminal 使用,一是可有效避免偽造 IP 繞過系統限制,二是開啟 https 後可無縫同步系統貼上板。

Nginx反向代理配置

location / {
    proxy_pass http://127.0.0.1:8088/;
    proxy_set_header Host      $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
}

最後

推薦的開源專案已經收錄到 GitHub 專案,歡迎 Star:

https://github.com/chenyl8848/great-open-source-project

或者訪問網站,進行線上瀏覽:

https://chencoding.top:8090/#/

大家的點贊、收藏和評論都是對作者的支援,如文章對你有幫助還請點贊轉發支援下,謝謝!

相關文章