设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

iptables详解--转(7)

发布时间:2021-01-24 08:33 所属栏目:118 来源:网络整理
导读:iptables -I INPUT ?-p tcp --dport 22 -m state --state NEW -m recent--set --name SSHiptables -I INPUT ?-p tcp --dport 22 -m state --state NEW -m recent--update --seconds 300 --hitcount 3 --name SSH -j

iptables -I INPUT ?-p tcp --dport 22 -m state --state NEW -m recent--set --name SSHiptables -I INPUT ?-p tcp --dport 22 -m state --state NEW -m recent--update --seconds 300 --hitcount 3 --name SSH -j LOG --log-prefix "SSHAttach: "iptables -I INPUT ?-p tcp --dport 22 -m state --state NEW -m recent--update --seconds 300 --hitcount 3 --name SSH -j DROP

第三句是指SSH记录中的IP,300s内发起超过3次连接则拒绝此IP的连接。--update 是指每次建立连接都更新列表;--seconds必须与--rcheck或者--update同时使用--hitcount必须与--rcheck或者--update同时使用

(3).iptables的记录:/proc/net/xt_recent/SSH

也可以使用下面的这句记录日志:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent--update --name SSH --second 300 --hitcount 3 -j LOG --log-prefix "SSHAttack"

6.netfilter?第三方扩展模块,Layer 7

Layer 7能够识别大部分协议,比如QQ BT 迅雷 等

iptables/netfilter?是工作在tcp/ip协议栈上的一规则生成框架,iptables只是规则编写工具,让iptables识别layer 7

系统自带的iptables并不识别Layer 7 ,所以必须对其进行打补丁

1?向内核的netfilter打补丁

2?向iptables打补丁

(实验中我们使用红帽专用的源码专用内核)

使用到的命令:

diff ? ? #比较两个版本的不同并生成补丁

patch ? ?#实现将某个补丁文件,升级到当前比较老的版本上,使得其完成源码升级

diff命令可以对目录进行比较,能够将老目录和新目录的文件逐个进行比较,将不一致的文件逐个创建补丁

为自己的内核打补丁使其支持netfilter

RedHat src格式的rpm包:

http://ftp.redhat.com/redhat/linux/enterprise/6Server/en/os/SRPMS/

开始打补丁:

以下为所需要用的工具包

[root@test3 iptables]# ll总用量 88936-rw-r--r-- 1 rootroot ? ?546864 2月 ? 2 19:15 iptables-1.4.20.tar.bz2-rw-r--r-- 1 root root ? ? ?90347331 2月 ?2 20:10?kernel-2.6.32-358.el6.src.rpm-rw-r--r-- 1 root root ? ?1420502月 ? 2 19:14 l7-protocols-2009-05-28.tar.gz-rw-r--r-- 1 root root ? ?22754 2月 ?2 19:14 netfilter-layer7-v2.23.tar.bz2

解压netfilter-layer7-v2.23.tar.bz2 至/usr/src

[root@test3 iptables]# tar xf linux-2.6.32-358.el6.tar.bz2 -C /usr/src/

[root@test3 src]# cd /usr/src/

[root@test3 src]# ln -s linux-2.6.32-358.el6 linux[root@test3 src]# cd linux

[root@test3 linux]# cp /boot/config-2.6.32-358.el6.x86_64 .config

拷贝netfilter内核补丁

[root@test3 iptables]# tar xf netfilter-layer7-v2.23.tar.bz2 -C /usr/src/

[root@test3 netfilter-layer7-v2.23]# pwd/usr/src/netfilter-layer7-v2.23[root@test3 netfilter-layer7-v2.23]# lltotal 76-rw-r--r-- 1 1000 1000 ?7414 Jul 14 ?2009 CHANGELOG ? #补丁版本变化新增功能drwxr-xr-x 2 1000 1000 ?4096 Jul 14 ?2009iptables-1.4.3forward-for-kernel-2.6.20forward ? #补给iptables补丁-rw-r--r-- 1 1000 1000 59232 Aug 29 14:08 kernel-2.6.32-layer7-2.23.patch ? ? ? ? #补给内核的补丁-rw-r--r-- 1 1000 1000 ?2013 Jul 14 ?2009 README

[root@test3 netfilter-layer7-v2.23]# cd /usr/src/linux

#使用patch命令开始打补丁 将第一个斜线之前的所有内容去掉,直接把文件补当前内核源码数做比较

#../是父目录起始点

[root@test3 linux]# patch -p1 <../netfilter-layer7-v2.23/kernel-2.6.32-layer7-2.23.patch

开始编译内核

解决make menuconfig的依赖关系问题,首先安装ncurses

[root@test3 linux]# yum install ncurses-devel ?-y

进入内核编译界面

[root@test3 linux]# make menuconfig

按照图中内容依次选择

wKiom1Lw0BuxnuiZAAEzMD5g_ck371.jpg

wKioL1Lwz_eBuhqUAAB2tJxEw4Y747.jpg

wKioL1Lwz_jQ47SzAACEmwlc50Y876.jpg

wKiom1Lw0BzzbpjjAAB2T83mY3M477.jpg

按空格选择

wKioL1Lw0ALxURv2AABP4A36mnI097.jpg

默认是没有选择的,按空格键将其选择

保存退出

使用screen 模式来编译内核,以防终端掉线等一些特殊意外情况发生

[root@test3 linux]# screen?make

make modules install

make install

安装内核过程中,这个脚本会自动修改grub中的配置文件,而后重新启动当前系统就可以使用当前内核了。

由于内核中新增了对Layer7 的支持,但是系统上已经安装的iptables并不实现利用l7写规则,所以必须向iptables打补丁

打完补丁后,还必须将其编译至当前系统上

#编译好之后可以看到会生成我们自己编译的内核目录,如下所示:

[root@test3 ~]# ls /lib/modules/2.6.32-358.el6.x86_64?2.6.32-l7.1

编译完成后,查看gurb.conf确保新内核被加载进来

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读