跳板机属于内控堡垒机范畴,是一种用于单点登陆的主机应用系统。跳板机就是一台服务器,维护人员在维护过程中,首先要统一登录到这台服务器上,然后从这台服务器再登录到目标设备进行维护。
但跳板机并没有实现对运维人员操作行为的控制和审计,使用跳板机过程中还是会有误操作、违规操作导致的操作事故,一旦出现操作事故很难快速定位原因和责任人。此外,跳板机存在严重的安全风险,一旦跳板机系统被攻入,则将后端资源风险完全暴露无遗。
比较优秀的开源软件jumpserver,认证、授权、审计、自动化、资产管理。
商业堡垒机:齐治, Citrix XenApp
所以接下来我会继续安装配置jumpserver!!
具备堡垒机的条件是,该机器有公网IP和私网,其中私网和机房其他机器互通。
核心思路是:让一个用户登录我们的一个虚拟系统,仅仅允许使用几条命令,和环境。
wget https://olivier.sessink.nl/jailkit/jailkit-2.19.tar.bz2
tar jxvf jailkit-2.19.tar.bz2
cd jailkit-2.19
./configure && make && make install
mkdir /home/jail //虚拟系统根目录
//如下四条命令是把系统里面的基础命令copy到虚拟系统下:
jk_init -v -j /home/jail/ basicshell
jk_init -v -j /home/jail/ editors
jk_init -v -j /home/jail/ netutils
jk_init -v -j /home/jail/ ssh
mkdir /home/jail/usr/sbin
cp /usr/sbin/jk_lsh /home/jail/usr/sbin/jk_lsh
useradd zhangsan
passwd zhangsan
jk_jailuser -m -j /home/jail zhangsan //在虚拟系统下创建一个用户
vim /home/jail/etc/passwd //把zhangsan那一行的/usr/sbin/jk_lsh改为/bin/bash
root:x:0:0:root:/root:/bin/bash
zhangsan:x:1011:1011::/home/zhangsan:/bin/bash
连续按2下TAB我们可以看到zhangsan这个用户只可以用如下116个命令:
当然我们可以设置一些alias,例如ssh可以修改成lj,虽然没有什么实质性的安全举措,但是一点点的安全还是有的。
[[email protected] ~]$ cat .bash
.bash_logout .bash_profile .bashrc
如何再次增加一个新的虚拟用户?(只需四步,可编辑成脚本!)
useradd lisi
passwd lisi
jk_jailuser -m -j /home/jail lisi //在虚拟系统下创建一个用户
vim /home/jail/etc/passwd //把lisi那一行的/usr/sbin/jk_lsh改为/bin/bash
为了再次增加安全性,我们还需要再次修改只允许使用密钥认证登录:
[[email protected] jailkit-2.19]# vi /etc/ssh/sshd_config
//编辑 PasswordAuthentication yes 为 PasswordAuthentication no 只允许密钥登录
然后我们去虚拟系统内添加公钥到我们的虚拟系统中即可!
[email protected] jailkit-2.19]# vim /etc/hosts.allow
//在最底部增加
sshd: 192.168.59.0/24 221.224.0.190 2.2.2.2
----------------------------------
[email protected] jailkit-2.19]# vim /etc/hosts.deny
//在最底部增加
sshd: ALL
参照之前实验的总结:https://cloud.tencent.com/developer/article/1119324
但是如上我们设置完毕后,有缺陷:只有当用户正常退出终端后才会保存用户所操作的记录。所以要想搞一个完美的堡垒机,下节更精彩!!