zoukankan      html  css  js  c++  java
  • linux中的内核级防火墙(SELINUX)

    SElinux是基于内核开发出来的一种安全机制,被称之为内核级加强型防火墙,有力的提升了系统的安全性。

    SElinux的作用分为两方面:1.在服务上面加上标签; 2.在功能上面限制功能

    在linux系统中使用 getenforce 命令可以查看selinux的状态:

      disabled     为关闭状态,对服务和功能都没有限制

      enforcing    为强制状态,对服务和功能都进行限制

      permissive  为警告状态,服务和功能可以使用,但会收到警告信息,可视为对安全的提示

    在selinux开启状态时,可使用setenforce 0|1 来调整selinux的状态,0为警告状态,1为强制状态,如下图所示:
      

    selinux的状态在配置文件 /etc/selinux/config 中也可以设置:

      路径:vim /etc/selinux/config  或 vim /etc/sysconfig/selinux (链接文件,指向/etc/selinux/config)

      

      

      注:由于selinux是基于内核开发的,所以改变状态以后,需要重启内核,也就是关机以后才能够生效

    在selinux开启的状态下,可以看到文件的安全上下文的标签,输入ls -Z 可以看到目录下的文件和目录的安全上下文标签:

       

    Linux内核防火墙的工作原理

      Linux的内核提供的防火墙功能通过netfiter框架实现,并提供iptables工具配置和修改防火墙的规则 

      netfilter的通用框架不依赖于具体的协议,而是为每种网络协议定义一套钩子函数。这些钩子函数在数据包经过协议栈的几个关键点时被调用,

      在这几个点中,协议栈将数据包及钩子函数作为参数,传递

      netfilter框架

        对于每种网络协议定义的钩子函数,任何内核模块可以对每种协议的一个或多个钩子函数进行注册,实现挂接。这样当某个数据包被传递给

      netfilter框架时,内核能检测到是否有有关模块对该协议和钩子函数进行了注册,如发现注册信息则调用该模块在注册时使用的回调函数,然后对

      应模块去检查、修改、丢弃该数据包及指示netfilter将该数据包传入用户空间的队列。

      钩子函数提供了一种方便的机制,以便在数据包通过Linux内核的不同位置上截获和操作处理数据包

    如下图所示;

       

       

    钩子函数说明:

      NF_IP_PRE_ROUTING:网络数据包进入系统,经过简单的检测后,数据包转交给该函数进行处理, 然后根据系统设置的规则对数据包进行处理,

                 如果数据包不被丢弃则交给路由函数进行处理,在该函数中可替换IP包的目的地址,即DNAT;

      NF_IP_LOCAL_IN:所有发送给系统的数据包都要能过该函数的处理,该函数根据系统设置的规则对数据包进行处理,如果数据包不被丢弃则交给

               本地的应用程序;

      NF_IP_FORWARD:所有不是发送给本机的数据包都要能过该函数进行处理,该函数会根据系统设置的规则对数据包进行处理,如数据包不被丢弃

               则转 NF_IP_POST_ROUTING 进行处理。

      NF_IP_LOCAL_OUT:所有从本地应用程序出来的数据包必须通过该函数的处理,该函数根据系统设置的规则对数据包进行处理,如果数据包不被

                丢弃则交给路由函数进行处理。

      NF_IP_POST_ROUTING:所有数据包在发给其他主机之前需要通过该函数的处理,该函数根据系统设置的规则对数据包进行处理,如果数据包

                  不被丢弃,将数据包发给数据链路层,在该函数中可以替换IP包的源地址,即SNAT.

  • 相关阅读:
    C++笔记(2018/2/6)
    2017级面向对象程序设计寒假作业1
    谁是你的潜在朋友
    A1095 Cars on Campus (30)(30 分)
    A1083 List Grades (25)(25 分)
    A1075 PAT Judge (25)(25 分)
    A1012 The Best Rank (25)(25 分)
    1009 说反话 (20)(20 分)
    A1055 The World's Richest(25 分)
    A1025 PAT Ranking (25)(25 分)
  • 原文地址:https://www.cnblogs.com/qiuyu666/p/11799194.html
Copyright © 2011-2022 走看看