Docker搭建一款开源的简单易用的堡垒机系统

文摘   2024-12-13 10:54   广东  
系统介绍
Teleport堡垒机系统具有功能强大、小巧易用、安全增强等特点,可以满足企业对于远程访问控制和安全审计的需求。

| 主要功能

  • 身份验证与授权控制:Teleport支持多种身份验证方式,如账号/密码登录、身份验证器登录等,可以确保只有经过授权的用户才能访问系统。同时,Teleport提供细粒度的授权控制,可以根据用户角色和权限分配不同的访问资源。

  • 账号管理:Teleport具有强大的账号管理功能,可以集中管理远程主机的账号信息,包括添加、删除、修改账号等。此外,Teleport还支持批量导入和导出账号信息,方便大规模部署和管理。

  • 安全审计:Teleport对所有远程主机的操作进行详细记录,并支持操作记录录像和回放功能。这有助于审计人员追踪和回溯操作行为,确保运维工作的合规性和安全性。

  • 多协议支持:Teleport支持多种远程连接协议,如SSH、HTTPS、RDP、SFTP、Telnet等,可以满足不同场景下的远程访问需求。

  • 单点登录:用户只需登录Teleport服务器,即可一键连接任意远程主机,无需记忆每台远程主机的密码,提高了工作效率和安全性。

| 系统特点

  • 小巧易用:Teleport系统设计简洁、小巧灵活,无需额外安装其他库或模块。整个系统的安装与部署非常方便,仅需几分钟即可完成。

  • 安全增强:通过配置远程主机为仅被Teleport服务器连接,可以有效降低嗅探、扫描、暴力破解等攻击风险。同时,Teleport采用自动下发证书的方式实现用户和被管终端之间的认证和登录,提高了系统的安全性。

  • 跨平台支持:Teleport支持在多种操作系统上部署,包括Linux(如Ubuntu、CentOS、Debian、Redhat等)和Windows等。此外,Teleport的客户端还支持在MacOS和Windows等操作系统上运行。

    如需了解更多信息,可以访问其官方网站或查阅相关的技术文档。

    官方文档

    https://docs.tp4a.com/deploy/containerized.html
    Docker镜像
    https://hub.docker.com/r/tp4a/teleport
    GitHub地址
    https://github.com/tp4a/teleport?tab=readme-ov-file

    安装&使用

    ———

    Docker部署操作步骤:安装Docker、编写配置文件、启动容器。操作系统为腾讯云服务器Ubuntu。

    | 安装docker

    sudo apt updatesudo apt install -y docker.io docker-compose

    | 编写配置文件docker-compose.yml

    在home文件夹编写docker-compose.yml

    version: "3"services: # 定义要运行的服务  tpnode1: # 服务的名称    image: tp4a/tacport:latest # 创建此服务容器需要的镜像    container_name: tpv4-node-1 # 创建的服务容器的名称    ports: # 端口映射,冒号前为宿主机上的映射端口,后为容器内部的服务监听端口      - "7100:52100" # 将默认的api服务端口 52100 映射到宿主机上的 7100 端口      - "7101:52101" # 将默认的ssh协议转发服务端口 52101 映射到宿主机上的 7101 端口    environment: # 通过环境变量的方式对 TacPort 节点服务进行配置      - TP_ALLOW_INIT=yes # 首次部署时,允许执行初始化操作(初始化完成后请删除此项,或改为no,以增强安全性)      - TP_NODE_ID=1 # 节点编号,多个节点实例需保证各个实例的节点编号唯一      - TP_NODE_ADDR=tpv4.tp4a.com      - TP_DB_ADDR=host.docker.internal:3306 # 容器内访问宿主机时可以用 host.docker.internal      - TP_DB_USER=tacport # 可以省略,即,使用默认值      - TP_DB_NAME=tacport # 可以省略,即,使用默认值      - TP_DB_PASS=Pas5*w0rd # 建议使用 secrets 来管理私密数据      - TP_SECRET_KEY=48V2%9+zmT # 建议使用 secrets 来管理私密数据      - TP_REDIS_ADDR=host.docker.internal:6379      - TP_NODE_SERVICE=api,ssh # 本节点提供API服务和SSH协议转发服务      - TP_API_MAPPING_PORT=7100 # 需指明映射的宿主机的端口      - TP_SSH_MAPPING_PORT=7101    volumes: # 容器持久化存储,映射卷来存放配置/日志/审计录像文件等等。      - ./data/tacport:/opt/tacport/data    deploy: # 指定此容器的资源限制,请根据实际负载进行调整      resources:        limits:          cpus: "0.5"          memory: 1024M

    启动容器

    sudo docker-compose up -d
    服务启动后,可以访问 http://容器宿主机IP:API服务映射端口访问TacPort服务,例如上述配置的地址为 http://容器宿主机IP:7100
    关注公众号,为你推荐更多原创干货!

    更多内容也可看笔者出版图书

    —————————

    幼稚猿
    分享各类技术资讯和教程,出版多本IT图书《Django+Vue系统架构设计与实现》、《Golang+Vue.js商城项目实战》等
     最新文章