安全上下文的认识

一、SELINUX的概述

SELinux(Security-Enhanced Linux) 是美国国家安全局(NAS)对于强制访问控 制的实现,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。大部分使用 SELinux 的人使用的都是SELinux就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian 或 Gentoo。它们都是在内核中启用SELinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。

二、SELINUX的特点

1.MAC

对访问的控制彻底化,对所有的文件、目录、端口的访问都是基于策略设定的,可由管理员时行设定。

2.RBAC

对于用户只赋予最小权限。用户被划分成了一些role(角色),即使是root用户,如果不具有sysadm_r角色的话,也不是执行相关的管理。哪里role可以执行哪些domain,也是可以修改的。

3安全上下文

所有的操作系统访问控制都是主体和客体的相关访问控制属性,在SELINUX,访问控制属性称为安全上下文,安全上下文是一个简单的、一致的访问控制属性,所有客体(文件,进程间通信,通信管道,套接字,网络主机等)和主体(进程)有一个和客体和他们相关的单一安全上下文,一个进程的类型通常称为域,域和域类型都一样,即都是安全上下文的'TYPE',一个安全上下文是由角色,用户和类型标识符。

文件的Security Contex规则如下:

       • rpm包安装的:会根据rpm包内记录来生成安全上下文;

       • 手动创建的文件:会根据policy中规定的来设置安全上下文;

       • cp:会重新生成安全上下文;

       • mv:安全上下文则不变。

实例1:在ftp目录下建立文件,可以查看到安全登录lftp服务,可以查看到有这个文件;如果在/mnt目录下建立文件,将/mnt下的文件移动到/var/ftp下,则安全上下文的类型为mnt_t,则登录lftp时,不能查看有此文件

在/mnt下建立一个文件

将/mnt下的westos文件移动到/var/ftp目录下

查看是否将/mnt/westos文件移动到了/var/ftp目录下


在/var/ftp目录下建立一个文件fire

查看文件的安全上下文,由下图可以看出fire文件的类型修改为了public_content_t;而westos文件的类型为mnt_t


登陆lftp,查看fire文件是否存在,由下图可以看出只有fire 文件存在;

chcon:修改对象的安全上下文,包括用户,角色,类型,安全级别,也就是将每个文件的安全环境变更至指定环境

-t:设定指定类型的安全目标环境         -u:修改指定用户的安全目标环境

-r:设定指定角色的安全目标环境        

查看ftp目录下所有文件的安全上下文

登陆ftp时也可以查看到安全类型为public_content_t的文件

实例2:临时修改安全上下文

建立westos目录

在westos目录下建立文件

修改vsftpd的配置文件


重启vsftpd服务

关闭防火墙

查看westos目录的安全上下 文

查看/ftp目录的安全上下文

修改/westos目录及其目录下文件的安全上下文

在SELINUX服务重启前查看westos目录和目录下文件的安全上下文是否被修改

重启selinux服务

将selinux状态修改为关闭状态disabled,


重启系统


将selinux状态分为强制状态enforcing


重启系统

在SELINUX服务重启后查看westos目录和目录下文件的安全上下文是否被修改

实例3:永久修改安全上下文

查看/westos目录本身和目录下的文件的安全上下文

semanage用于查询与修改SELinux默认emanage命令是用来查询与目录的安全上下文

fcontext主要用在安全上下文方面

-a :增加一些目录的安全上下文类型设置

-t:安全上下文的类型

'/westos(/.*)?'='/westos/(/.*)?'

手动同步安全上下文

F:刷新 ,   强制重置上下文以匹配可定制文家file_context,以及默认的安全上下文,更改用户、角色、范围部分和类型
v:   两个v都是显示,显示文件标签的更改,并将过程显示到屏幕上;

R:表示递归

查看修改后的安全上下文

查询/westos安全上下文


三、SELINUX 影响服务功能

linux 中的 sebool(布尔值)会影响服务,进程功能会给系统进程加上sebool(布尔值),就像加上开关,禁止系统认为权限过大的操作。使系统更加安全

(1)将SELINUX状态修改为宽容模式

(2)查找本系统内ftp的布尔值设置状况

getsebool命令是用来查询SElinux策略内各项规则的布尔值

getsebool -a 查询本系统内所有的布尔值设置状

3)将ftp_home_dir布尔值永久打开

4)查找本系统ftp布尔值得设置是否已经打开

ftp_home_dir:允许认证用户可以读写自己的主目录中的文件


(5)开启服务后,以本地用户student身份登录 ftp 服务,从而对比开启前是否可以对注目录进行行读写



四、添加端口

端口的概念:


  • 电脑运行的系统程序,其实就像一个闭合的圆圈,但是电脑是为人服务的,他需要接受一些指令,并且要按照指令调整系统功能来工作,于是系统程序设计者,就把这个圆圈截成好多段,这些线段接口就叫端口(通俗讲是断口,就是中断),系统运行到这些端口时,一看端口是否打开或关闭,如果关闭,就是绳子接通了,系统往下运行,如果端口是打开的,系统就得到命令,有外部数据输入,接受外部数据并执行。
  • 系统里,程序默认使用端口 2^0~2^10;
    能够开启的端口的个数是 2^32 / 2^64(32位或64位操作系统);
    查看系统各服务端口及协议类型:cat /etc/services。

(1)安装httpd服务:yum install httpd


(2)修改SELINUX的状态为宽容模式

(3)开启httpd服务

(4)查询关于http的端口

(6)永久添加端口:semanage port -a -t http_port_t -p  tcp 6666

-a :添加端口

-t:类型

-p:永久添加


(7)修改SELINUX的状态为强制状态

(8)编辑配置文件


(9)开启httpd服务


(10)查询关于http的端口

(11)添加tcp端口7777

(12)重启服务

(13)查看端口


五、SELINUX故障查询

若是 SELinux 出错,建立 /.autorelabel 文件重启系统后selinux恢复

touch   /.autorelabel 文件是为了让SELINUX重新启动,相当于先该为disabled再该为enforcing

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值