iptables/netfilter基于layer7实现应用层过滤

前言

做为网络管理员,对P2P、QQ、酷狗等软件是又爱又恨,大多数公司为了提高工作效率,禁止公司员工登陆QQ、看视频等,在市场上买专门的上网行为管理设备,随便一种都是价格不菲,而使用linux来做网关一样可以禁止qq、酷狗等软件,为实现此功能就需要为iptables/netfilter添加layer7模块,而iptables/netfilter是基于内核的,所以需要重新编译内核。

编译过程

环境介绍

系统环境:CentOS6.6

所需源码包:kernel-2.6.32-504.16.2.el6.src.rpm(红帽ftp站点提供)

iptables-1.4.20.tar.bz2

netfilter-layer7-v2.23.tar.bz2

l7-protocols-2009-05-28.tar.gz

编译内核

解决依赖关系

[[email protected] ~]# yum groupinstall "Development Tools" "Server Platform Development" -y

创建所需用户并安装

将源码解压到指定目录

为内核打补丁

开始编译

首先选择此项

进入此项设定参数

下拉,选择此项并进入

进入核心过滤设置

启用layer7支持

返回第一层,进入此项

取消模块签名校验

返回,进入API加密设置

取消内核签名校验,否则无法编译安装

保存退出

编译安装

[[email protected] linux]# yum install screen -y #为了防止意外,我们在screen里编译安装
[[email protected] linux]# screen
[[email protected] linux]# make
[[email protected] linux]# make modules_install
[[email protected] linux]# make install

看一下grub.conf文件,新内核的信息已经写入了

以新内核启动

编译iptables

解压并打补丁

备份脚本文件,卸载旧版本

编译安装

[[email protected] ~]# cd iptables-1.4.20
[[email protected] iptables-1.4.20]# ./configure --prefix=/usr --with-ksource=/usr/src/linux
[[email protected] iptables-1.4.20]# make && make install

还原脚本

修改脚本

将所有/sbin/$IPTABLES替换为/usr/sbin/$IPTABLES

查看iptables版本

为layer7模块提供其所识别的协议的特征码

装载模块

添加内核参数,使之永久有效

[[email protected] ~]# vim /etc/sysctl.conf 

net.netfilter.nf_conntrack_acct = 1

[[email protected] ~]# sysctl -p

应用层过滤测试

案例要求

假设内网主机由服务器代理上网,为提高工作效率,禁止内网用户登录QQ

代理服务器:192.168.1.254(可访问网络),172.16.10.254

内网客户端:172.16.10.12

网络设置

172.16.0.0/16的网段在VMnet1内

开启服务器路由转发功能

[[email protected] ~]# vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

[[email protected] ~]# sysctl -p

设置防火墙规则,使内网可访问网络

查看是否可以访问网络

我们找一个小号登录QQ测试

此时是可以登录的,我们下线,设置防火墙规则,禁用QQ

再次登录试试

登录失败,我们看一下防火墙,有没有匹配到报文

看,已经有报文被拒绝了,至此iptables基于layer7实现应用层过滤以实现,需要禁止其他程序,请自行添加相应规则

The end 

基于layer7的应用层防火墙就说到这里了,除了编译内核时比较费时间外,应该没什么别的麻烦的问题,希望本文可以帮到有需要的小伙伴,配置过程中遇到问题可留言。以上仅为个人学习整理,如有错漏,大神勿喷~~~

时间: 2024-12-26 08:03:34

iptables/netfilter基于layer7实现应用层过滤的相关文章

(转载) iptables及使用layer7七层过滤

一:简介 iptables 是与 Linux 内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 LAN. 服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置.netfilter/iptables IP 信息包过滤系统是一种功能强大的工具,可用于添加.编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则.这些规则存储在专用的信 息包过滤表中,而这些表集成在 Linux 内核中.在信息包

IPtables/NetFilter

前提知识 任何主机若要与非同网络中的主机通信,则必须将报文发送到默认网关: 对Linux而言,IP地址是属于主机(内核中)的,不属于网卡,只要属于当前主机的IP地址间,都可直接响应,不称为转发 私有地址在路由器上是不允许被路由的 防火墙的类型与作用的链 主机防火墙:一般使用INPUT,OUTPUT链来过滤进入和发出的报文 网络防火墙:一般使用PREROUTING,FORWARD,POSTROUTING链来转发经过的报文 命令参数 : iptables [-t 表] -命令 匹配   操作说明(1

Netfilter/Iptables Layer7 应用层过滤策略部署

Netfilter/Iptables Layer7 应用层过滤策略部署 环境:内核版本:Linux version 2.6.32-431.el6.x86_64 iptables版本:iptables v1.4.7 gcc版本:4.6.1 软件准备:wget http://download.clearfoundation.com/l7-filter/netfilter-layer7-v2.23.tar.gz wget https://www.kernel.org/pub/linux/kernel/

iptables/netfilter、?tcp_wrapper

iptables/netfilter: Firewall:防火墙,隔离工具:工作于主机或网络边缘,对于进出本主机或本网络的报文根据事先定义的检查规则作匹配检测,对于能够被规则匹配到的报文作出相应处理的组件:主机防火墙网络防火墙 软件防火墙(软件逻辑):硬件防火墙(硬件和软件逻辑):NetScreen,CheckPoint,... iptables(netfilter)netfilter:kernelhooks function(钩子函数):iptables:clirules untility h

CentOS 7下 iptables/netfilter使用详解(一)

一.理论部分  1.什么是防火墙? 防火墙:(英文:Firewall),隔离工具 防火墙其实就是一个组件,这个组件能够屏蔽来自于互联网,或来自于企业内部的用户的攻击操作(DDos攻击,端口扫描等等):主要目的是防范非授权的访问的!它工作于网络或主机的边缘(通信报文的进出口),对于进出本网络或主机的报文根据事先定义的检查规则做匹配检测,对于能够被规则匹配到的报文做出相应处理,时刻检查出入防火墙的所有数据包,决定拦截或是放行哪些数据包. 它需要对我们主机上的或者是网络内的所有主机上的网络通信操作做一

Centos7 iptables/netfilter 详解

iptables/netfilter netfilter:在Linux内核中的一个软件框架,用于管理网络数据包.不仅具有网络地址转换(NAT)的功能,也具备数据包内容修改.以及数据包过滤等防火墙功能.利用运作于用户空间的应用软件,如iptable等,来控制Netfilter,系统管理者可以管理通过Linux操作系统的各种网络数据包 iptables:一个运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的流动与转送.在大部分的Linux系统上面,iptabl

Linux数据包路由原理、Iptables/netfilter入门学习

相关学习资料 https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html http://zh.wikipedia.org/wiki/Netfilter http://www.netfilter.org/projects/iptables/ http://linux.vbird.org/linux_server/0250simple_firewall.php http://linux.vbird.o

Linux系统中的防火墙的实现:iptables/netfilter

防火墙:包括软件防火墙(基于iptables/netfilter的包过滤防火墙)和硬件防火墙,在主机或网络边缘对经由防火墙的报文以一定条件进行检测过滤的一系列组件. Linux系统中的防火墙的实现:利用iptables/netfilter既可以实现主机防火墙(安全服务范围仅限于当前某台主机),又可以实现网络防火墙(安全服务范围为当前局域网).netfilter:Linux系统内核中防火墙的框架,防火墙功能实现的主体:iptables:为netfilter编写数据传输的匹配规则的用户空间中的应用程

Linux防火墙iptables/netfilter(一)

防火墙大家都不陌生,或者说都听说过,现实中的防火墙是将一个区域内的火隔离开来使之不蔓延到另一个区域,计算机领域的防火墙与之功能类似,也是为了隔离危险.在如今广阔的互联网领域内,我们一般会相信一个叫做"黑暗森林"的法则.对于这个法则大家可以去搜索一下,它是在<三体>系列小说中写出来的,大致意思是在黑暗丛林中我们无法判断对方对自己是否有恶意, 对方也无法判断我们是否有恶意,所以一见面就把对方灭掉.互联网中的恶意攻击者太多了,我们无法确定它们都是水更无法把它们灭掉,但是我们可以把