美文网首页Linux
Docker下jumpserver跳板机 /堡垒机详细部署

Docker下jumpserver跳板机 /堡垒机详细部署

作者: 我是李小胖 | 来源:发表于2019-11-24 10:53 被阅读0次

    关于跳板机/堡垒机的介绍:

    跳板机可以使开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作

    跳板机使用场景

    image
    jumpserver概述
    Jumpserver是一款开源的开源的堡垒机,可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作,并且支持大部分操作系统,是一款非常安全的远程连接工具
    常见支持的系统:
    CentOS, RedHat, Fedora, Amazon Linux
    Debian
    SUSE, Ubuntu
    FreeBSD
    其他ssh协议硬件设备
    部署步骤
    实验环境
    
    关闭selinux
    [root@centos7 ~]#setenforce 0
    关闭防火墙
    [root@centos7 ~]#systemctl stop firewalld
    [root@centos7 ~]#iptables -F
    安装docker的源
    [root@centos7 ~]#yum -y install wget
    [root@centos7 ~]#cd /etc/yum.repos.d/
    [root@centos7 ~]#wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    [root@centos7 ~]#wget http://mirrors.aliyun.com/repo/Centos-7.repo
    [root@centos7 ~]#yum -y install centos-release-openstack-ocata
    配置mariadb
    安装mariadb
    [root@centos7 ~]#yum -y install mariadb-server
    修改配置文件
    [root@centos7 ~]#vim /etc/my.cnf
    [client-server]
    [mysqld]
    symbolic-links=0
    #禁止主机名解析
    skip_name_resolve
    !includedir /etc/my.cnf.d
    启动服务
    [root@centos7 ~]#systemctl start mariadb
    [root@centos7 ~]#systemctl enable mariadb
    创建jumpserver数据库并授权
    MariaDB [(none)]> create database jumpserver default charset 'utf8';
    #创建管理账号,密码必须是数字加字母
    MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'linux123';
    配置Redis
    安装Redis
    [root@centos7 ~]#yum -y install redis
    编辑配置文件
    [root@centos7 ~]#vim /etc/redis.conf 
    61:bind 0.0.0.0
    480:requirepass 123
    启动服务
    [root@centos7 ~]#systemctl start redis
    [root@centos7 ~]#systemctl enable redis
    配置docker
    安装docker
    [root@centos7 ~]#yum -y install docker-ce
    启动docker
    [root@centos7 ~]#systemctl start docker
    [root@centos7 ~]#systemctl enable docker
    
    [root@centos7 ~]#mkdir /opt/jumpserver/data/media -pv
    [root@centos7 ~]#mkdir /opt/jumpserver
    
    下载jumpserver镜像,并运行
    [root@centos7 ~]#docker run --name jms_all -d \
        -v /opt/mysql:/var/lib/mysql \
        -v /opt/jumpserver:/opt/jumpserver/data/media \
        -p 80:80 \
        -p 2222:2222 \
        -e SECRET_KEY=PEHVdLzvZFtDQT733ntHDH1hglXQ9OQKoI1xxAfdDhpRGx3tg7 \
        -e BOOTSTRAP_TOKEN=YDzl55tZPTdclbUh \
        -e DB_HOST=173.22.90.13 \ #当前主机IP
        -e DB_PORT=3306 \ 
        -e DB_USER=jumpserver \ #数据库用户
        -e DB_PASSWORD=linux123 \ #数据库密码
        -e DB_NAME=jumpserver \ #数据库名称
        -e REDIS_HOST=173.22.90.13 \
        -e REDIS_PORT=6379 \
        -e REDIS_PASSWORD=123 \ #Redis密码
        jumpserver/jms_all:1.4.8
    
    

    查看状态

    [root@centos7 ~]#docker logs -f jms_all
    #看到如下几行即可
    gunicorn is running: 57
    celery is running: 73
    beat is running: 75
    guacd[98]: INFO:    Guacamole proxy daemon (guacd) version 0.9.14 started
    Starting guacd: SUCCESS
    Tomcat started.
    Use eventlet dispatch
    Start coco process
    Use eventlet dispatch
    Start coco process
    Use eventlet dispatch
    Start coco process
    Jumpserver ALL 1.4.8
    官网 http://www.jumpserver.org
    文档 http://docs.jumpserver.org
    有问题请参考 http://docs.jumpserver.org/zh/docs/faq.html
    进入容器命令 docker exec -it jms_all /bin/bash
    
    

    访问测试
    登入web界面,初始密码账号均为admin

    image

    登录jumpserver服务web端进行虚拟机管理操作

    1)登录admin管理界面

    image

    创建一个develop组

    image

    3)创建一个用户curry,将curry添加到develop组里面,角色为普通用户,然后提交

    image

    4)点击更新,给curry用户添加登录密码

    image

    填写curry用户密码然后提交

    image

    5)用curry账号登录

    image

    进入curry用户界面

    image

    6)创建一个管理用户(用来管理资产虚拟主机,此用户必须要有资产虚拟主机的root身份,其中的密码为ssh登录虚拟主机的密码)

    image

    7)创建资产(指的是被管理的虚拟主机)

    image

    填入虚拟主机名、ip地址及管理用户

    image

    点击主机名,进入资产详情页面

    image

    点击测试,检测被管理的虚拟主机是否能ping通,如下结果表明测试成功

    image

    8)创建一个过滤器

    image

    9)创建一个系统用户(此用户名在登录虚拟主机后会被自动创建,为虚拟主机登录的默认普通用户,非管理员用户,权限比较小)

    image

    10)创建授权规则,将资产添加到develop组中,是的此组中的用户可以访问此资产虚拟主机

    image

    11)登录curry用户界面,点击web终端

    image

    可以看到被授权的终端虚拟机,点击虚拟终端即可在命令窗口操作终端

    image

    12)再设置过滤器

    image

    点击规则

    image

    设置命令过滤禁止规则

    image

    13)此时再一次登录curry页面登录虚拟主机时,执行这些命令将会被禁止,如下所示

    image

    14)回到admin的web端,在会话管理下的历史会话可以打开录像回放列表,记录虚拟主机的所有操作过程的录像

    image

    15)录像回放

    image

    16)再创建一个资产

    image

    17)在资产授权中将此资产也添加到develop组中

    image

    18)登录curry界面并打开web终端可以看到操作两台虚拟主机

    image

    相关文章

      网友评论

        本文标题:Docker下jumpserver跳板机 /堡垒机详细部署

        本文链接:https://www.haomeiwen.com/subject/dzdzbctx.html