linux 内核防火墙,linux中的内核级防火墙(SELINUX)

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

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

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

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

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

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

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

d14a3d4055db83f7ad61664ea950c034.png

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

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

1dab683c387176ae66f94cfb29f164b1.png

87d6ec779c6b7269229724536e0fe308.png

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

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

fcb9a8ecbe15a5508c6f9e026d0a755f.png

Linux内核防火墙的工作原理

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

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

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

netfilter框架

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

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

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

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

如下图所示;

c37d8523ccdb99a50ef5894a1750318d.png

钩子函数说明:

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.

Mysql : L闪存卡linux中的内核参数设置

将 Nytro WarpDrive 加速卡配置为文件系统 本节说明的操作使您可调整 Nytro WarpDrive 加速卡,增强使用 Oracle Linux with Unbreakable Ent ...

Linux中的内核链表

链表中一般都要进行初始化.插入.删除.显示.释放链表,寻找节点这几个操作,下面我对这几个操作进行简单的介绍,因为我的能力不足,可能有些东西理解的不够深入,造成一定的错误,请各位博友指出. A.Linu ...

Linux中的运行级

1. Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 ...

linux中firewall与iptables防火墙服务

火墙firewall-cmd --state 查看火墙的状态firewall-cmd --get-active-zones 目前所处的域firewall-cmd --get-default-zone ...

linux常用的内核镜像格式

linux常用的内核镜像格式 Linux内核有多种格式的镜像,包括vmlinux.Image.zImage等. 1.     Linux内核镜像格式 1.1 vmlinux vmlinuz是可引导的. ...

Linux 2.6内核中新的锁机制--RCU

转自:http://www.ibm.com/developerworks/cn/linux/l-rcu/ 一. 引言 众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁 ...

Redhat Enterprise Linux中如何关闭SELinux?

转自http://www.cnitblog.com/lywaml/archive/2005/06/21/468.html 红帽企业 Linux 4 包括了一个 SELinux 的实现.SELinux ...

Linux中的SELinux详解--16

SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled)  几种模式之间的转换 在CentOS6.2 中安装intel 的c++和fortran 的编 ...

随机推荐

【JavaScript】JS 中 原始字符串 和 HTML 字符转换

参考资料:http://www.sjyhome.com/javascript/js-html-escape.html JS转换HTML转义符 SJY • 发表于:2013年10月05日 17:04 • ...

mysql order排序

使用order by  可以对结果进行排序, 默认情况下,order by 以升序进行排序,因此ASC 子句是可选的. DESC 是降序排列. 升序 select * from emp where d ...

PHP的高效IOC框架——CanoeDI

一个非常简单且实用的IoC框架,相对于其他的Ioc框架有如下特点: 高效: 框架使用了非常实用且高效的算法,使得框架本身对应用的影响微乎其微,且框架提供了C扩展,最大限度的将性能提升到最高. 配置简单 ...

linux基本工具使用(二)

1 查找某个目录下面一个所有的可执行文件,并且删除(对删除一个工程的可执行文件格外有用) find . -maxdepth 1 -file f -perm -111 | xargs rm

《深入浅出Node.js》第4章 异步编程

@by Ruth92(转载请注明出处) 第4章 异步编程 Node 能够迅速成功并流行起来的原因: V8 和 异步 I/O 在性能上带来的提升: 前后端 JavaScript 编程风格一致 一.函数式 ...

gdb调式

1.PCB版的相应目录下执行命令: gdbserver 10.18.13.84:5555 DvdPlayer 2.linux操作系统执行:(如果是android找到android项目路径下的gdb)m ...

OpenSSL加解密

http://www.caole.net/diary/des.html Table of Contents OpenSSL - DES Summary DES使用的例子 另一个带注释的例子 另一段Co ...

SQL SERVER中架构的理解

在sqlserver 2005中,可能大家在工作或学习的时候会经常发现这样一些问题,你使用一个账户在数据库中创建了一张表,却发现你自己创建的表却没有修改和查询的权限,这是一件很郁闷的事情,在sqlse ...

CSS position overflow float 属性 详解

position  overflow float 几个属性比较容易混淆,写一段代码详解各自具体情况: position在w3school的可能取值: 值 描述 absolute 生成绝对定位的元素,相 ...

ISupportInitialize的用处

[译]ISupportInitialize的用处   [译]ISupportInitialize的用处 注:本文是对How ISupportInitialize Can Help的翻译.原文作者编 ...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值