Iptables + L7 +squid 实现防火墙功能

Iptables + L7 +squid 实现防火墙功能

为iptables增加layer7补丁(Linux2.6.25内核)

################################################################

系统环境:RHEL5 [ 2.6.18-8.el5xen ]

软件环境:

http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.19.tar.bz2

http://www.netfilter.org/projects/iptables/files/iptables-1.4.2.tar.bz2

http://ie.archive.ubuntu.com/sourceforge/l/l7/l7-filter/netfilter-layer7-v2.20.tar.gz

http://ie.archive.ubuntu.com/sourceforge/l/l7/l7-filter/l7-protocols-2008-10-04.tar.gz

目标功能:

为iptables增加layer7补丁,实现应用层过滤。

################################################################

一、重新编译内核

    1、合并kernel+layer7补丁

shell> tar jxvf linux-2.6.25.19.tar.gz2 -C /usr/src/

shell> tar zxvf netfilter-layer7-v2.20.tar.gz -C /usr/src/

shell> cd /usr/src/linux-2.6.25.19/

shell> patch -p1 < /usr/src/netfilter-layer7-v2.20/kernel-2.6.25-layer7-2.20.patch

    2、配置新内核

shell> cp /boot/config-2.6.18-8.el5 .config    //偷个懒,沿用旧的内核配置

shell> make menuconfig

    //配置内核时,在“Networking ---> Networking Options ---> Network Packet filtering framework (Netfilter) ”处主要注意两个地方:

    1) ---> Code Netfilter Configuration

        //将“Netfilter connection tracking suport (NEW)”选择编译为模块(M),需选取此项才能看到layer7支持的配置。

        //将layer7、string、state、time、IPsec、iprange、connlimit……等编译成模块,根据需要看着办。

    2) ---> IP: Netfilter Configuration

        //将“IPv4 connection tracking support (require for NAT)”编译成模块。

        //将“Full NAT”下的“MASQUERADE target support”和“REDIRECT target support”编译成模块。

    3、编译及安装模块、新内核

shell> make && make modules_install && make install

        //编译安装成后后,重启选择使用新的内核(2.6.25.19)引导系统

二、重新编译iptables

    1、卸载现有iptables

shell> rpm -e iptables iptstat --nodeps

    2、合并iptables+layer7补丁

shell> tar jxvf iptables-1.4.2.tar.bz2 -C /usr/src/

shell> cd /usr/src/netfilter-layer7-v2.20/iptables-1.4.1.1-for-kernel-2.6.20forward/

shell> cp libxt_layer7.c libxt_layer7.man /usr/src/iptables-1.4.2/extensions/

3、编译安装

shell> cd /usr/src/iptables-1.4.2/

shell> ./configure --prefix=/ --with-ksource=/usr/src/linux-2.6.25.19

shell> make && make install

    4、安装l7-protocols模式包

shell> tar zxvf l7-protocols-2008-10-04.tar.gz -C /etc/

shell> mv /etc/l7-protocols-2008-10-04 /etc/l7-protocols

三、layer7规则示例

    1、layer7 match

shell> iptables -A FORWARD -m layer7 --l7proto qq -j DROP

shell> iptables -A FORWARD -m layer7 --l7proto msnmessenger -j DROP

shell> iptables -A FORWARD -m layer7 --l7proto msn-filetransfer -j DROP

shell> iptables -A FORWARD -m layer7 --l7proto xunlei -j DROP

shell> iptables -A FORWARD -m layer7 --l7proto edonkey -j DROP

shell> iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP

    2、string match

shell> iptables -A FORWARD -p udp --dport 53 -m string --string "tencent" --algo bm -j DROP

shell> iptables -A FORWARD -p udp --dport 53 -m string --string "verycd" --algo bm -j DROP

shell> iptables -A FORWARD -p tcp --dport 80 -m string --string "sex" --algo bm -j DROP

    3、state match

shell> iptables -A FORWARD -m state --state NEW -p tcp ! --syn -j DROP

shell> iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    4、connlimit match

shell> iptables -A FORWARD -p tcp --syn -m connlimit --connlimit-above 100 --connlimit-mask 24 -j DROP

    5、time match

shell> iptables -A FORWARD -p tcp --dport 80 -m time --timestart 8:00 --timestop 17:00 --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT

案例

三个部门

工程部门 192.168.145.10-192.168.145.20

软件部门 192.168.145.21-192.168.145.30

经理办公室 192.168.145.31-192.168.145.40

工程部门 上班时间 ftp服务器 不允许聊天 qq 不允许http上网

下班后无限制

软件部门 上班时间 http 新浪 中华网站 无限制

音乐站点 www.552211.com 限制内容 【无声音】

不允许聊天 qq

下班后无限制

经理办公室 上班时间 http qq smtp pop3

下班后无限制

配置

时间: 2024-12-23 07:18:15

Iptables + L7 +squid 实现防火墙功能的相关文章

网络基础:iptables与layer 7协议的分析与应用

本次对iptabbles+l7的介绍分为两部分: 第一部分------对系统升级打l7补丁 第二部分------对iptables+l7的应用 第一部分:对系统升级打补丁 为了使用l7层协议进行控制,我们要在内核中打补丁文件,需要重新编译内核文件,下面的每一步都需要小心谨慎,不然就要重头开始了~需要软件的朋友可以Q395061796 软件需求: 1. 拆解内核文件与layer7文件: [root@zhangc ~]# tar jxvf linux-2.6.25.19.tar.bz2 -C /us

linux平台下防火墙iptables原理(转)

原文地址:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646466.html iptables简介     netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptables基础     规则(rules)其实就是网络管理员预定义的条件,规

Netfilter/Iptables的防火墙功能介绍

防火墙介绍 Disclaimer: 下面描述的有些内容可能不完全正确.但希望对你理解iptables有帮助,如果你发现了错误,请通知我. 注意,此说明是非拷贝的(例如在GPL).如果你想做任何修改.发布.拷贝.引用,请先联系我.(哈哈,不管了) 什么是防火墙? 简单说,防火墙就是用来保护你的网络的一台主机,它对来自internet和你的内网(受保护)之间的通讯进行限制,反过来亦可. 非防火墙功能 误区 - 防火墙并不能保证你的网络绝对安全 堡垒主机(A bastion host)- In an

linux中iptables配置学习笔记

iptables是一个Linux下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个灵活强劲的防火墙+nat系统,小有心得,看了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究了一段时间的iptables同时也用了很久,有点滴经验,写来供大家参考,同时也备日后自己翻阅. 首先要说明的是,iptables操作的是2.4以上内核的netfilter.所以需要linux的内核在2.4以上.其功能与安全性远远比其前辈 ipfwadm,ipch

Linux下针对路由功能配置iptables的方法详解

  作为公司上网的路由器需要实现的功能有nat地址转换.dhcp.dns缓存.流量控制.应用程序控制,nat地址转换通过iptables可以直 接实现,dhcp服务需要安装dhcpd,dns缓存功能需要使用bind,流量控制可以使用tc,应用程序控制:例如对qq的封锁可以使用 netfilter-layer7-v2.22+17-protocols-2009-05-28.tar.gz来实现 1.网络规划 操作系统是centos5.8 2.安装dhcpd 代码如下: yum install dhcp

动态iptables防火墙dynfw

防火墙是一个非常重要的网络安全工具,但是如果在需要对防火墙规则进行快速.复杂的动态修改时你该如何实现呢?如果你使用本文介绍的Daniel Robbins 的动态防火墙脚本,这将是一件非常容易的工作.你可以利用这些脚本来增强你网络的安全性和对网络攻击的实时响应性,并基于该脚本进行自己的创造性设计. 理解动态防火墙的脚本能够带来的益处的最好方法就是看它们在实际中的应用.假设我是某个ISP的系统管理员,我最近架设了一个基于Linux的防火墙来保护我的客户和内部系统,防止外部恶意用户的攻击.为了实现该系

动态iptables 防火墙

防火墙非常有趣,但在需要对防火墙规则进行快速且复杂的更改时,您会做些什么?很简单.请使用本文中演示的 Daniel Robbins 的动态防火墙脚本.可以使用这些脚本来增加网络安全性和响应性,并激发您自己的创造性设计. 了解动态防火墙脚本好处的最佳方法是在运行时查看它们.要这样做,让我们假设我是一家 ISP 的系统管理员,最近我建立了基于 Linux 的防火墙,用于保护我的客户和内部系统免遭因特网上恶意用户的攻击.为了实现这个目的,我的防火墙使用新的 Linux 2.4 iptables 有状态

Linux Squid的透明代理

一.常用acl列表类型 acl定义实例 acl LAN1 src 192.168.1.0/24 acl PC1 src 192.168.1.66/32 acl Blk_Domain dstdomain .qq.com .kaixin001.com acl Work_Hours time MTWHF 08:30-17:30 acl Max20_Conn maxconn 20 acl Blk_URL url_regex -i ^rstp:// ^mms:// acl Blk_Words urlpat

Linux squid代理的基本概念

一.squid服务器基本功能 1.提供对HTTP和FTP协议的代理服务 2.缓存代理的内容,提高客户端访问网站的速度,节约流量 3.对客户端地址进行访问控制,限制允许访问squid服务器的客户机 4.对目标地址进行访问控制,限制客户端允许访问的网络 5.根据时间进行访问控制,限定客户端可以使用代理服务器的时间. 更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/proxy/ 二.squid的代理方式 1.普通代理服务 标准的,