linux防火墙需要指定协议类型么

linux防火墙需要指定协议类型么,第1张

Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中

Netfilter采用模块化设计,具有良好的可扩充性,提供扩展各种网络服务的结构化底层框架。Netfilter与IP协议栈是无缝契合,并允许对数据报进行过滤、地址转换、处理等 *** 作

一、Linux防火墙基础

Linux 的防火墙体系主要工作在网络层,针对 TCP/IP 数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。

体现在对包内的 IP 地址、端口等信息的处理上

Linux 系统的防火墙基于内核编码实现,具有非常稳定的性能和极高的效率,也因此获得广泛的应用

防火墙区域(zone)

过滤规则集合:zone

一个zone一套过滤规则,数据包经过某个zone进出站,不同zone规则不同,fierwalld将网卡对应到不同zone,默认9个区域(CentOS系统默认区域为public),有优先级,高优先级可以到优先级,低优先级到优先级需做规则过滤

区域

public(公共)

dmz(非军事区):内外网之间的一层网络区域,主要管理内网到外网的安全限制/访问规则

trusted(信任)

1.防火墙工具介绍

netfilter/iptables:IP信息包过滤系统,它实际上由两个组件 netfilter_和 iptables组成。主要工作在网络层,针对IP数据包,体现在对包内的IP地址、端口等信息的处理。

1.iptables

iptables是一种用来管理Linux防火墙的命令程序,它使插入、修改和删除数据包过滤表中的规则变得容易,通常位于/sbin/iptables目录,属于“用户态”(User. Space,又称为用户空间) 的防火墙管理体系。

iptables是基于内核的防火墙,其中内置了raw、mangle、 nat和filter四个规则表。表中所有规则配置后,立即生效,不需要重启服务。

核心意义:控制不同网络之间的数据包/流量数据的访问规则/约束

2.netfilter

netfilter是内核的一部分,由一些数据包过滤表组成,不以程序文或文件的形式存在,这些表包含内核用来控制数据包过滤处理的规则集,属于“内核态”(Kernel Space,又称为内核空间)的防火墙功能体系。

2.iptables的四表五链

iptables的作用是为包过滤机制的实现提供规则(或称为策略),通过各种不同的规则,告诉 netfilter 对来自某些源、前往某些目的或具有某些协议特征的数据包应该如何处理

iptables采用了表和链的分层结构,所以它会对请求的数据包的包头数据进行分析,根据我们预先设定的规则进行匹配来决定是否可以进入主机。

其中,每个规则表相当于内核空间的一个容器,根据规则集的不同用途划分为默认的四个表,在每个表容器内又包括不同的规则链,根据处理数据包的不同时机划分为五种链

表为处理动作( *** 作指令)

链为具体位置

1.规则表

表的作用:容纳各种规则链

表的划分依据:防火墙规则的作用相似

1.4个规则表

raw表:确定是否对该数据包进行状态跟踪

mangle表:为数据包设置标记

nat表:修改数据包中的源、目标IP地址或端口

filter表(默认表):确认是否放行该数据包(过滤)(核心)

2.规则链

**规则的作用:**对数据包进行过滤或处理

**链的作用:**容纳各种防火墙规则

**链的分类依据:**处理数据包的不同时机

1.5种规则链

INPUT: 处理入站数据包,匹配目标IP为本机的数据包

OUTPUT: 处理出站数据包,一般不在此链上做配置

FORWARD: 处理转发数据包,匹配流经本机的数据包

PREROUTING链: 在进行路由选择前处理数据包,用来修改目的地址,用来做DNAT。相当于把内网服务器的IP和端口映射到路由器的外网IP和端口上

POSTROUTING链: 在进行路由选择后处理数据包,用来修改源地址,用来做SNAT。相当于内网通过路由器NAT转换功能实现内网主机通过一个公网IP地址上网

3.默认表、链的结构示意图

在这里插入图片描述

在iptables 的四个规则表中,mangle 表 和raw表的应用相对较少

在iptables 的五个规则链中,一般用input比较多(限制进入),output用的比较少,forward一般用在代理服务器上

4.数据包过滤的匹配流程

1.规则表之间的顺序

raw ---->mangle ---->nat ---->filter

2.规则链之间的顺序

入站:PREROUTING->INPUT

来自外界的数据包到达防火墙后,首先被 PEROUTING 链处理(是否修改数据包地址等),然后进行路由选择(判断该数据包应该发往何处);如果数据包的目标地址是防火墙本机,那么内核将其传递给 INPUT 链进行处理(决定是否允许通过),通过后再交给系统上层的应用程序进行相应 *** 作

出站:OUTPUT->POSTROUTING

防火墙本机向外部地址发送数据包,首先被 OUTPUT 链处理,然后进行路由选择,再交给 POSTROUTING 链进行处理(是否修改数据包的地址等)

转发:PREROUTING->FORWARD->POSTROUTING

来自外界的数据包到达防火墙后,首先被 PREOUTING 链处理,然后再进行路由选择;如果数据包的目标地址是其他外部地址,则内核将其传递给 FORWARD 链进行处理(允许转发、拦截或丢弃),最后交给 POSTROUTING 链进行处理(是否修改数据包的地址等)

3.规则链内的匹配顺序

按顺序一次检查,匹配即停止(LOG策略例外)

若找不倒相匹配的规则,则按该链的默认策略处理

在这里插入图片描述

Redhat7.1系统在安装时会让用户选择防火墙安全级别,用户选定以后就会定义一些防火墙规则,而用户随后在使用时往往出现不能访问莫个服务的情况。取消redhat7.1的默认防火墙规则的方法如下:

/etc/rc.d/init.d/ipchains stop

/etc/rc.d/init.d/iptables stop

chkconfig --level 35 ipchains off

这样就会取消防火墙规则,用户重新启动以后也不会有防火墙规则定义。

配置linux下的防火墙的方法,可以通过以下步骤 *** 作来实现:

一、在Linux系统中安装Iptables防火墙

1、Linux发行版都预装了Iptables。您可以使用以下命令更新或检索软件包:

二、关闭哪些防火墙端口

防火墙安装的第一步是确定哪些端口在服务器中保持打开状态。这将根据您使用的服务器类型而有所不同。例如,如果运行的是Web服务器,则可能需要打开以下端口:

网络:80和443

SSH:通常在端口22上运行

电子邮件:110(POP3),143(IMAP),993(IMAP SSL),995(POP3 SSL)。

1、还原默认防火墙规则

为确保设置无误,需从一套新的规则开始,运行以下命令来清除防火墙中的规则:

2、屏蔽服务器攻击路由

可以运行下列标准命令来隔绝常见的攻击。

屏蔽syn-flood数据包:

屏蔽XMAS数据包:

阻止无效数据包:

3、打开所需端口

根据以上命令可屏蔽常见的攻击方式,需要打开所需端口。下列例子,供参考:

允许SSH访问:

打开LOCALHOST访问权限:

允许网络流量:

允许SMTP流量:

三、测试防火墙配置

运行下列命令保存配置并重新启动防火墙:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/5909541.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存