沙盒技术——selinux控制
沙盒技术:
1. 查看进程的上下文关联
ll -Z
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0
参数解释:
这条语句通过:划分成了四段,第一段 system_u 代表的是用户,第二段 object_r 表示的是角色,第三段是SELinux中最重要的信息,admin_home 表示的是类型,最后一段 s0 是跟MLS、MCS相关的东西
. 是这个文件正在被selinux保护
如果没有selinux,就会导致攻击的时候先攻击一个服务,然后成功的话会提权然后攻击其他的服务,
2.context: 有关联的上下文、
用户,角色,类型,级别(敏感度高 )
u代表用户信息,系统用户,r规则,系统操纵,t
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0
用户:
system_u:selinux用户,系统进程
root_u:root用户
user_u:系统用户
角色:
object_r:一般文件目录的角色
system_r:进程角色
type:
文件和进程都有类型,限制存储权限
目录的形成:依靠硬链接的关联关系,
s0:
[MLS MCS] 一个是进程权限,一个是进程区分
3.查看selinux的状态
sestatus -v
4.getenforce 查看当前临时权限
5.关闭selinux
临时
setenforce 0
setenforce 1 开启selinux
永久
vim /etc/selinux/config/
解决沙盒控制的方法:
方法一
万能解决
对某个目录的放问由selinux来控制
1.客户端
yum install ftp
安装ftp客户端
2.服务端
安装vsftpd软件包,启动服务
清空防火墙
修改ftp的默认目录为/data,
mkdir /data
vim /etc/passwd
直接修改,强制保存
安装这个软件包
yum install setr*
启动这个服务才可以做日志实时监控
/etc/init.d/auditd restart
这个时候需要先开启selinux
setenforce 1
监控日志
tailf /var/log/messages
客户端访问ftp
ftp 192.168.117.144
在监控的日志的时候由于开启了沙盒所以会报错,然后会出现一个报错信息,内含一条这个命令
sealert -l bd5893c8-1aa2-4dd3-902e-dd8796421404
然后运行这条命令会生成一条临时解决沙盒拒绝ftp的命令,选择第一个评分高的然后执行。
setsebool -P allow_ftpd_full_access 1
setsebool -p 系统临时设置的策略,只限于yum的包
查看允许的ftp的策略,
getsebool -a | grep ftp
发现有一条允许ftp的策略:
setsebool -P allow_ftpd_full_access --> on
验证:客户端这个时候是可以访问/data的目录的
方法二:
通过指定的type分发的权限来控制:
然后将这条策略关闭:
setsebool -P allow_ftpd_full_access 0
验证:这个时候是访问不到的,因为selinux关闭了临时开启的策略
注意:
restorecon /data/ 还原到默认的context值,需要重启
首先查看这个目录下的这个文件的权限类型,然后将这个允许访问的类型复制过来,然后给/data目录设置这个权限,然后这个目录就有了访问的权限,
ll -Z /var/ftp/
cd /data
chcon -t public_content_t /data -R
ll -Z
验证:这个时候就可以了访问了
添加:
[root@lpc didi]# setenforce 1
[root@lpc didi]# getenforce
Enforcing 强制执行
[root@lpc didi]# setenforce 0
[root@lpc didi]# getenforce
Permissive 允许
沙盒对samba服务器的控制:
yum -y install smb
vim /etc/samba/smb.conf
mkdir /didi
chmod 777 /didi/
cd /didi/
ls
touch haha
ls
service smb restart
service nmb restart
vim /etc/samba/smb.conf
[DD]
path=/didi
public=yes
read only=yes
writable=yes
setenforce 1
cd /etc/samba/
ll -Z
cd /didi/
chcon -t samba_etc_t /didi/ -R
客户端访问:
smbclient //192.168.117.144/DD