1、堡垒机介绍

在一个特定网络环境下,为了保障网络和数据不受外界入侵和破坏,而运用各种技术手段限制用户的到来,以及实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责;

2、堡垒机具备条件

具备堡垒机的条件是,该机器有公司和私网,其中私网和机房其他机器互通;我们又把堡垒机叫做跳板机,简易的跳板机功能简单,主要核心功能是远程登录服务器和日志审计。

3、使用软件实现跳板机

跳板机主要可以记录用户登录信息以及执行的命令,同时跳板机只有ssh的命令权限,我们使用jailkit实现;跳板机的用户只能使用有限的资源和命令,这样就能保证跳板机的安全性。

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 #创建虚拟根目录
jk_init -v -j /home/jail/ basicshell #把需要的命令导入到虚拟环境中-这是命令库文件
jk_init -v -j /home/jail/ editors  #这是vi vim命令
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 #复制虚拟系统的shell复制到 /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

按2个tab建可以看到只有以下命令:

怎么通过堡垒机连接Hive 堡垒机怎么搭建_bash

4、实现客户机命令设计

日志审计以下操作是需要在所有被登录机器上做的;
问题:我们如何记录自己服务器执行过的命令,有人说使用history但是如果终端是非正常退出的,使用history是不记录命令的,以下就是实现记录命令的代理,大家可以测试一下,Linux中的PROMPT_COMMAND会记录下出现提示符前面的命令,利用这个特性可以实现记录所有用户的操作记录;

mkdir /usr/local/records
chmod 777 !$
chmod +t !$
vi /etc/profile //添加以下内容
if [ ! -d  /usr/local/records/${LOGNAME} ]
then
mkdir -p /usr/local/records/${LOGNAME}
chmod 300 /usr/local/records/${LOGNAME}
fi
export HISTORY_FILE="/usr/local/records/${LOGNAME}/bash_history"
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'

安装后执行命令记录如下:

怎么通过堡垒机连接Hive 堡垒机怎么搭建_bash_02


说明:如果在收集这些日志,在我们被入侵后就可以审计了。