跳板机:就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作。但是无法实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、违规操作导致的事故,一旦出现操作事故很难快速定位到原因和责任人。
堡垒机:即在一个特定的网络环境下,为保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。
Jumpserver:是一款使用Python, Django开发的开源跳板机系统, 为互联网企业提供了认证、授权、审计、自动化运维等功能。
Jumpserver官网:https://www.jumpserver.org/。
安装包下载:
链接:https://pan.baidu.com/s/1v72w8Ec6Hn-AZuJzlcE9wg提取码:z7r3
Jumpserver官方网站:https://docs.jumpserver.org/zh/master/
操作系统版本:centos6.5(X86_64)
临时关闭selinux:setenforce 0
主机可连接互联网,配置公网yum源(163或者阿里云等)。
[root@test ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
上传python3.6.1安装包到/root目录.一般源码安装数据包放在/opt目录下。
安装包下载路径:
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
解压、编译。编译安装时间较长,请耐心等待。
[root@test ~]# tar -xf Python-3.6.1.tar.xz[root@test ~]# cd Python-3.6.1[root@test Python-3.6.1]# ./configure[root@test Python-3.6.1]# ./configure --enable-optimizations[root@test Python-3.6.1]# make && make install[root@test Python-3.6.1]# python3 -VPython 3.6.1
成功标志:
因为 CentOS 6自带 Python2,而 Yum等工具安装依赖原有Python,为了不扰乱原有环境我们来使用 Python虚拟环境。
[root@test ~]# python3 -m venv py3[root@test ~]# source /root/py3/bin/activate(py3) [root@test ~]#
注:虚拟环境创建成功的标志是出现(py3)标识。deactivate退出虚拟环境。
每次操作 jumpserver 都需要使用下面的命令载入 py3 虚拟环境。以后运行jumpserver都要先运行上面的source命令,以下所有的命令都在虚拟环境中运行。
以下方式,实现进入 jumpserver 目录时将自动载入 python 虚拟环境,不需要每次进入jumpser操作source命令。
(py3) [root@Jumpserver ~]# echo "source /root/py3/bin/activate" > /root/jumpserver/.env
下载地址: https://github.com/jumpserver/jumpserver.git
安装包存放路径:/root
(py3) [root@test ~]# cd /root/jumpserver/requirements/
安装相关依赖rpm包:
(py3) [root@test requirements]# yum -y install $(cat rpm_requirements.txt)
升级pip:
(py3) [root@test requirements]# pip install --upgrade pip(py3) [root@test requirements]# pip install -r requirements.txt
注:pip是python包管理工具,相当于yum命令。
下载redis安装包:
http://download.redis.io/releases/redis-5.0.5.tar.gz[root@test ~]# wget http://download.redis.io/releases/redis-5.0.5.tar.gz --no-check-certificate
注:证书不生效,已不安全方式下载。
[root@test ~]# cd redis-5.0.5[root@test redis-5.0.5]# make[root@test redis-5.0.5]# cd src/[root@test src]# make install PREFIX=/usr/local/redis[root@test src]# make test[root@test src]# mkdir /usr/local/redis/etc[root@test ~]# cd /root/redis-5.0.5[root@test redis-5.0.5]# cp -rf redis.conf /usr/local/redis/etc/
修改redis配置文件:
cat << EOF > /usr/local/redis/etc/redis.confdaemonize yesport 6379bind 127.0.0.1protected-mode yespidfile "/usr/local/redis/run/redis.pid"loglevel noticelogfile "/usr/local/redis/logs/redis.log"save 900 1stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump.rdbdir "/usr/local/redis/data/rdb/"timeout 0tcp-keepalive 300EOF
创建pid文件目录、日志目录、redis持久化目录
[root@test redis-5.0.5]# mkdir -p /usr/local/redis/{run,logs}[root@test redis-5.0.5]# mkdir -p /usr/local/redis/data/rdb/
启动redis
[root@test redis-5.0.5]#/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
[root@test ~]# yum -y install mysql mysql-server[root@test ~]# service mysqld restart[root@test ~]# mysqlmysql> create database jumpserver default charset 'utf8';mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123456';mysql> flush privileges;mysql> exit
[root@test ~]# cd /root/jumpserver/[root@test jumpserver]# cp config_example.py config.py[root@test jumpserver]# vi config.py DB_ENGINE = 'mysql' DB_HOST = '127.0.0.1' DB_PORT = 3306 DB_USER = 'jumpserver' DB_PASSWORD = '123456' DB_NAME = 'jumpserver'
[root@test ~]# source /root/py3/bin/activate(py3) [root@test ~]# cd /root/jumpserver/utils/(py3) [root@test utils]# sh make_migrations.sh
(py3) [root@test ~]# cd /root/jumpserver/(py3) [root@test ~]# chmod +x jms(py3) [root@test ~]# ./jms start all -d
注:./jms start all 前台运行,-d后台运行参数
http://192.168.0.10:8080/
用户名:admin 密码:admin
基础部署完成。