当前位置: 首页 > wzjs >正文

做wap网站数据分析师培训

做wap网站,数据分析师培训,外包做网站平台 一分钟,网站建设需要几十万目录 前言 一、iptables与netfilter的关系 二、iptables的表、链结构 (一)规则表 (二)规则链 三、数据包过滤的匹配流程 四、编写防火墙规则 (一)iptables的安装 (二)基本语…

目录

前言

一、iptables与netfilter的关系

二、iptables的表、链结构

(一)规则表

(二)规则链

三、数据包过滤的匹配流程

四、编写防火墙规则

(一)iptables的安装

(二)基本语法与数据包控制类型

(三)基本操作

(四)匹配条件

五、总结


 

前言

在网络安全愈发重要的今天,Linux系统凭借其稳定性和强大的功能,在服务器领域广泛应用。iptables作为Linux系统中一款关键的防火墙工具,能有效保护服务器免受恶意攻击。

一、iptables与netfilter的关系

在许多安全技术资料中,netfilter和iptables常被提及,却也容易让人混淆。netfilter是Linux内核中实现包过滤防火墙的内部结构,它运行在内核空间,并不以程序或文件的形式存在,属于“内核态”的防火墙功能体系。而iptables则是用来管理Linux防火墙的命令程序,通常位于/sbin/iptables目录下,属于“用户态”的防火墙管理体系 。简单来说,netfilter负责实际的数据包过滤工作,iptables则是用户用来配置和管理netfilter的工具,正确认识它们之间的关系,对理解Linux防火墙的工作方式至关重要。

二、iptables的表、链结构

(一)规则表

iptables通过四个不同的规则表来管理防火墙规则,每个表都有其特定的功能,且由独立的内核模块实现。

  1. filter表:主要用于数据包的过滤,根据设定的规则决定如何处理数据包。其对应的内核模块为iptable_filter,包含INPUT、FORWARD、OUTPUT三个链。例如,当我们想禁止特定IP访问服务器时,就可以在filter表的INPUT链中添加规则。
  2. nat表:即网络地址转换表,主要用于修改数据包的IP地址、端口号等信息,实现网络地址转换功能。对应的内核模块是iptable_nat,包含PREROUTING、POSTROUTING、OUTPUT三个链。在搭建网络地址转换网关时,就会用到nat表的相关功能。
  3. mangle表:用于修改数据包的TOS(服务类型)、TTL(生存周期),或者为数据包设置Mark标记,以实现流量整形、策略路由等高级应用。其内核模块为iptable_mangle,包含PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD五个链。不过,mangle表在日常应用中相对较少。
  4. raw表:这是iptables 1.2.9以后版本新增的表,主要用于决定是否对数据包进行状态跟踪。对应的内核模块是iptable_raw,包含OUTPUT、PREROUTING两个链,应用场景也相对有限。在本博客中,我们主要关注filter表和nat表的应用。

(二)规则链

iptables默认划分了五种不同的规则链,根据防火墙规则介入数据包处理的时机不同而区分。

  1. INPUT链:当收到访问防火墙本机地址的数据包(入站)时,会应用此链中的规则。比如,我们可以在INPUT链中设置规则,禁止某些恶意IP访问服务器。
  2. OUTPUT链:当防火墙本机向外发送数据包(出站)时,此链中的规则会被应用。例如,限制服务器对外访问特定的网站。
  3. FORWARD链:当接收到需要通过防火墙中转发送给其他地址的数据包(转发)时,会用到该链中的规则。在作为网络网关时,FORWARD链的规则设置就显得尤为重要。
  4. PREROUTING链:在对数据包做路由选择之前,应用此链中的规则。比如,可以在这个链中对数据包的目的地址进行修改。
  5. POSTROUTING链:在对数据包做路由选择之后,应用此链中的规则。常用于修改数据包的源地址。其中,INPUT、OUTPUT链主要用于“主机型防火墙”,保护服务器本机;FORWARD、PREROUTING、POSTROUTING链则多用于“网络型防火墙”,如网关服务器。

三、数据包过滤的匹配流程

数据包在iptables防火墙中的过滤匹配流程是一个涉及规则表、规则链以及各链内规则的有序处理过程,具体如下:

  1. 确定规则表处理顺序:iptables有filter、nat、mangle和raw四个默认规则表。当数据包到达防火墙时,并非所有表都会被处理,而是按照一定顺序筛选。通常,raw表优先处理,因为它主要用于决定是否对数据包进行状态跟踪,若在raw表中标记了不进行状态跟踪,后续相关操作会受影响。接着处理mangle表,它可修改数据包的TOS、TTL等字段。然后是nat表,用于网络地址转换。最后处理filter表,进行数据包的过滤操作。不过,实际处理中并非每个数据包都需经过所有表,例如某些只在本地处理、不涉及网络地址转换的数据包,可能不会经过nat表。
  2. 依据数据包流向选择规则链:在选定的规则表内,根据数据包的流向和处理阶段确定使用的规则链。
  • 入站数据包:访问防火墙本机地址的入站数据包,会进入INPUT链。比如外部主机尝试访问本地Web服务器,其数据包进入INPUT链接受规则检查。
  • 出站数据包:防火墙本机向外发送的数据包,进入OUTPUT链。像本地用户通过浏览器访问外部网站时,数据包从OUTPUT链流出。
  • 转发数据包:需要通过防火墙中转发送给其他地址的数据包,进入FORWARD链。当企业内部网络通过防火墙访问外部网络时,转发的数据包会经过FORWARD链。
  • 路由前处理:在对数据包做路由选择之前,会先进入PREROUTING链。此链可用于修改数据包的目的地址,例如实现目的地址转换。
  • 路由后处理:数据包完成路由选择之后,进入POSTROUTING链。常用于修改数据包的源地址,比如在NAT场景中改变数据包的源IP地址。
  1. 规则链内部规则匹配:数据包进入相应规则链后,链内规则按顺序依次匹配。遵循“匹配即停止”原则(LOG日志操作规则除外) 。比如在INPUT链中有多条规则,第一条规则检查数据包源IP地址,第二条检查目的端口。若某数据包源IP地址符合第一条规则的拒绝条件,立即按该规则处理,不再检查后续规则。若整个链中都未找到匹配规则,则按该链的默认策略处理,默认策略一般为ACCEPT或DROP。若INPUT链默认策略是DROP,数据包找不到匹配规则时就会被丢弃。
  2. 特殊情况处理:在匹配过程中,LOG规则比较特殊。它用于在/var/log/messages文件中记录日志信息,记录后数据包继续传递给下一条规则进行匹配,不会因LOG规则匹配而停止。比如在排查网络问题时,使用LOG规则记录特定数据包信息,以便分析网络流量情况。
  3. 流程图示:

四、编写防火墙规则

在使用iptables防火墙之前,需要先关闭firewalld防火墙,避免产生冲突。可以使用以下命令关闭并禁用firewalld:

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service

(一)iptables的安装

如果系统中未安装iptables,可以使用以下命令进行安装(以Open Euler 24.03操作系统为例):

[root@localhost ~]# yum -y install iptables iptables-services

安装完成后,启动iptables防火墙并设置开机启动:

[root@localhost ~]# systemctl start iptables.service
[root@localhost ~]# systemctl enable iptables.service

(二)基本语法与数据包控制类型

iptables命令的基本语法格式为:

iptables [-t表名]管理选项[链名][匹配条件][-j控制类型]

其中,表名和链名指定操作的对象,未指定表名时默认使用filter表;管理选项用于指定操作方式,如插入、增加、删除、查看等;匹配条件用来筛选数据包;控制类型决定数据包的处理方式,常见的有:

  • ACCEPT:允许数据包通过。
  • DROP:直接丢弃数据包,不给出任何回应信息。
  • REJECT:拒绝数据包通过,必要时会给数据发送端一个响应信息。
  • LOG:在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则。

例如,要在filter表的INPUT链中插入一条规则,拒绝发给本机的使用ICMP协议的数据包,可以执行以下命令:

[root@localhost ~]# iptables -t filter -I INPUT -p icmp -j REJECT

执行此操作后,其他主机将无法ping通本机。

(三)基本操作

  1. 添加规则:使用“-A”追加规则,“-I”插入规则。例如,在filter表INPUT链末尾添加允许TCP协议数据包通过的规则:
[root@localhost ~]# iptables -t filter -A INPUT -p tcp -j ACCEPT

使用“-I”时可指定顺序号,未指定则默认作为第一条。如添加两条规则:

[root@localhost ~]# iptables -I INPUT -p udp -j ACCEPT
[root@localhost ~]# iptables -I INPUT 2 -p icmp -j ACCEPT
  1. 查看规则:使用“-L”查看规则列表,结合“--line-numbers”可显示规则序号。查看filter表INPUT链所有规则及序号:
[root@localhost ~]# iptables -L INPUT --line-numbers

以数字形式显示地址和端口信息可加快命令执行速度:

[root@localhost ~]# iptables -n -L INPUT
  1. 删除、清空规则:使用“-D”删除一条规则,例如删除filter表INPUT链中的第三条规则:
[root@localhost ~]# iptables -D INPUT 3

使用“-F”清空所有规则:

[root@localhost ~]# iptables -F

(四)匹配条件

  1. 基本匹配:可以根据源地址、目标地址、协议等进行匹配。例如,拒绝转发源地址为192.168.1.11的数据包:
[root@localhost ~]# iptables -A FORWARD -s 192.168.1.11 -j REJECT
  1. 隐含匹配
  • 端口匹配:针对TCP或UDP协议,使用“--sport源端口”或“--dport目标端口”。允许为网段192.168.4.0/24转发DNS查询数据包:
[root@localhost ~]# iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT
[root@localhost ~]# iptables -A FORWARD -d 192.168.4.0/24 -p udp --sport 53 -j ACCEPT
  • ICMP类型匹配:针对ICMP协议,使用“--icmp-type ICMP类型”。禁止其他主机ping本机,但允许本机ping其他主机:
[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 8 -j DROP
[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p icmp -j DROP
  1. 显式匹配
  • 多端口匹配:使用“-m multiport --dports端口列表”或“-m multiport --sports端口列表”。允许本机开放25、80、110、143端口提供电子邮件服务:
[root@localhost ~]# iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT
  • IP范围匹配:使用“-m iprange --src-range IP范围”或“-m iprange --dst-range IP范围”。禁止转发源IP地址在192.168.4.21 - 192.168.4.28之间的TCP数据包:
[root@localhost ~]# iptables -A FORWARD -p tcp -m iprange --src-range192.168.4.21-192.168.4.28 -j DROP
  • MAC地址匹配:使用“-m mac --mac-source MAC地址”。根据MAC地址封锁主机访问本机:
[root@localhost ~]# iptables -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j DROP
  • 状态匹配:使用“-m state --state连接状态”。禁止转发与正常TCP连接无关的非--syn请求数据包:
[root@localhost ~]# iptables -A FORWARD -m state --state NEW -p tcp! --syn -j DROP

五、总结

通过对iptables防火墙的深入学习,我们了解了它与netfilter的关系,掌握了iptables的表、链结构和数据包过滤匹配流程,还学会了如何编写和管理防火墙规则。在实际应用中,我们可以根据不同的网络环境和安全需求,灵活配置iptables规则,为Linux系统构建一道坚固的网络安全防线。

http://www.dtcms.com/wzjs/51713.html

相关文章:

  • 天河区pc端网站建设网店推广的作用是什么
  • 做网站应该掌握的技术网站优化推广seo公司
  • ps做网站logo微商软文推广平台
  • 北京建设网站的百度关键词排名代做
  • 网站策划书3000app注册推广团队
  • 自己做的小网站分享网络推广客服好做吗
  • 自己怎么健网站视频下载免费广告发布平台
  • 南宁百度seo软件佛山百度快照优化排名
  • 网站建设创意文案互联网营销是什么
  • 百度站长工具添加不了站点搜索引擎推广方法
  • 10个网站做站群游戏推广文案
  • 政务公开与网站建设的矛盾企业策划
  • 专门做宣传单的网站推广方案模板
  • qq空间怎么跟网站做链接吗软文写作案例
  • 建设网站的页面设计市场推广计划书
  • 网站开发的国内外研究现状企业微信营销系统
  • 华硕建设公司网站写软文
  • 背景做网站公司为什么中国禁止谷歌浏览器
  • 做集团网站应注意什么搜狗推广登录平台官网
  • 寻找做日文网站网站怎样才能在百度被搜索到
  • wordpress媒体库里文件湖南长沙seo
  • 南通住房和城乡建设局网站抖音seo代理
  • 武汉做网站多钱网站页面的优化
  • 奢侈品 网站建设方案怎么关键词优化网站
  • 中国购物网站排行榜武汉seo全网营销
  • 网站建设教程浩森宇特互动网站建设
  • 网站集约化百度快照是什么意思?
  • 建成学校网站体验营销案例分析
  • 网络营销的解释广州seo顾问seocnm
  • 杭州房产网 官方鄞州seo服务