SELinux基础与AppArmor

本文介绍了Linux中的两种安全机制——SELinux和AppArmor。SELinux是一种安全策略机制,通过域和上下文限制进程和文件,提供预置策略,并可通过getenforce和setenforce查看及调整工作模式。AppArmor则使用路径名作为安全标签,通过配置文件定义程序权限,其配置文件可以设置为enforce或complain模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



SELinux基础与AppArmor




一 SELinux

SELinux(Secure Enhanced Linux):安全增强的Linux 是一个Linux安全策略机制,允许管理员更加灵活的定义安全策略。

SELinux是一个内核级的安全机制,从2.6内核之后,集成到Linux内核中。

SELinux定义了两个基本概念:

1.域:对进程进行限制;

2.上下文:对文件进行限制;


SELinux通过策略规定哪些域可以访问哪些上下文、哪些进程可以访问哪些文件。 

SELinux有很多预置策略,通常不需要自定义策略,除非需要对自定义程序、服务进行SELinux保护。CentOS/RHEL默认使用目标策略。


常用命令:

        显示文件的SELinux上下文信息:ls -Z

        显示进程的SELinux域信息:ps -Z

        恢复一个文件的默认SELinux上下文:restorecon -R /var/www

        修改一个文件的SELinux上下文:chcon --reference=/etc/named.conf.orig  /etc/named.conf 


SELinux有三种工作模式:

enforcing       强制模式。任何违反策略的行为都会被禁止,并且产生警告信息。

permissive    允许模式。违反策略的行为不会被禁止,只产生警告信息。

disabled        关闭SELinux。
 
SELinux模式可以通过修改配置文件:/etc/sysconfig/selinux进行修改。

命令getenforce可以查看当前SELinux工作模式。

命令setenforce可以修改当前SELinux工作模式。



二 AppArmor

    AppArmor同样是内核级别的安全机制,集成于内核中。与SELinux的最大区别是AppArmor使用路径名作为安全标签,而SELinux使用文件的inode

作为安全标签。

    AppArmor通过一个配置文件来指定一个应用程序的相关权限。


配置文件的工作模式:

enforce:对程序的行为进行限制(依照配置文件),并对于违反限制的程序进行日志记录。

complain:不对程序的行为进行限制,只对程序的行为进行记录。


比较有用的命令:

    自动生成程序的配置文件:aa-genprof

    设置配置文件的工作模式: aa-enforce  lightdm-guest-session / aa-complain light-guest-session

    查看AppArmor当前的状态:apparmor_status

    显示拥有tcp/udp端口,但未处于apparmor监控下的进程:aa-unconfined



配置文件的格式(自动生成的):

#include <tunables/global>


/usr/bin/mtr { 

  #include <abstractions/base>


  /usr/bin/mtr  mr,     # 允许可执行映射,可读


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值