Jumpserver堡垒机部署
1、Jumpserver堡垒机概述
跳板机概述:
跳板机就是⼀台服务器,开发或运维⼈员在维护过程中⾸先要统⼀登录到这台服务器,然后再登录到⽬标设备进⾏维护和操作。
跳板机缺点:
没有实现对运维⼈员操作⾏为的控制和审计,使⽤跳板机的过程中还是会出现误操作、违规操作导致的事故,⼀旦出现操作事故很难快速定位到原因和责任⼈。
堡垒机概述:
堡垒机,即在⼀个特定的⽹络环境下,为了保障⽹络和数据不受来⾃外部和内部⽤户的⼊侵和破坏,⽽运⽤各种技术⼿段实时收集和监控⽹络环境中每⼀个组成部分的系统状态、安全事件、⽹络活动,以便集中报警、及时处理及审计定责。
总结:堡垒机⽐跳板机多了实时收集、监控⽹络环境、集中报警等功能。
总结:堡垒机⽐跳板机多了实时收集、监控⽹络环境、集中报警等功能
Jumpserver概述:
Jumpserver是⼀款使⽤Python, Django开发的开源跳板机系统, 为互联⽹企业提供了认证,授权,审计,⾃动化运维等功能。
jumpserver堡垒机组件说明:
1)Jumpserver:
现指 Jumpserver 管理后台,是核⼼组件(Core), 使⽤ Django Class Based View 风格开发,⽀持 Restful API。
2)Coco:
实现了 SSH Server 和 Web Terminal Server 的组件,提供 SSH 和 WebSocket 接⼝, 使⽤ Paramiko 和 Flask 开发。
3)Luna:
现在是 Web Terminal 前端,计划前端页⾯都由该项⽬提供,Jumpserver 只提供 API,不再负责后台渲染html等。
2、umpserver运⾏环境
实验环境:
⾓⾊                      IP                    部署软件
jumpserver      192.168.1.179        jumpserver
m01                192.168.1.170        ansible
backup            192.168.1.171        rsync
nfs                  192.168.1.172      nfs,sersync
web01            192.168.1.173        httpd
web02            192.168.1.174        httpd
3、Jumpserver堡垒机部署
# 修改字符集,否则可能报 input/output error的问题,因为⽇志⾥打印了中⽂
[root@jumpserver ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
[root@jumpserver ~]# export LC_ALL=zh_CN.UTF-8
[root@jumpserver ~]# echo 'LANG=zh_CN.UTF-8' > /f
[root@jumpserver ~]# exit
再重新连接, 这样语⾔环境就改变了。
准备 Python3 和 Python 虚拟环境
1)安装依赖包
注:安装前,可以开启yum缓存功能,把软件包下载下来,⽅便后期使⽤。
[root@jumpserver ~]# vim /f
改:keepcache=0
为:keepcache=1
[root@jumpserver ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
2)编译安装python3.6.1
[root@jumpserver ~]# cd /opt/
[root@jumpserver ~]# tar xvf Python-3.6.
[root@jumpserver opt]# cd Python-3.6.1/
[root@jumpserver ~]# ./configure  &&  make  && make install
# 这⾥必须执⾏编译安装,否则在安装 Python 库依赖时会有⿇烦...
互动: python2.7和python3.5冲突了怎么办? ⽼程序需要使⽤2.7,新程序需要3.6?
3)建⽴ Python 虚拟环境
因为 CentOS 6/7 ⾃带的是 Python2,⽽ Yum 等⼯具依赖原来的 Python,为了不扰乱原来的环境我们来使⽤ Python 虚拟环境[root@xuegod63 ~]# cd /opt
[root@xuegod63 ~]# python3 -m venv py3
[root@xuegod63 ~]# source /opt/py3/bin/activate
(py3) [root@xuegod63 ~]#                  #切换成功的,前⾯有⼀个py3 标识
(py3) [root@xuegod63 ~]#deactivate  #退出py3环境
4、安装 Jumpserver 1.0.0
1)下载或 Clone 项⽬
项⽬提交较多 git clone 时较⼤,你可以选择去 Github 项⽬页⾯直接下载zip包。
(py3) [root@xuegod63 ~]#  cd /opt/jumpserver/  #我们已经提前下载
注:在线下载⽅法:
注:depth⽤于指定克隆深度,为1即表⽰只克隆最近⼀次commit
2)安装依赖 RPM 包
(py3) [root@jumpserver opt]# cd /opt/jumpserver/requirements
(py3) [root@jumpserver requirements]# yum -y install $(cat ) 3)安装 Python 库依赖
[root@jumpserver ~]# cd /opt/jumpserver/requirements
[root@jumpserver requirements]# source /opt/py3/bin/activate
(py3)[root@jumpserver requirements]# pip -V
pip 9.0.1 from /opt/py3/lib/python3.6/site-packages (python 3.6)
⽅法1:离线安装:
(py3) [root@jumpserver jumpserver-package]# cd python-package/
(py3) [root@jumpserver python-package]#  pip install  ./*
⽅法2:在线安装:
(py3) [root@xuegod63 ~]#  pip install -
pip 是⼀个安装和管理 Python 包的⼯具,相当于yum命令
4)安装 Redis, Jumpserver 使⽤ Redis 做 cache 和 celery broke
[root@jumpserver ~]# yum  -y install redis
[root@jumpserver ~]# systemctl start redis
[root@jumpserver ~]#systemctl enable redis
5)安装 MySQL
[root@jumpserver ~]#yum install mysql-community-server -y
[root@jumpserver ~]# systemctl start mysqld
[root@jumpserver ~]#systemctl enable mysqld
//如果mysql登陆需要密码,请查看该⽂件
[root@jumpserver ~]# grep 'temporary password' /var/log/mysqld.log
//登陆mysql重新配置密码
[root@jumpserver ~]#mysql -uroot -p'password'
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'talent';
mysql> create database jumpserver default charset 'utf8';
mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'talent';
6)修改Jumpserver 配置⽂件
[root@jumpserver ~]# cd /opt/jumpserver
[root@jumpserver ~]# cp config_example.py config.py
[root@jumpserver ~]#vim config.pywebserver接口开发
DB_ENGINE = 'mysql'
DB_HOST = '127.0.0.1'
DB_PORT = 3306
DB_USER = 'jumpserver'
DB_PASSWORD = 'talent'
DB_NAME = 'jumpserver'
7)⽣成数据库表结构和初始化数据
(py3)[root@jumpserver ~]#cd /opt/jumpserver/utils
(py3) [root@jumpserver ~]#bash make_migrations.sh  #注,在执⾏这⼀条命令之前,必续保障之前的pip install ./* 命令已经执⾏完了,不然后导⼊不了Django等软件包。
8)运⾏ Jumpserver
(py3) [root@jumpserver ~]# cd /opt/jumpserver
(py3) [root@jumpserver ~]# chmod +x jms
(py3) [root@jumpserver ~]#./jms start all -d  #后台运⾏使⽤ -d 参数
注: ./jms start all #前台运⾏
如果运⾏失败了,重新启动⼀下。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。