本文最后更新于 2024-07-21,文章内容可能已经过时。

大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~

| 前言

数据安全、运维安全是所有服务器管理者、NAS用户的核心需求。

今天Cherry为大家带来一款高颜值、现代化的智能运维&轻量堡垒机平台。虽然官方介绍是轻量化,但是实际大概占用2G内存左右。
image.png

官方界面
image.png

项目地址:

https://github.com/dromara/orion-visor

项目特性:

资产管理:支持对资产进行分组,实现对主机、密钥和身份的统一管理和授权。
在线终端:提供在线终端 SSH 服务,支持快捷命令、自定义快捷键和主题风格。
文件管理:支持远程主机 SFTP 大文件的批量上传、下载和在线编辑等操作。
批量操作:支持批量执行主机命令、多主机文件分发等功能。
计划任务:支持配置 cron 表达式,定时执行主机命令。
安全可靠:动态配置权限,记录用户操作日志,提供简单的审计功能。

| 系统部署教程

一、导入镜像

如果无法访问docker下载地址的,可以通过本网盘下载镜像压缩包(exe格式),解压为tar格式以后上传至NAS的自定义路径。然后通过NAS的镜像导入功能导入,或通过ssh输入以下指令导入​​

🔴本镜像只有adminer一个镜像需要从hub.docker下载,其它都是阿里云的个人仓库。adminer这个工具是用网页版访问mysql数据库的,如果不需要则可以不导入镜像。

阿里云盘:https://www.alipan.com/s/kK4M9gHgFz7
提取码: tr40

# path代表真实路径,XXX.tar代表镜像压缩包
docker load -i /path/XXXX.tar

二、compose代码

🔻新建文件夹路径/volume1/docker/orion-visor,在/volume1/docker/orion-visor下新建/上传docker-compose.yml文件,将下面代码复制进去。compose代码里的数据库相关配置都要自己修改,然后保持一致。

version: '3.3'
services:

  orion-visor-service:
    image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:2.0.11
    privileged: true
    ports:
      - 9081:80
    environment:
      - MYSQL_HOST=orion-visor-mysql
      - MYSQL_PORT=3306
      - MYSQL_DATABASE=orion_visor
      - MYSQL_USER=root
      - MYSQL_PASSWORD=Data@123456
      - REDIS_HOST=orion-visor-redis
      - REDIS_PASSWORD=Data@123456
      - SECRET_KEY=uQeacXV8b3isvKLK
      - DEMO_MODE=false
    volumes:
      - /share/Container/orion/service/root-orion:/root/orion

  orion-visor-mysql:
    image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:2.0.11
    privileged: true
    environment:
      - MYSQL_DATABASE=orion_visor
      - MYSQL_USER=orion
      - MYSQL_PASSWORD=Data@123456
      - MYSQL_ROOT_PASSWORD=Data@123456
    volumes:
      - /share/Container/orion/mysql/var-lib-mysql:/var/lib/mysql
      - /share/Container/orion/mysql/var-lib-mysql-files:/var/lib/mysql-files
      - /share/Container/orion/mysql/etc-mysql:/etc/mysql

  orion-visor-redis:
    image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:2.0.11
    privileged: true
    environment:
      - REDIS_PASSWORD=Data@123456
    volumes:
      - /share/Container/orion/redis/data:/data
    command: sh -c "redis-server /usr/local/redis.conf --requirepass $${REDIS_PASSWORD}"

  # 下面这个应用可选,网页打开数据库用,不用的话全部删掉即可
  orion-visor-adminer:
    image: adminer
    ports:
      - 9999:8080

三、各NAS系统部署项目方法

方法一:通用SSH部署compose(绿联等NAS通用)

# 来到文件夹目录
cd /volume1/docker/容器名/
# 启动容器
docker-compose up -d

方法二:群晖部署compose

打开Container Manager,选择项目,点击新建,选择路径,点击下一步即可
image.png

方法三:威联通部署compose

打开Container Station,选择【应用程序】,点击【创建】,将代码复制进去,点击验证后部署即可
image.png

方法四:铁威马部署compose

打开Docker Manager,选择【项目】,点击【+】,选择文件路径以后,填入代码即可
image.png


| 系统使用简介

默认账号密码admin/admin进入系统
image.png

登陆后一定要右上角头像修改密码
image.png

主机管理界面。这里有两个很奇怪的逻辑点,第一个逻辑点是添加主机以后需要单独设置系统类型、rdp/ssh端口,账号密码等,不能在添加主机的时候一起处理,有点麻烦。第二个逻辑点是不存在默认主机组,所有主机必须添加到主机组以后才可以授权。
image.png

我们需要先将主机加入到主机分组里,然后才可以授权给不同的角色。
image.png

主机身份,简单的说就是某些通用的账号密码。
image.png

资产授权,分为主机授权、主机密钥授权、主机身份授权三个。分别支持对角色和用户授权。这里需要注意的是,管理员组和管理员用户,系统里都叫管理员,实际上一个是对组授权,一个是对用户个体授权。但是一样的名字很容易让人混淆。

授权的意思是,分别把主机组、登录密钥、登录账号密码授权给某个用户组或某个用户。
image.png
image.png

运维界面,如果我们授权了主机的就可以在授权主机里看到。如果没有设置默认账号密码的,就需要在设置里选择对应的自定义密钥和自定义身份。这个和前面的授权就对应起来了。
image.png

值得一提的是,系统支持对在线会话、文件操作日志进行查看,但是无法查看操作视频记录。然后可以批量对堡垒机内设置的主机去进行一些操作,尤其是批量上传,这个功能还是比较实用的。
image.png