关于跳板机/堡垒机的介绍:
跳板机的定义:
跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作:
跳板机缺点:
没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、远规
操作导致的事故,一旦出现操作事故很难快速定位到原因和责任人;
堡垒机的定义
堡垒机,即在一个特定的网络环境下,为了保障网络和数据丌受来自外部和内部用户的***和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活劢,以便集中报警、及时处理及审计定责。
总结:
总结:堡垒机比跳板机多了实时收集、监控网络环境、集中报警等功能
Jumpserver 概述:
Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为亏联网企业提供了认证,授权,审计,自动化运维等功能。
Jumpserver的功能:
1、用户组/用户 :添加组方便迚行授权,用户是授权和登陆的主体.
2、资产组/资产/IDC : 主机信息简洁完整,用户自定义备注登录,支持自劢获取主页硬件信息.
3、Sudo/系统用户/授权规则 :支持 sudo 授权,系统用户用亍登陆客户端,授权是将用户、资产和系统用户关联起来.
4、在线/登录历叱/命令记录/上传下载 : 在线实时监控用户操作,统计和录像回放用户操作内容,阻断控制,详细记录上传下载.
5、上传/下载 : 支持文件上传下载,实现 rzsz 方式.
6、默认设置 : 默认管理用户 设置包括用户密码密钥,默认信息为了方便添加资产而设计.
搭建 jumpserver跳板机
安装网络yum源
[root@linfan ~]# cd /etc/yum.repos.d/
[root@linfan yum.repos.d]# curl -o 163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
[root@linfan yum.repos.d]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/163.repo
[root@linfan yum.repos.d]# sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/163.repo
[root@linfan yum.repos.d]# yum -y install epel-release
[root@linfan yum.repos.d]# yum clean all
安装python
安装依赖包
[root@linfan ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel
编译安装pyhton-3.6.1
[root@linfan ~]# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
[root@linfan ~]# tar xvf Python-3.6.1.tar.xz && cd Python-3.6.1
[root@linfan Python-3.6.1]# ./configure && make && make install
安装git
[root@linfan ~]# yum -y install git
下载jumpserver
[root@linfan ~]# cd /usr/local
[root@linfan local]# git clone https://github.com/jumpserver/jumpserver.g
注意:此方式下载安装 还需要手动安装myslq数据库等,比较麻烦
我直接这有一个包下载后,后续都是脚本执行,建议使用此包,下载到本地 然后上传到服务器即可
百度网盘下载:
https://pan.baidu.com/s/16JJP4ckkKdtx2s4LOAWQ8g
压缩
[root@linfan local]# unzip jumpserver-rpm.zip
分支 master 设置为跟踪来自 origin 的进程分支 master。
切换到一个新分支 'master'
[root@linfan local]# cd jumpserver-rpm/jumpserver
[root@linfan jumpserver]# git checkout master
执行安装脚本
[root@linfan jumpserver]# cd install/
//静静等待脚本执行
[root@linfan install]# python install.py
请务必先查看wiki https://github.com/jumpserver/jumpserver/wiki
开始安装epel源
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirrors.yun-idc.com
Package epel-release-7-11.noarch already installed and latest version
Nothing to do
开始安装依赖包
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirrors.yun-idc.com
...
...
开始关闭防火墙和selinux
setenforce: SELinux is disabled
请输入您服务器的IP地址,用户浏览器可以访问 [192.168.24.128]: 192.168.24.128 //在此输入你的IP
是否安装新的MySQL服务器? (y/n) [y]: y //如果没有安装mysql输入y 已安装 输入 n 默认是y
开始安装设置mysql (请手动设置mysql安全)
默认用户名: jumpserver 默认密码: 5Lov@wife //数据库默认用户名: jumpserver 默认密码: 5Lov@wife
...
...
连接数据库成功
请输入SMTP地址: smtp.163.com
请输入SMTP端口 [25]: 25
请输入账户: shanggujiezuo@163.com
请输入密码: lf8834760
请登陆邮箱查收邮件, 然后确认是否继续安装
是否继续? (y/n) [y]: y
开始写入配置文件
开始安装Jumpserver ...
开始更新jumpserver
Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table django_content_type
Creating table django_session
Creating table setting
Creating table juser_usergroup
Creating table juser_user_group
Creating table juser_user_groups
Creating table juser_user_user_permissions
Creating table juser_user
Creating table juser_admingroup
Creating table juser_document
Creating table jasset_assetgroup
Creating table jasset_idc
Creating table jasset_asset_group
Creating table jasset_asset
Creating table jasset_assetrecord
Creating table jasset_assetalias
Creating table jperm_permlog
Creating table jperm_permsudo
Creating table jperm_permrole_sudo
Creating table jperm_permrole
Creating table jperm_permrule_asset_group
Creating table jperm_permrule_role
Creating table jperm_permrule_asset
Creating table jperm_permrule_user_group
Creating table jperm_permrule_user
Creating table jperm_permrule
Creating table jperm_permpush
Creating table jlog_log
Creating table jlog_alert
Creating table jlog_ttylog
Creating table jlog_execlog
Creating table jlog_filelog
Creating table jlog_termlog_user
Creating table jlog_termlog
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
//设置管理员用户名和密码
请输入管理员用户名 [admin]: admin
请输入管理员密码: [5Lov@wife]: 123456
请再次输入管理员密码: [5Lov@wife]: 123456
Starting jumpserver service: [ OK ]
安装成功,Web登录请访问http://ip:8000, 祝你使用愉快。
请访问 https://github.com/jumpserver/jumpserver/wiki 查看文档
已收到邮箱
web端配置
在浏览器输入192.168.24.128:8000
输入方才设置的管理员用户名和密码
创建用户组
用户组,顾名思义,给用户分组。用户组信息很有用,在分配资产权限的时候,针对的某个用户组下的所有用户,可以为一个用户分配多个用户组。
点击页面左侧“用户管理”菜单下的”用户组“,进入用户组列表页面。
创建用户并配置该用户接收信息的邮箱
登录邮箱查看
可根据邮箱提示登录跳板机后台下载密钥即可
也可管理员下载密钥发送给用户
验证
我在linux服务器上没有密钥的情况下登录用户doudou
发现无法登录
当使用账户,密码,钥匙登录
登录成功!
来源:51CTO
作者:上古杰作
链接:https://blog.51cto.com/13858192/2172369