简介:
跳板机:
跳板机是一台服务器,开发或运维人员在维护过程中首先要登录到这台服务器,然后再登录到目标设备进行维护和操作。缺点:没有实现对运维人员操作行为的控制和审计,是同跳板机的过程中还是回出现误操作、违规操作导致事故,以单出现操作事故很难快速定位到原因和责任人。
堡垒机:
在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部的用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。
总结:堡垒机比跳板机多了实时收集、监控网络环境、集中报警等功能。
Jumpserver:
概述:一款使用了python和Django开发的开源跳板机系统,为互联网企业提供了认证,授权,审计,自动化运维等功能。
官方链接:www.jumpserver.org
组件
1.Jumpserver:指管理Jumpserver后台,是核心组件(Core),使用的Django Class Based View 风格开发,支持 Restful API.
2.Coco:实现了SSH server 和 Web Terminal sever 的组件,提供SSH 和 WebSocket 接口,使用Paramiko 和 Flask 开发。
3.Luna:现在Web Terminal 前端,计划前端页面都由该项目提供,Jumpserver 只提供 API,不再负责 后台渲染 Html等。
搭建Jumpserver
1.环境介绍:
系统 | ip | 类别 |
---|---|---|
centos7-41(1908) | 10.0.0.41 | 服务端 |
centos7-42(1908) | 10.0.0.42 | 被管理服务器 |
2.上传相关依赖
cd /opt/ #包 放到一个统一的位置方便管理
yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
3.编译安装python3.6
cd /opt/jumpserver-package
tar xvf Python-3.6.1.tar.xz
cd /opt/jumpserver-package/Python-3.6.1/
./configure && make -j 4 && make install
cd /opt/jumpserver-package
python3 -m venv py3 #做虚拟环境
source /opt/jumpserver-package/py3/bin
(py3) [root@ c7-41 bin]#python -V #前面就会带有(py3)这就是在虚拟环境中
4.安装Jumpserver
1.安装RPM依赖包
cd /opt/jumpserver-package/jumpserver
cd /opt/jumpserver-package/jumpserver/requirements
yum -y install `cat rpm_requirements.txt`
#安装cat 所查到的文件下的包 当然了 这必须是在 文件包所在的 当前目录下
#也可以用作 $(cat rpm_requirements.txt)
2.安装Python依赖包
vi /opt/jumpserver-package/jumpserver/requirements
#这里面是python安装的包和平常安装的不一样 等号左面是 名字 右面 是版本号
cd /opt/jumpserver-package/python-package/
pip install ./* #./* 是安装当前目录下所有 pip 不止能下载本地 还可以在线安装
yum -y install redis # 安装 redis 然后调用给jumpserver做缓存
systemctl start redis;systemctl enable redis
yum -y install mariadb mariadb-server mariadb-devel
systemctl enable mariadb;systemctl start mariadb
mysql #进入数据库
create database jumpserver default charset 'utf8';
#创建一个jumpserver用的库
grant all on jumpserver.* to 'jumpserver'@'%' identified by '123456';
#授权一个jumpserver用户
3.修改jumpsever配置文件
cd /opt/jumpserver-package/jumpserver/
cp config_example.py config.py #这是给你提供的一个模板,复制去修改
vim /config.py
cat config.py | grep "DB"
DB_ENGINE = 'sqlite3'
DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')
DB_ENGINE = 'mysql'
DB_HOST = '127.0.0.1'
DB_PORT = 3306
DB_USER = 'jumpserver'
DB_PASSWORD = '123456'
DB_NAME = 'jumpserver'