堡垒机(跳板机)

现在一定规模互联网企业,往往都拥有大量服务器,如何安全并高效的管理这些服务器是每个系统运维或安全运维人员必要工作。现在比较常见的方案是搭建堡垒机环境作为线上服务器的入口,所有服务器只能通过堡垒机进行登陆访问。

因此需要通过终端连接到远程开发机进行工作,由于安全等因素,登录开发机时需要先登录跳板机,然后在跳板机上再实际连接开发机,如下图所示:




堡垒机项目部署架构图 堡垒机的部署方式_java


正常的登录流程

使用ssh命令登录跳板机; 

登录跳板机成功后,在跳板机分配的终端中使用ssh命令再登录开发机,跳板机和开发机之间采用带密码的ssh验证,因此需要输入ssh私钥的密码。
运维堡垒机的理念起源于跳板机。2000年左右,高端行业用户为了对运维人员的远程登录进行集中管理,会在机房里部署跳板机。跳板机就是一台服务器,维护人员在维护过程中,首先要统一登录到这台服务器上,然后从这台服务器再登录到目标设备进行维护。

但跳板机并没有实现对运维人员操作行为的控制和审计,使用跳板机过程中还是会有误操作、违规操作导致的操作事故,一旦出现操作事故很难快速定位原因和责任人。


准备工作:

        1.查看内核版本
                [root@docker opt]# uname -r
               3.10.0-327.el7.x86_64
               建议内核版本3.10.0以上

先安装Screen

 yum install screen -y
Screen -S   docker    如  xshell  关闭 中断    可运行   screen -x  docker 重新进入Docker 案例模式查看

一,环境

JMS   191.168.1.26   Centos-7.0-x86_64

镜像   docker pull jiaxiangkong/jumpserver_docker

#安装 EPEL源

二、基本环境安装

[root@docker ~]# cd /opt
[root@docker opt]#yuminstall  -y  epel-release[root@docker opt]#yum install  -y  curl  iptables-services
[root@docker opt]#systemctl stop iptables
[root@docker opt]#systemctl stop firewalld.service

二,执行安装docker命令

           [root@docker opt]# curl –sSL https://get.docker.com/ | sh  
           [root@docker opt]# systemctl start docker        
           [root@docker opt]# systemctl enable docker          
           [root@docker opt]# docker -v            
           Docker version 1.12.3, build 6b644ec 

三 ,安装mariadb

    4.1 执行安装mariadb命令

  [root@docker opt]# yum -y install mariadb-server mariadb-devel            
  [root@docker opt]# systemctl start mariadb.service            
  [root@docker opt]# systemctl enable mariadb.service 

四, 执行创建数据库jumpserver命令

       [root@docker opt]# mysql -e "create database jumpserver charset='utf8';"                              [root@docker opt]# mysql -e "grant all on jumpserver.* to 'jumpserver'@'191.168.1.26' identified by '5Lov@wife';"              
       [root@docker opt]# mysql -e "flush privileges;"            
       [root@docker opt]# mysql -e "show databases;"


堡垒机项目部署架构图 堡垒机的部署方式_运维_02


五、jumpserver docker镜像

5.1 拉镜像

[root@docker opt]# docker pull jiaxiangkong/jumpserver_docker:0.3.2

5.2 创建一个容器

[root@docker opt]# docker run -d -p 2222:22 -p 8888:80 --restart=always --name jms jiaxiangkong/jumpserver_docker:0.3.2 

5.3 登录容器编辑jumpserver.conf

[root@docker opt]# docker exec -it 0c2f7dd76174 /bin/sh 
/jumpserver # ifconfig 
/jumpserver # vi jumpserver.conf 

5.4 初始化数据库

/jumpserver # cd install && python next.py 

查看正在运行得容器 :

docker   ps


堡垒机项目部署架构图 堡垒机的部署方式_堡垒机项目部署架构图_03


搞定:访问191.168.1.26:8888登录


堡垒机项目部署架构图 堡垒机的部署方式_docker_04


堡垒机项目部署架构图 堡垒机的部署方式_堡垒机项目部署架构图_05