23.1 什么是堡垒机
23.2 搭建简易堡垒机
23.3 安装jailkit实现chroot
23.4 日志审计
23.1 什么是堡垒机
堡垒机
是在一个特定网络环境下,为了保障网络和数据不受外界入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。
我们又把堡垒机叫做跳板机,但其实跳板机是堡垒机的其中一种功能。简易的跳板机
功能简单,主要核心功能是远程登录服务器
和日志审计
。
比较优秀的开源软件jumpserver
,它可以认证、授权、审计、自动化、资产管理。
商业堡垒机:齐治
, Citrix XenApp
。
23.2 搭建简易堡垒机
具备堡垒机的条件是,该机器有公司和私网,其中私网和机房其他机器互通
- 设计堡垒机思路
- 跳板机安全设置(iptables端口限制、登录限制sshd_config)除了需要监听的端口外,其他都关闭
- 用户、命令权限限制(jailkit) http://blog.chinaunix.net/uid-28310119-id-3503318.html
- 客户机器日志审计(堡垒机上不能做日志审计) http://www.68idc.cn/help/server/linux/2014042190951.html
23.3 安装jailkit实现chroot
可以让普通用户在虚拟的系统下使用有限的命令
步骤
1.下载解压jailkit
1 | [root@localhost ~]# cd /usr/local/src/ |
2.初始化并编译安装
1 | [root@localhost src]# cd jailkit-2.19 |
3.创建虚拟系统目录
1 | [root@localhost jailkit-2.19]# mkdir /home/jail |
/home/jail
是让普通用户登录堡垒机系统后活动的目录(虚拟系统)
4.虚拟系统目录下创建命令,配置文件
1 | [root@localhost jailkit-2.19]# jk_init -v -j /home/jail/ basicshell ##命令 |
5.创建虚拟系统的shell
1 | [root@localhost jail]# mkdir /home/jail/usr/sbin |
/home/jail/usr/sbin/jk_lsh
是虚拟系统的shell
6.创建真实用户和密码
1 | [root@localhost jail]# useradd zhangsan |
7.虚拟系统上创建对应的虚拟用户
1 | [root@localhost jail]# jk_jailuser -m -j /home/jail zhangsan |
8.修改虚拟用户的登录的shell
1 | [root@localhost jail]# vim /home/jail/etc/passwd |
测试
使用zhangsan登录堡垒机
zhangsan用户可以登录堡垒机上的虚拟系统1
2
3
4
5
6
7Connecting to 192.168.80.101:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
bash: /usr/bin/id: No such file or directory
bash: /usr/bin/id: No such file or directory
[zhangsan@localhost ~]$
只允许秘钥登录
步骤
1.登录虚拟系统 并在用户的上建立authorized_keys并把公钥放进来
1 | [zhangsan@localhost ~]$ mkdir .ssh |
2.在真实系统下设置只允许密钥登录
1 | [root@localhost jail]# vim /etc/ssh/ssh_config |
设置允许登录的IP
步骤
1.在真实系统下设置允许访问的ip
1 | [root@localhost jail]# vim /etc/hosts.allow |
2.设置不允许访问的ip
1 | [root@localhost jail]# vim /etc/hosts.deny |
这里表示除了允许访问的IP外其他IP都禁止访问
23.4 日志审计
先在每台客户机上先设置只允许堡垒机的IP登录本机
1 | [root@localhost ~]# vim /etc/hosts.allow |
创建审计目录和设置权限
1 | [root@localhost ~]# mkdir /usr/local/records |
在profile文件中添加代码
1 | [root@localhost ~]# vim /etc/profile |
记录最后一个历史命令在/usr/local/records/
下
在重新登录该机器可以看到/usr/local/records/有记录1
2
3
4[root@localhost ~]# cat /usr/local/records/root/bash_history
2018-09-04 22:30:56 ##### root pts/1 (192.168.80.1) #### ping www.g.cn
2018-09-04 22:30:57 ##### root pts/1 (192.168.80.1) #### ls
2018-09-04 22:31:23 ##### root pts/1 (192.168.80.1) #### cat /usr/local/records/root/bash_history