使用 Docker 部署 Next Terminal 輕量級堡壘機

木子欢儿發表於2024-11-17

1)Next Terminal 介紹

官網:https://next-terminal.typesafe.cn/
GitHub:https://github.com/dushixiang/next-terminal

想必經常玩伺服器的都瞭解過 堡壘機,類似於跳板機,但與跳板機的側重點不同。堡壘機的主要功能是控制和監控對內部網路的遠端訪問。它提供嚴格的訪問控制、會話審計和監控等功能。而跳板機更側重於提供一個安全的中轉平臺,用於跳轉到內部網路的其他伺服器或裝置。

今天我給大家分享一款好用安全的開源互動審計系統 - Next Terminal
Next-terminal 號稱下一代堡壘機,它支援多協議如 RDP、SSH、VNC 等,並可以對正在進行的會話實時監控,還可以進行事後審計,包括檢視日誌和檢視命令影片記錄。
image.png

2)Next Terminal 特性

  1. 免費開源: Next Terminal 在 GitHub 上已收穫 4000+ Star。

  2. 多協議支援: 您可以在一套系統中訪問 RDP、SSH、VNC、TELNET 等協議資產,無需外掛,一個瀏覽器即可。

  3. 實時監控: 您可以隨時檢視到目前正在活躍的會話,並進行監控和阻斷。針對字元協議,您甚至可以限制禁止某些命令的執行和記錄。

  4. 事後審計: Next Terminal 觀察並記錄所有環境中的每個線上資源、連線、互動會話和其他安全事件。這些事件被記錄在結構化的審計日誌中,便於檢視正在發生的事情和責任人。

官網線上體驗地址:
https://next.typesafe.cn/
賬號:test
密碼:test
image.png

3)檢查 Docker 環境

安裝 Docker 軟體

# 高版本 Docker 安裝
curl -fsSL https://get.docker.com/ | sh
# 關閉防火牆
systemctl disable --now firewalld
setenforce 0
# 啟用 Docker
systemctl enable --now docker

檢查 Docker 服務

systemctl status docker

image.png

開啟 IPv4 forwarding

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
systemctl restart network
sysctl net.ipv4.ip_forward

4)安裝 Docker-Compose

下載 Docker-Compose 軟體包

curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

Docker-Compose 增加執行許可權

chmod +x /usr/local/bin/docker-compose

檢查 Docker-Compose 版本

docker-compose -v

5)下載 Next Terminal 映象

docker pull mysql:8.0
docker pull dushixiang/guacd:latest
docker pull dushixiang/next-terminal:latest

6)使用 Docker-Cli 部署

# 建立資料儲存目錄
mkdir -p /docker/next-terminal/data
# 1) 搭建 Guacd - 開源的遠端桌面閘道器
docker run -d \
--name guacd \
-v /docker/next-terminal/data:/usr/local/next-terminal/data \
--restart always \
dushixiang/guacd:latest
 
# 2) 搭建 next-terminal
docker run -d \
--name next-terminal \
-e DB=sqlite \
-e GUACD_HOSTNAME=guacd \
-e GUACD_PORT=4822 \
-p 8088:8088 \
-v /etc/localtime:/etc/localtime \
-v /docker/next-terminal/data:/usr/local/next-terminal/data \
--link guacd \
--restart always \
dushixiang/next-terminal:latest

7)使用 Docker-compose 部署

建立資料目錄

mkdir -p /docker/next-terminal/data

授權資料目錄

chmod -R 777 /docker/next-terminal/

編輯 docker-compose.yaml 檔案

[root@blog next-terminal] cd /docker/next-terminal
[root@blog next-terminal] vim docker-compose.yaml
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: registry.cn-beijing.aliyuncs.com/dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: registry.cn-beijing.aliyuncs.com/dushixiang/next-terminal:latest
    environment:
      DB: mysql
      MYSQL_HOSTNAME: 192.168.80.8	# 你的 IP 地址
      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

執行 Next Terminal 容器

# 基於 docker-compose.yaml 啟動並執行服務
docker compose -f docker-compose.yaml up -d

驗證 Next Terminal 容器狀態

docker ps -a

8)訪問 Next Terminal

基於瀏覽器訪問 Next Terminal,開啟方式依然為 本地IP:埠號( 此處埠為 8088 )

首次開啟需要輸入賬號密碼,Next Terminal 的初始賬號和密碼分別為:admin/admin。
image.png
image.png

9)Next Terminal 基本操作

9.1)修改密碼

在左側選單欄找到 個人中心 修改密碼

image.png

9.2)新建資產

可以在 資產管理 新建資產,即新建一臺管理終端。
我這裡選擇新建一臺本地的 Linux 虛擬機器。
image.png

新建後如果想進行編輯也還可以進行編輯,資訊填寫正確後可以 點選接入,進會進入新的頁面。在這裡可以透過 SSH 操作剛剛填寫的伺服器,介面看起來還挺不錯的。

image.png
image.png
image.png

9.3)會話審計

可以檢視 線上會話,並可以進行監控和斷開的操作。

可以監控使用者正在對伺服器執行的命令,實時同步的。
image.png

斷開會話後,也可以在歷史會話中檢視,並可以進行回放操作。

123.gif

9.4)日誌審計

image.png

9.5)系統設定

image.png

如果有小夥伴正好在尋找一個功能豐富的互動式審計系統,Next Terminal 將是一個不錯的選擇。

關於專案的更多細節,可以自行到專案地址進行檢視

相關文章