防火墙系统通常由什么组成/开源防火墙系统-手把手教黑客笔记

防火墙系统通常由什么组成/开源防火墙系统-手把手教黑客笔记

开源防火墙系统_防火墙系统_防火墙系统通常由什么组成

关注上方浩道Linux,回复资料,即可获取海量Linux、、网络通信、网络安全等学习资料!

前言

大家好,这里是浩道Linux,主要给大家分享Linux、、网络通信、网络安全等相关的IT知识平台。

本文浩道跟大家分享Linux系统硬核干货,通过对其概念、工作流程、其结构、其添加规则相关用法去开展,让大家在Linux系统中的安全防范再添一块技能砖!

防火墙系统通常由什么组成_开源防火墙系统_防火墙系统

一、简介

是linux系统自带的一款优秀,并且是开放源代码的完全的自由的软件工具。这是一款基于包过滤的防火墙工具,具有功能强大、使用灵活等特点,可以对流入和流出服务器的数据包进行灵活控制。

1、表()的概念

表()是用来存放链的,即看作是链的一个容器。

2、链()的概念

链()是用来存放规则的,即看作是规则的一个容器。

3、规则()的概念

规则()就是用于过滤相关数据包的一种规范。

二、工作流程

1、防火墙是一层层过滤的,就是按照配置规则的顺序从上到下,从前到后进行过滤的。

2、如果匹配上了相应的规则,即明确表明是阻止还是通过,此时数据包就不再向下匹配新的规则了。

3、如果所有的规则中没有明确表明是阻止还是通过这个数据包,也就是没有匹配上规则,则继续向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。

4、防火墙的默认规则是对应链表的所有规则执行完成后,才会执行的规则。

三、中的四表五链

1、中存在的4种表:

1):主要用于过滤的,控制数据包是否允许进出及转发。

表中的链有INPUT、、。

2)nat:主要用于控制数据包中地址转换,即来源IP和端口与目的IP和端口

的转换。

nat表中的链有、INPUT、、。

3):主要用于修改数据包中的原数据,如打标记。

表中的链有、INPUT、、、

4)raw:主要用于控制nat表中连接追踪机制的启用状况。

raw表中的链有、。

2、中的存在的5种链,这里必须是大写:

1):指的是进入路由之前的数据包。

2)INPUT:指的是过滤进来的数据包。

3):指的是转发。

4):指的是发出去的数据包。

5):指的是路由之后修改的数据包。

四、安装

是或版本自带的软件,而是不自带的,因为默认安装了。所以我们需要安装下。

1、yum安装命令如下:

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

2、启动防火墙

先关闭系统自带的,再启动服务,具体命令如下所示:

[root@haodaolinux1 ~]# systemctl stop firewalld[root@haodaolinux1 ~]# systemctl disable firewalld[root@haodaolinux1 ~]# systemctl start iptables

3、配置文件

配置文件位置/etc//-

记录规则文件位置/etc//

五、命令参数

1、可以通过 --help查看具体参数用法,以下罗列常见参数:

1、-n:以数字形式显示地址及端口等相关信息;

2、-L:列出一个链或所有链中的规则相关信息;

3、-v:以更详细的方式显示规则相关信息;

4、-F:清空所有的规则信息;

5、-D:删除链内指定内容(如序号)的一条规则信息;

6、-P:为指定的链设置默认规则;

7、-t:指定表名,如果不指定-t,默认使用表;

8、-I:在链的开头或者指定序号插入一条规则信息;

9、-A:在链的末尾追加一条规则信息;

10、--line-:用于查看规则时,显示其在链上的相应的编号;

11、-S:用于显示指定链的所有规则信息;

12、-m --src-range:用于IP匹配,指定多个连续的源IP地址;

13、-m --:用于端口匹配,指定多个源端口;

14、-m --:用于端口匹配,指定多个目的端口;

15、-m mac --mac-:用于mac地址匹配,指定某个mac地址;

2、参数使用实例讲解:

1、默认查看规则,命令如下:

[root@haodaolinux1 ~]# iptables -L

2、指定表名查看规则,命令如下:

[root@haodaolinux1 ~]# iptables -t nat -L

3、以数字形式显示地址及端口等相关信息,命令如下:

[root@haodaolinux1 ~]# iptables -nL

4、显示规则行号,命令如下:

[root@haodaolinux1 ~]# iptables -nL --line

5、清空所有规则信息,命令如下:

[root@haodaolinux1 ~]# iptables -F

6、清空某一个链里面的规则信息,命令如下:

[root@haodaolinux1 ~]# iptables -F 链名

7、将规则保存到文件中,命令如下:

[root@haodaolinux1 ~]# service iptables save

[root@haodaolinux1 ~]# iptables-save > /etc/sysconfig/iptables

六、语法详解

1、基本语法格式,如下命令所示:

iptables -t 表名 动作规则 [链名] [匹配条件] [-j 控制类型]

参数解释:

-t:用于指定表名,不写默认是使用表;

动作规则:表示要添加规则还是删除规则;

常用动作规则有如下:

-D:表示删除规则;

-R:表示修改规则;

-A:表示追加规则,默认追加到链的末尾;

-I:表示插入规则,在链的开头或者指定序号处插入一条规则;

-N:表示自定义链;

-P(大写):表示修改默认规则;

[链名]:表示实际链名;

[匹配条件]:表示实际匹配条件,可以匹配数据包ip,端口,tcp等特征,如通过-p(小写)指定报文类型;

[-j 控制类型]:用于控制类型,表示通过前面匹配到之后是丢弃还是保留相关数据包的处理方式;

常用的控制类型有如下:

:表示允许;

:表示拒绝;

DROP:表示丢弃;

2、规则添加实例

1、指定表INPUT链末尾添加一条规则,命令如下:

[root@haodaolinux1 ~]# iptables -t filter -A INPUT -p udp -j ACCEPT

查看规则,如下图所示:

开源防火墙系统_防火墙系统通常由什么组成_防火墙系统

2、在INPUT链中第一行添加1条规则,命令如下所示:

[root@haodaolinux1 ~]# iptables -I INPUT -p tcp -j ACCEPT

查看规则,如下图所示:

开源防火墙系统_防火墙系统_防火墙系统通常由什么组成

3、在INPUT链中第2行添加一条规则,如下命令所示:

[root@haodaolinux1 ~]# iptables -I INPUT 2 -p icmp -j ACCEPT

查看规则,如下图所示:

4、删除INPUT链中的第一条规则,命令如下所示:

[root@haodaolinux1 ~]# iptables -D INPUT 1

查看规则,如下图所示:

防火墙系统_开源防火墙系统_防火墙系统通常由什么组成

注意,以上添加删除相关规则,需要保存,否则重启防火墙后规则将丢失。

3、结合匹配条件规则添加实例:

1、本机上添加一条防火墙规则,禁止其它主机ping通本机,命令如下所示:

[root@haodaolinux1 ~]# iptables -I INPUT -p icmp -j REJECT

2、本机上添加一条防火墙规则,拒绝192.168.3.110的主机通过SSH连接本机,命令如下所示:

[root@haodaolinux1 ~]# iptables -I INPUT -s 192.168.3.110 -p tcp --dport 22 -j REJECT

这里规则主要是拒绝192.168.3.100主机访问本机的22端口;

3、本机上添加一条防火墙规则,拒绝192.168.3.110的主机访问本机的22端口及3306端口,命令如下所示:

[root@haodaolinux1 ~]# iptables -I INPUT -s 192.168.3.110 -p tcp --dport 22:3306 -j REJECT

4、本机上添加一条防火墙规则,禁止多个主机ping通本机(通过逗号隔开多个主机),命令如下所示:

[root@haodaolinux1 ~]# iptables -t filter -I INPUT -s 192.168.3.110,192.168.3.119 -p icmp -j REJECT  

5、本机上添加一条防火墙规则,丢弃192.168.4.0网段的数据包,命令如下所示:

[root@haodaolinux1 ~]# iptables -I INPUT -s 192.168.4.0/24 -j DROP

6、本机上添加一条防火墙规则,拒绝192.168.3.110-192.168.3.140连续的主机通过SSH连接本机,命令如下所示:

[root@haodaolinux1 ~]# iptables -I INPUT -p tcp --dport 22 -m iprange --src-range 192.168.3.110-192.168.3.140 -j REJECT

这里主要通过-m --src-range进行源IP地址的指定;

7、本机上添加一条防火墙规则,拒绝192.168.3.110的主机访问本机的22端口及3306端口,命令如下所示:

[root@haodaolinux1 ~]# iptables -I INPUT -p tcp --dport 22 -m multiport --dports 22,3306 -s 192.168.3.110 -j REJECT 

这里主要通过-m --进行目的端口的指定;

4、规则修改实例

1、首先本机上新增规则,在已有规则基础上进行修改:

[root@haodaolinux1 ~]# iptables -t filter -I INPUT -s 192.168.3.110 -p icmp -j REJECT               [root@haodaolinux1 ~]# iptables -t filter -I INPUT -s 192.168.3.110 -p tcp --dport 22 -j REJECT 

查看已有规则,如下图所示:

开源防火墙系统_防火墙系统通常由什么组成_防火墙系统

2、本机上修改第二条规则,使得192.168.3.110主机可以ping通本机,命令如下所示:

[root@haodaolinux1 ~]# iptables -R INPUT 2 -p icmp -s 192.168.3.110 -j ACCEPT

查看已修改规则,如下图所示:

防火墙系统_防火墙系统通常由什么组成_开源防火墙系统

5、针对icmp类型匹配制定规则实例

众所周知,禁止ping策略原则无非就是禁止本机ping其它主机,或者禁止其它主机ping本机。

中可以通过策略指定网卡的流量进入或者网卡的流量出去。分别通过以下两个参数进行指定。

-i:即--in--:用于在INPUT链配置规则中,指定从哪一块网卡进入的流量;

-o:即--out--:用于在链配置规则中,指定从哪一块网卡出去的流量;

ping对应的报文类型是icmp,而icmp报文类型众多,这里针对以下实例做两个类型讲解。

0:Echo reply,对应的是ping的应答报文;

8:Echo ,对应的是ping的请求报文;

中可以通过--icmp-type来指定相关的icmp报文类型;

1、新增规则,使得本机不能ping通其它主机,其它主机可以ping通本机,本机也可以自己ping通自己,命令如下所示:

[root@haodaolinux1 ~]# iptables -A INPUT -i eno16777736 -p icmp --icmp-type 0 -j DROP [root@haodaolinux1 ~]# iptables -A OUTPUT -o eno16777736 -p icmp --icmp-type 8 -j DROP

~

网络安全学习,我们一起交流

~

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值