亚马逊云科技

广告

安信SSL证书

广告

OneTerm堡垒机详细部署教程

美国云服务器推荐

在日常的运维工作中,免不了要使用堡垒机来保障网络和数据不受入侵和破坏。常见的堡垒机有JumpServer、OneTerm等,之前已经为大家详细介绍过JumpServer,本文要提到的就是另一个广受欢迎的开源堡垒机OneTerm。关于它的部署方法,下文就以Docker为例,为大家介绍使用Docker部署OneTerm堡垒机教程,仅供参考。

一、OneTerm堡垒机介绍

OneTerm堡垒机是维易开源堡垒机,基于4A理念,即认证(Authen)、授权(Authorize)、账号(Account)、审计(Audit)设计开发,主要用于企业通过实现对IT人员操作行为的控制和审计来提升IT内部控制、合规安全性的产品。

OneTerm堡垒机功能:

  • 访问控制:OneTerm作为一个中介站点,限制了对关键系统的直接访问,用户必须首先通过OneTerm进行身份验证,然后才能访问其他服务器或系统。
  • 安全审计:OneTerm可以记录用户的登录和活动,提供审计日志,以便在发生安全事件时进行调查。
  • 跳板访问:OneTerm提供了一种跳板的方式,用户可以通过OneTerm连接到其他内部服务器。
  • 密码管理:OneTerm可以实施强化的密码策略,并通过单一入口点集中管理密码,这有助于提高整个系统的密码安全性。
  • 会话录制:OneTerm可以录制用户与服务器的会话,这对于监控和调查特权用户的活动非常有用。
  • 防止直接攻击:由于OneTerm是系统和资源的唯一入口,它可以成为攻击者攻击的主要障碍。
  • 统一访问:OneTerm提供了单一的入口点,用户可以通过它访问不同的系统,而无需记住多个登录凭据。

OneTerm堡垒机使用场景:

  • 政府机构:政府信息系统存储大量公民个人信息,使用OneTerm可以有效保护这些数据免受内部和外部威胁。
  • 大型企业:对于拥有复杂IT环境和众多员工的大公司,OneTerm提供了统一的平台来管理多样的IT资产,减少安全漏洞。
  • 教育机构:学校和研究机构可以通过OneTerm来控制对学术资源的访问,保护研究成果不被非法获取。
  • 金融行业:金融机构需要严格遵守各种法规,OneTerm堡垒机可以帮助其实现对敏感数据和系统的严格访问控制,满足合规要求。

二、使用Docker部署OneTerm堡垒机

1、本文选择的操作系统为centos7.6,在CentOS中安装Docker。

sudo yum-config-manager \ –add-repo \ https://download.daocloud.io/docker/linux/centos/docker-ce.repo sudo yum install -y -q docker-ce-.ce* docker-ce-selinux-.ce* sudo systemctl enable docker sudo systemctl start docker sudo service docker status

2、检查Docker服务是否正常运行。

[root@jeven ~]# systemctl status docker ● docker.service – Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2024-07-03 21:07:37 CST; 1 day 21h ago Docs: https://docs.docker.com Main PID: 11950 (dockerd) Tasks: 10 Memory: 138.3M CGroup: /system.slice/docker.service └─11950 /usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock

3、检查Docker版本。

[root@jeven ~]# docker -v Docker version 20.10.17, build 100c701

4、安装Docker compose。

$ sudo curl -L ” -s)-$(uname -m)” -o /usr/local/bin/docker-compose

将docker-compose命令设置为可执行:

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

4、安装完成后,运行以下命令来验证安装是否成功。

docker-compose –version

5、下载OneTerm镜像

docker pull registry.cn-hangzhou.aliyuncs.com/veops/oneterm-api:24.3 docker pull registry.cn-hangzhou.aliyuncs.com/veops/oneterm-ssh:24.3.1 docker pull registry.cn-hangzhou.aliyuncs.com/veops/oneterm-guacd:24.3 docker pull registry.cn-hangzhou.aliyuncs.com/veops/mysql:latest docker pull registry.cn-hangzhou.aliyuncs.com/veops/redis:latest docker pull registry.cn-hangzhou.aliyuncs.com/veops/oneterm-ui:24.3 docker pull registry.cn-hangzhou.aliyuncs.com/veops/acl-api:1.1

6、执行以下命令,拉取OneTerm项目。

git clone https://github.com/veops/oneterm.git

OneTerm

7、进入OneTerm项目,查看docker-compose.yml部署文件。

[root@jeven ~]# cd oneterm/ [root@jeven oneterm]# ls backend docker-compose.yaml docs LICENSE oneterm-ui README_cn.md README.md

默认的部署文件内容如下,可自行修改宿主机映射端口。

version: “3.0” services: oneterm-api: image: registry.cn-hangzhou.aliyuncs.com/veops/oneterm-api:24.3 container_name: oneterm-api volumes: – file-data:/replay – ./docs/api.yaml:/oneterm/config.yaml depends_on: – mysql – redis – oneterm-guacd restart: always networks: new: aliases: – oneterm-api oneterm-ssh: image: registry.cn-hangzhou.aliyuncs.com/veops/oneterm-ssh:24.3.1 container_name: oneterm-ssh ports: – “12229:12228” restart: always tty: true volumes: – ./docs/ssh.yaml:/oneterm/config.yaml – ./docs/scripts/entrypoint.sh:/oneterm/entrypoint.sh – ssh-data:/root/.ssh entrypoint: ./entrypoint.sh depends_on: – oneterm-api networks: new: aliases: – oneterm-ssh oneterm-guacd: image: registry.cn-hangzhou.aliyuncs.com/veops/oneterm-guacd:24.3 container_name: oneterm-guacd user: root restart: always volumes: – file-data:/replay networks: new: aliases: – oneterm-guacd mysql: image: registry.cn-hangzhou.aliyuncs.com/veops/mysql:latest #image: mysql:8.0.30 container_name: oneterm-mysql environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: ‘123456’ MYSQL_DATABASE: ‘oneterm’ volumes: – db-data:/var/lib/mysql – ./docs/mysqld.cnf:/etc/mysql/conf.d/mysqld.cnf – ./docs/acl.sql:/docker-entrypoint-initdb.d/2-acl.sql – ./docs/api.sql:/docker-entrypoint-initdb.d/3-api.sql – ./docs/create-users.sql:/docker-entrypoint-initdb.d/1-create-users.sql command: –character-set-server=utf8mb4 –collation-server=utf8mb4_unicode_ci restart: always networks: new: aliases: – mysql ports: – ‘23306:3306’ redis: image: registry.cn-hangzhou.aliyuncs.com/veops/redis:latest container_name: oneterm-redis #command: redis-server –requirepass tyrj5QVP9rHs restart: always environment: TZ: Asia/Shanghai networks: new: aliases: – redis oneterm-ui: image: registry.cn-hangzhou.aliyuncs.com/veops/oneterm-ui:24.3 container_name: oneterm-ui depends_on: – oneterm-api environment: TZ: Asia/Shanghai ONETERM_API_HOST: oneterm-api:8080 ACL_API_HOST: acl-api:5000 NGINX_PORT: 80 volumes: – ./docs/nginx.oneterm.conf.example:/etc/nginx/conf.d/nginx.oneterm.conf.example restart: always command: – /bin/sh – -c – | envsubst ‘$$ONETERM_API_HOST $$ACL_API_HOST $$NGINX_PORT’ < /etc/nginx/conf.d/nginx.oneterm.conf.example > /etc/nginx/conf.d/oneterm.conf nginx -g ‘daemon off;’ networks: – new ports: – “8000:80” acl-api: image: registry.cn-hangzhou.aliyuncs.com/veops/acl-api:1.1 container_name: oneterm-acl-api environment: #TZ: Asia/Shanghai WAIT_HOSTS: mysql:3306, redis:6379 volumes: – ./docs/settings.py:/data/app/acl/settings.py – ./docs/.env:/data/apps/acl/.env – ./docs/nginx.oneterm.conf.example:/etc/nginx/conf.d/nginx.oneterm.conf.example restart: always command: – /bin/sh – -c – | sleep 2 flask db-setup flask init-acl flask init-department gunicorn –workers=3 autoapp:app -b 0.0.0.0:5000 -D –access-logfile logs/access.log –error-logfile logs/error.log celery -A celery_worker.celery worker -E -Q acl_async –logfile=one_acl_async.log –autoscale=2,1 depends_on: – mysql – redis networks: new: aliases: – acl-api volumes: db-data: driver: local name: oneterm_db-data file-data: driver: local name: oneterm_file-data ssh-data: driver: local name: oneterm_ssh networks: new: driver: bridge name: oneterm_network ipam: config: – subnet: 172.30.0.0/24

8、使用docker-compose.yaml文件创建OneTerm容器docker compose up-d。

OneTerm

9、检查OneTerm容器状态,确保OneTerm容器正常启动。

[root@jeven oneterm]# docker compose ps NAME COMMAND SERVICE STATUS PORTS oneterm-acl-api “/bin/sh -c ‘sleep 2…” acl-api running oneterm-api “./api run -c ./conf…” oneterm-api running oneterm-guacd “/bin/sh -c ‘/opt/gu…” oneterm-guacd running (starting) 4822/tcp oneterm-mysql “docker-entrypoint.s…” mysql running 0.0.0.0:23306->3306/tcp, :::23306->3306/tcp oneterm-redis “docker-entrypoint.s…” redis running 6379/tcp oneterm-ssh “./entrypoint.sh” oneterm-ssh running 0.0.0.0:12229->12228/tcp, :::12229->12228/tcp oneterm-ui “/docker-entrypoint.…” oneterm-ui running 0.0.0.0:8000->80/tcp, :::8000->80/tcp

10、访问地址:http://192.168.3.166:8000,将IP替换为自己服务器IP地址,进入到OneTerm登录页面。

OneTerm

  • 用户名:admin
  • 密码:123456

相关推荐:

JumpServer堡垒机入门完整指南(安装+管理+设置)

Docker安装JumpServer堡垒机教程

(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)

主机侦探企业微信

微信扫码加好友进群

主机优惠码及时掌握

主机侦探QQ群

QQ群号:938255063

主机优惠发布与交流

温馨提示:

1、本站部分图片来源于互联网,如有侵权请联系删除。邮箱:2942802716#qq.com(#改为@)

2、本文评论没有专人回复,如果您有问题请到美国主机侦探论坛提问!

3、美国主机侦探免费为您提供美国主机购买咨询。

RAKsmart美国服务器
返回顶部