selinux 订阅
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。对于可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。 [1]  大部分使用 SELinux 的人使用的都是 SELinux 就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian或 Centos。它们都是在内核中启用 SELinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。 展开全文
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。对于可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。 [1]  大部分使用 SELinux 的人使用的都是 SELinux 就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian或 Centos。它们都是在内核中启用 SELinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。
信息
外文名
Security-Enhanced Linux
简    称
SELinux
地    位
Linux历史上最杰出的新安全系统
性    质
强制访问控制(MAC)安全系统
制造单位
美国国家安全局
SELinux发展历程
SELinux是「Security-Enhanced Linux」的简称,是美国国家安全局「NSA=The National Security Agency」 和SCC(Secure Computing Corporation)开发的 Linux的一个扩张强制访问控制安全模块。原先是在Fluke上开发的,2000年以 GNU GPL 发布。以Linux作为因特网服务器是越来越普遍的事了。在我这几年作过的项目里,WEB的开发基本都是基于Linux的,这里有给大公司做的,也有给政府部门做的,当然更多的是中小企业做的。这其中给政府做的,我们把SELinux作为一个卖点,接受了不少项目。不论是政府还是民间企业,大家对信息安全问题是越来越关心了,因为企业的业务平台的服务器上存储着大量的商务机密,个人资料,个人资料它直接关系到个人的隐私问题。特别是我们政府的网站,作为信息公开的平台,它的安全就更显得重要了。这些连到互联网的服务器,不可避免的要受到来自世界各地的各种威胁。最坏的时候我们的服务器被入侵,主页文件被替换,机密文件被盗走。除了来自外部的威胁外,内部人员的不法访问,攻击也是不可忽视的。对于这些攻击或者说是威胁,当然有很多的办法,有防火墙,入侵检测系统,打补丁等等。因为Linux也和其他的商用UNIX一样,不断有各类的安全漏洞被发现。我们对付这些漏洞不得不花很多的人力来堵住它。在这些手段之中,提高OS系统自身的牢固性就显得非常的重要。
收起全文
精华内容
参与话题
问答
  • Linux —— selinux

    2020-02-23 21:50:54
    1. selinux功能 1.1 selinux关闭状态 1.2 selinux开启状态 1.3 selinux功能 2. selinux状态 2.1 状态的查看 2.2 状态的切换 3. 安全上下文 3.1 安全上下文的临时更改 3.2 永久更改目录或文件安全上下文 4....

    目录

    1. selinux功能

    1.1 selinux关闭状态

    1.2 selinux开启状态

    1.3 selinux功能

    2. selinux状态

    2.1 状态的查看

    2.2 状态的切换

    3. 安全上下文

    3.1 安全上下文的临时更改

    3.2  永久更改目录或文件安全上下文

    4. sebool

    5. setrouble


    1. selinux功能

    1.1 selinux关闭状态

    • 在/mnt/中建立文件文件安全上下文为空
    • ftp程序安全上下文为空
    • 用户可以上传文件
    • 文件被移动到ftp默认发布目录中可以被访问

    1.2 selinux开启状态

    • 在/mnt/中建立文件文件有安全上下文
    • ftp程序有安全上下文
    • 用户不 可以上传文件
    • 文件被移动到ftp默认发布目录中可以无法被访问

    1.3 selinux功能

    selinux:内核级加强型防火墙

    功能:

    • 当selinux开启会给系统中的每一个文件及每一个程序加载安全上下文,特定安全上下文的程序只能访问特定安全上下文的文件
    • 当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为off状态,来保证服务安全性,当需要此功能时需要超级用户手动调节

    2. selinux状态

    2.1 状态的查看

    getenforce       ## 状态的查看
    setenforce 0|1   ## 0表示警告模式1表示强制模式 
    ## 状态类型:
    disabled         ## 关闭
    enforcing        ## 强制   [不只警告,还会限制]
    permissive       ## 警告   [只会警告,不会限制]

    2.2 状态的切换

    ## selinux开关
    vim /etc/sysconfig/selinux
    SELINUX=[selinux的状态]
    reboot                     ## 当disabled <----> [enforcing|permissive]都需要重启系统

    3. 安全上下文

    3.1 安全上下文的临时更改

    ## chcon -t 安全上下文 文件
    ## chcon -R -t 安全上下文 目录
    chcon -t public_content_t dsdlinuxfile      ## 修改文件
    chcon -R -t public_content_t dsdlinuxfile   ## 修改目录
    
    ## lftp访问服务器会发现此文件会被访问成功

     

    3.2  永久更改目录或文件安全上下文

    mkdir /ftpuserdir/dsddir
    设定westos用户登陆ftp服务时默认家目录为/ftpuserdir
    当用westos用户登陆ftp时/ftpuserdir内容无法访问,因为selinux安全上下文不匹配
    semanage fcontext -l | grep ftpuserdir                         ## 内核安全上下文列表中无信息
    semanage fcontext -a -t public_content_t /ftpuserdir'(/.*)?'   ## (/.*)?表示目录中将要出现的内容,此命令只添加列表信息,当前不生效
    restorecon -RvvF /ftpuserdir/                                  ## 刷新文件安全上下文

     

    4. sebool

    sebool:是selinux对服务功能添加的开关

    getsebool -a | grep ftp             ## 查看ftp的功能开关
    setsebool ftpd_anon_write=1|on      ## 表示开启此匿名用户写的功能
    setsebool -P ftpd_anon_write=1|on   ## 表示永久开启此匿名用户写的功能

    5. setrouble

    dnf install setroubleshoot-server-3.3.19-1.el8.x86_64 -y sealert -a  
    
    /var/log/audit/audit.log ##分析日志并提供解决方案

     

    展开全文
  • Linux中的SELINUX介绍

    千次阅读 2019-05-09 21:08:37
    1、什么是selinuxselinux作为内核型的加强性防火墙,提高对系统的安全保护,通过selinux对系统中的文件和资源添加标签,从而提高安全性 2、selinux安全级别 Disabled 不警告不拒绝 Enforcing...

    1、什么是selinux?

    selinux作为内核型的加强性防火墙,提高对系统的安全保护,通过selinux对系统中的文件和资源添加标签,从而提高安全性

    2、selinux安全级别

    Disabled                                                               不警告不拒绝

    Enforcing                                                               强制不可以访问

    Permissive                                                            警告但可以访问

    3、查看更改selinux状态

    (1)查看状态

    命令:getenforce

    (2)修改状态

    永久修改

    配置文件路径:/etc/sysconfig/selinux

    修改后重新启动方可生效

    临时修改

    命令:setenforce 0/1                                  permissive/enforcing

    注:仅能在当前状态非Disabled修改,若想修改为disabled必须在配置文件中修改。

    4、安全上下文的更改

    当selinux为enforcing状态时,开机初始化时将会给系统中的文件添加安全上下文,当安全上下文不匹配时将无法访问。

    例:

    (1)ftp服务中使用匿名用户默认登陆目录/var/ftp/

    命令:ls -Z

    可以查看到当前目录下的目录安全上下文为public_content_t

    使用匿名用户登陆,可查看

    (2)修改匿名用户的家目录为/test

    该目录下的文件Istest安全上下文为default_t

    使用匿名用户登陆

    无法查看到该文件

    (2)修改安全上下文

    临时修改:chcon -t public_content_t /test/ -R

    将/test目录下所有文件和目录安全上下文设定,当selinux重新启动后将失效

    匿名用户重新登陆后可查看到文件

    永久修改:

    查看系统设定/var/ftp的标签

    命令:semanage fcontext -l |grep /var/ftp

    对/test进行设定

    命令:semanage fcontext -a -t public_content_t '/test(/.*)?'                         设定

                restorecon -RvvF /test/                                                                           刷新

    (3)检测修改

    (4)修改其具有上传功能

    当前无法上传

    查看上传功能是否开启

    命令:getsebool -a |grep ftp

    设置上传开关

    命令:setsebool -P ftpd_anon_write on(-P为永久设定)

    更改目录的安全上下文

    命令:chcon -t public_content_rw_t /var/ftp/pub

    修改vsftpd配置文件设置为匿名用户可以上传

    上传测试

    5、selinux日志

    需安装setroubleshoot-server.x86_64软件

    /var/log/message                                                        该日志将会收到setroubleshoot发送的消息,并对selinux的报错提供报错

    /var/log/audit/audit.log                                                该日志仅显示selinux的错误,并不提供解决方案。

     

     

     

     

     

     

     

    展开全文
  • 一文彻底明白linux中的selinux到底是什么

    万次阅读 多人点赞 2018-06-29 14:17:30
    一、前言安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux...

    一、前言

    安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

    SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。

    SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。

    如果可以熟练掌握 SELinux 并正确运用,我觉得整个系统基本上可以到达"坚不可摧"的地步了(请永远记住没有绝对的安全)。

    掌握 SELinux 的基本概念以及简单的配置方法是每个 Linux 系统管理员的必修课。

    本文均在 CentOS 7.4.1708 系统中操作。

    本文纯属个人学习经验分享交流,出错再所难免,仅供参考!如果发现错误的地方,可以的话麻烦指点下,特别感谢!

    二、SELinux 的作用及权限管理机制

    2.1 SELinux 的作用

    SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

    设想一下,如果一个以 root 身份运行的网络服务存在 0day 漏洞,黑客就可以利用这个漏洞,以 root 的身份在您的服务器上为所欲为了。是不是很可怕?

    SELinux 就是来解决这个问题的。

    2.2 DAC

    在没有使用 SELinux 的操作系统中,决定一个资源是否能被访问的因素是:某个资源是否拥有对应用户的权限(读、写、执行)。

    只要访问这个资源的进程符合以上的条件就可以被访问。

    而最致命问题是,root 用户不受任何管制,系统上任何资源都可以无限制地访问。

    这种权限管理机制的主体是用户,也称为自主访问控制(DAC)。

    2.3 MAC

    在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了上述因素之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。

    这样一来,即使进程是以 root 身份运行的,也需要判断这个进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。

    即使是以 root 身份运行的服务进程,一般也只能访问到它所需要的资源。即使程序出了漏洞,影响范围也只有在其允许访问的资源范围内。安全性大大增加。

    这种权限管理机制的主体是进程,也称为强制访问控制(MAC)。

    而 MAC 又细分为了两种方式,一种叫类别安全(MCS)模式,另一种叫多级安全(MLS)模式。

    下文中的操作均为 MCS 模式。

    2.4 DAC 和 MAC 的对比

    这里引用一张图片来说明。

    可以看到,在 DAC 模式下,只要相应目录有相应用户的权限,就可以被访问。而在 MAC 模式下,还要受进程允许访问目录范围的限制。

    三、SELinux 基本概念

    3.1 主体(Subject)

    可以完全等同于进程。

    注:为了方便理解,如无特别说明,以下均把进程视为主体。

    3.2 对象(Object)

    被主体访问的资源。可以是文件、目录、端口、设备等。

    注:为了方便理解,如无特别说明,以下均把文件或者目录视为对象。

    3.3 政策和规则(Policy & Rule)

    系统中通常有大量的文件和进程,为了节省时间和开销,通常我们只是选择性地对某些进程进行管制。

    而哪些进程需要管制、要怎么管制是由政策决定的。

    一套政策里面有多个规则。部分规则可以按照需求启用或禁用(以下把该类型的规则称为布尔型规则)。

    规则是模块化、可扩展的。在安装新的应用程序时,应用程序可通过添加新的模块来添加规则。用户也可以手动地增减规则。

    在 CentOS 7 系统中,有三套政策,分别是:

    1. targeted:对大部分网络服务进程进行管制。这是系统默认使用的政策(下文均使用此政策)。

    2. minimum:以 targeted 为基础,仅对选定的网络服务进程进行管制。一般不用。

    3. mls:多级安全保护。对所有的进程进行管制。这是最严格的政策,配置难度非常大。一般不用,除非对安全性有极高的要求。

    政策可以在 /etc/selinux/config 中设定。

    3.4 安全上下文(Security Context)

    安全上下文是 SELinux 的核心。

    安全上下文我自己把它分为「进程安全上下文」和「文件安全上下文」。

    一个「进程安全上下文」一般对应多个「文件安全上下文」。

    只有两者的安全上下文对应上了,进程才能访问文件。它们的对应关系由政策中的规则决定。

    文件安全上下文由文件创建的位置和创建文件的进程所决定。而且系统有一套默认值,用户也可以对默认值进行设定。

    需要注意的是,单纯的移动文件操作并不会改变文件的安全上下文。

    安全上下文的结构及含义

    安全上下文有四个字段,分别用冒号隔开。形如:system_u:object_r:admin_home_t:s0。

    3.5 SELinux 的工作模式

    SELinux 有三种工作模式,分别是:

    1. enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。

    2. permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。

    3. disabled:关闭 SELinux。

    SELinux 工作模式可以在 /etc/selinux/config 中设定。

    如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统。反过来也一样。

    enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。

    需要注意的是,如果系统已经在关闭 SELinux 的状态下运行了一段时间,在打开 SELinux 之后的第一次重启速度可能会比较慢。因为系统必须为磁盘中的文件创建安全上下文(我表示我重启了大约 10 分钟,还以为是死机了……)。

    SELinux 日志的记录需要借助 auditd.service 这个服务,请不要禁用它。

    3.6 SELinux 工作流程

    这里引用一张图片,不必过多解释。

    注:上面的安全文本指的就是安全上下文。

    四、SELinux 基本操作

    4.1 查询文件或目录的安全上下文

    命令基本用法

    ls -Z

    用法举例

    查询 /etc/hosts 的安全上下文。

    ls -Z /etc/hosts

    执行结果

    -rw-r--r--. root root system_u:object_r:net_conf_t:s0 /etc/hosts

    4.2 查询进程的安全上下文

    命令基本用法

    ps auxZ | grep -v grep | grep

    用法举例

    查询 Nginx 相关进程的安全上下文。

    ps auxZ | grep -v grep | grep nginx

    执行结果

    system_u:system_r:httpd_t:s0 root 7997 0.0 0.0 122784 2156 ? Ss 14:31 0:00 nginx: master process /usr/sbin/nginx

    system_u:system_r:httpd_t:s0 nginx 7998 0.0 0.0 125332 7560 ? S 14:31 0:00 nginx: worker process

    4.3 手动修改文件或目录的安全上下文

    命令基本用法

    chcon [...]

    选项功能-u 修改安全上下文的用户字段-r 修改安全上下文的角色字段-t 修改安全上下文的类型字段-l 修改安全上下文的级别字段--reference 修改与指定文件或目录相一致的安全上下文-R递归操作-h修改软链接的安全上下文(不加此选项则修改软链接对应文件)

    用法举例

    修改 test 的安全上下文为 aaa_u:bbb_r:ccc_t:s0。

    chcon -u aaa_u -r bbb_r -t ccc_t test

    4.4 把文件或目录的安全上下文恢复到默认值

    命令基本用法

    restorecon [选项] [...]

    选项功能-v打印操作过程-R递归操作

    用法举例

    添加一些网页文件到 Nginx 服务器的目录之后,为这些新文件设置正确的安全上下文。

    restorecon -R /usr/share/nginx/html/

    4.5 查询系统中的布尔型规则及其状态

    命令基本用法

    getsebool -a

    由于该命令要么查询所有规则,要么只查询一个规则,所以一般都是先查询所有规则然后用 grep 筛选。

    用法举例

    查询与 httpd 有关的布尔型规则。

    getsebool -a | grep httpd

    执行结果

    httpd_anon_write --> off

    httpd_builtin_scripting --> on

    httpd_can_check_spam --> off

    httpd_can_connect_ftp --> off

    #以下省略

    4.6 开关一个布尔型规则

    命令基本用法

    setsebool [选项]

    选项功能-P重启依然生效

    用法举例

    开启 httpd_anon_write 规则。

    setsebool -P httpd_anon_write on

    4.7 添加目录的默认安全上下文

    命令基本用法

    semanage fcontext -a -t "(/.*)?"

    注:目录或文件的默认安全上下文可以通过 semanage fcontext -l 命令配合 grep过滤查看。

    用法举例

    为 Nginx 新增一个网站目录 /usr/share/nginx/html2 之后,需要为其设置与原目录相同的默认安全上下文。

    semanage fcontext -a -t httpd_sys_content_t "/usr/share/nginx/html2(/.*)?"

    4.8 添加某类进程允许访问的端口

    命令基本用法

    semanage port -a -t -p

    注:各种服务类型所允许的端口号可以通过 semanage port -l 命令配合 grep 过滤查看。

    用法举例

    为 Nginx 需要使用 10080 的端口用于 HTTP 服务。

    semanage port -a -t http_port_t -p tcp 10080

    五、SELinux 错误分析和解决

    5.1 认识 SELinux 日志

    当开启了 SELinux 之后,很多服务的一些正常行为都会被视为违规行为(标题及下文中的错误均指违规行为)。

    这时候我们就需要借助 SELinux 违规日志来分析解决。

    SELinux 违规日志保存在 /var/log/audit/audit.log 中。

    /var/log/audit/audit.log 的内容大概是这样的。

    type=LOGIN msg=audit(1507898701.391:515): pid=8523 uid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=25 res=1

    type=USER_START msg=audit(1507898701.421:516): pid=8523 uid=0 auid=0 ses=25 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_loginuid,pam_keyinit,pam_limits,pam_systemd acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'

    ...

    该文件的内容很多,而且混有很多与 SELinux 错误无关的系统审计日志。我们要借助 sealert 这个实用工具来帮忙分析(如果提示找不到命令的话请安装 setroubleshoot 软件包)。

    5.2 使用sealert分析错误

    命令基本用法

    sealert -a /var/log/audit/audit.log

    执行完命令之后,系统需要花一段时间去分析日志中的违规行为并给出分析报告。分析报告的结构讲解请看下图:


    展开全文
  • linux系统中selinux的简介与用法

    千次阅读 2018-05-15 20:49:37
    一.selinux的简介 1.什么是selinux: selinux(security enhanced linux)安全增强型linux系统,它是一个linux内核模块,也是linux的一个安全子系统。 selinux的主要作用就是最大限度地减小系统中服务进程可访问的...

    .selinux的简介

        1.什么是selinux:

           selinux(security enhanced linux)安全增强型linux系统,它是一个linux内核模块,也是linux的一个安全子系统。

           selinux的主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)

        2.selinux有两个级别 强制和警告  setenforce  0|1  0表示警告(Permissive),1表示强制(Enforcing)

        3.selinux相当于一个插件  (内核级的插件)

        4.selinux功能开启后,会关闭系统中不安全的功能

        5.查看日志中的警告:cat /var/log/audit/audit.log

        6.修改selinux的状态:

            vim /etc/sysonfig/selinux

            修改为enforcing

            reboot

            getfenforce   

         7.selinux有两个功能: 程序访问文件  安全上下文

                            程序访问功能  sebool

     

     

    二,selinux的用法:影响文件的安全上下文

     

    (一)修改文件的安全上下文:

      我们从别的地方复制一个文件到/var/ftp,而当我们登陆lftp之后,发现看不到该文件,是因为这个文件的安全上下文和/var/ftp的安全上下文不匹配,这就是selinux的保护机制,所以我们需要将这个文件的安全上下文修改和/var/ftp的达到一致。

         1.touch /mnt/file1

         2.mv /mnt/file1 /var/ftp       为什么是移动而不是复制,移动是重命名的过程,文件的属性和权限不会改变,而复制是新建                                                   的过程,文件的属性和权限等等可能会发生改变。

         3.lftp 172.25.254.210   ls

              

         4.touch /var/ftp/file2

         5.lftp 172.25.254.210 ls

         6.cd /var/ftp

         7.ls -Z                            显示/var/ftp的安全上下文的类型

                           或者 semanager fcontext -l | grep /var/ftp  查看/var/ftp的安全上下文           

          

         8.chcon -t public_context_t file1   修改file1的安全上下文           

         9.lftp 172.25.254.210    ls

              

    semanage fcontext -l  显示内核已经记录的安全上下文

     

    (二)修改目录的安全上下文

     

        /var/ftp是lftp的默认发布目录,它默认的安全上下文是public_content_t,如果我们想要修改/var/ftp的默认发布目录,就必须修改这个新的发布目录的安全上下文。

       1.mkdir /jay

       2.touch /jay/file

       3.vim /etc/vsftpd/vsftpd.conf

           anon_root=/jay

       4.systemctl restart vsftpd

       5.lftp 172.25.254.210

       6.ls  不会显示/jay和/jay里边的文件,因为其安全上下文不是content_public_t

              setenforce 0/1   ls后可以显示里边的文件    说明这个问题的出现和selinux有关系

               

       7.修改/jay目录的安全上下文有两种方法,一种是临时的,一种是永久的

          1)临时的:

                   chcon -t public_content_t /jay -R      -R表示递归

                   修改selinux的配置文件,将selinux修改为disable后重启,再修改为enfrocing重启,/jay的安全上下文会变回原样。

          2)永久的:

                   semanage fcontext -a -t public_content_t '/jay(/.*)?'修改/jay和底下的所有文件的安全上下文

                                                                                             -a表示增加,-t表示类型

                  semanage fcontext -l |grep /jay   查看/jay的安全上下文

                  restorecon -FvvR /jay  递归刷新并显示刷新过程

                  

       8.lftp 172.25.254.210

       9.ls

     

      

    二,selinux的用法:对进程本身开关的影响sebool值

     

    selinux会对我们系统中有些功能加上开关,我们在使用这些功能时,应该先打开开关才可以使用

     

    (一).功能开关的影响

    1.lftp 172.25.254.210 -u student

    2.put /etc/passwd           显示不能上传,如果将selinux的值修改为0,则可以上传,说明这是selinux对上传文件的影响

            

    3.getsebool -a |grep ftp       显示ftp的上传功能未开启

    4.setsebool -P ftp_home_dir on        打开ftp的上传功能 -P表示永久打开

            

    5.getsebool -a |grep ftp       显示ftp的上传功能开启

    6.lftp 172.25.254.210 -u student

    7.put /etc/group

            

     

    (二).selinux的排错工具: setroubleshoot-server

     

    1.touch /mnt/file

    2.mv /mnt/file /var/ftp

    3.在浏览器里输入ftp://172.25.254.210/file   不能看到自己建立的文件,这是由于安全上下文的关系

    4.清空/var/log/messages

    5.在浏览器处刷新,查看/var/log/messages

    6.里边有解决方案:里边说明解决方案在/var/log/audit/audit.log里

        解决方案是:restorecon -v /var/ftp/*

    7.这个解决方案是软件setroubleshoot-server-3.2.17.e17.x86_64提供的

    8.如果我们卸载这个软件,那么在/var/log/audit/audit.log里边就不会再有解决方案

     

     

    (三).selinux影响服务所使用的资源

     

    1.安装http服务

    2.cat /etc/services |grep http   查看http的tcp协议使用默认端口为80

       

    3.vim /etc/httpd/conf/httpd.conf   将第42行httpd的tcp协议端口修改为6666 

        

        

    4.systemctl restart httpd 这时候我们发现不能重启服务

    5.setforence 0   将selinux的状态设置为警告

    6.systemctl restart httpd    这时候我们发现可以重启服务,说明这是selinux的保护机制

        

    7.semanage port -l | grep http 查看http服务的tcp协议默认端口列表里没有6666

        

    8.semanage port -a -t http_port_t -p tcp 6666  将6666端口添加到tcp列表的默认端口中

    9.semanage port -l | grep http 查看6666端口已经添加到tcp的端口列表中

       

     

    展开全文
  • selinux 开启和关闭

    万次阅读 2018-03-10 09:52:58
    对于新手来说,linux的selinux困扰了一大批学员,开启后,导致文件权限修改不了等问题,下面就是关闭设置setlinux的方法查看SELinux状态:1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态...
  • SELinux

    千次阅读 2018-06-27 16:11:46
    什么是SELinux SELinux 是 Security Enhanced Linux 的缩写,字面意思是安全增强型linux 设计目的:避免资源的误用 -摘自鸟哥的linux SELinux 是由美国国家安全局 (NSA) 开发的,当初开发这玩意儿的目的...
  • selinux

    2018-11-08 02:39:57
    selinux是什么 selinux(secure linux):内核级加强型火墙 selinux基本使用 1.查看selinux的状态 getenforce
  • SElinux

    千次阅读 2016-12-08 21:29:02
    SElinux是一个linux安全增强功能,其允许用户和管理员对访问控制有更多的控制权。 访问控制可以做到哪个用户可能访问哪些资源的级别。这些资源可以来自文件。标准的Linux存取控制,如文件权限(-rwxr-xr-x)由用户或...
  • Linux7/Centos7 Selinux介绍

    万次阅读 2018-06-04 18:31:04
    SELinux的全称是Security Enhanced Linux, 就是安全加强的Linux。在SELinux之前,root账号能够任意的访问所有文档和服务;如果某个文件设为777,那么任何用户都可以访问甚至删除;这种方式称为DAC(主动访问机制),...
  • Selinux

    2019-11-21 22:28:35
    了解Selinux 内核以及加强型防火墙 作用:给系统中开启的程序和文件加载一个标签,特定程序和文件对应特定的标签,给所有的程序功能加载了一个开关,想要开启程序的某种功能,需要用超级用户手动开启。 Selinux的三...
  • SELinux

    千次阅读 2016-01-26 11:26:20
    SELinux   Background LSM中文全称是linux安全模块。英文全称:linux security module. LSM是一种轻量级、通用的访问控制框架,适合多种访问控制模型以内核模块的形式实现。 通过系统调用进入内核之后,系统首先...
  • selinux

    2017-11-19 21:42:06
    selinux getenforce #查看selinux状态 setenforce 0|1 0 permissive #警告状态 1 enforcing #强制状态 vim /etc/sysconfig/selinux #selinux配置文件 SELINUX= enforcing 
  • SELinux

    2019-06-02 21:29:54
    一.SElinux 1.SELinux基本概念 1.SELinux(Security-Enhanced Linux) :是一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat ...
  • selinux

    2017-11-11 22:19:34
    一,什么是selinuxselinux称为内核级加强型防火墙。 selinux’的目的在于明确的指明某个进程可以访问那些资源(文件,网络端口等)。 selinux是由美国国家安全局(NSA)开发的。 selinux是整合到linux内核的...
  • SElinux

    2014-01-21 10:44:16
    1.1 SElinux概述 SELinux(Security-Enhanced Linux) 是美国国家安全局(NAS)对于强制访问控 制的实现,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。大部分使用 SELinux 的人使用的都是...
  • SElinux

    2019-05-06 14:33:15
    内核级别的加强防火墙 selinux三种状态: 强制enforcing,警告permissive,关闭disabled 将某个文件移动到/var/ftp下, ls -Z /var/ftp ##可以看到有问号 修改完配置文件,selinux=enforcing后,reboot(时间长...
  • SElinux

    2016-11-28 20:38:17
    摘要:SElinux的介绍。 SElinux本身模式管理;SElinux政策规则限制;SElinux安全上下文匹配限制。
  • SELinux,查看 SELinux状态及关闭SELinux

    千次阅读 2018-12-26 08:11:23
    几乎可以肯定每个人都听说过 SELinux (更准确的说,尝试关闭过),甚至某些过往的经验让您对 SELinux 产生了偏见。不过随着日益增长的 0-day 安全漏洞,或许现在是时候去了解下这个在 Linux 内核中已经有8年历史的...
  • selinux

    千次阅读 2013-11-12 16:33:31
    SELinux 模式SELinux 政策SELinux 访问控制排除 SELinux 疑难 重新标签文件撤消缺省的安全性脉络重新标签整个文件系统允许访问某个端口 自定 SELinux 政策利用 audit2allow 创建自定 SELinux 政策模块 手动式...
  • selinux

    千次阅读 2014-05-12 16:44:51
    SElinux(Security Extend linux)Red hat Enterprise 5支持内核实施的一项新的安全策略:SElinuxSElinux是由美国国防部让安全局针对计算机基础结构开发的,SElinux允许管理员定义高度灵活的策略,让linux内核把它...

空空如也

1 2 3 4 5 ... 20
收藏数 132,214
精华内容 52,885
关键字:

selinux

linux 订阅