iptables 防火墙

防火墙:隔离功能

部署在网络边缘或者主机边缘,在工作中,防火墙的主要作用,决定哪些数据可以被外网使用,以及哪些数据可以进入内网访问

主要工作在网络层

安全技术

1.入侵检测系统:检测出威胁,病毒,木马,不会阻断网络访问,时候提供报警,监督,类似于监控,看着你,但是不干预,出了事再来找你

2.入侵防御系统:一旦检测出威胁,会立即予以阻断,会主动的方式保护网络安全,透明模式工作的,一般都是用在线部署的方式(所有数据进出的必经之路)

现在市面上,大部分防火墙都是上述二者的结合体

防水墙:waterwall 防止信息泄露(实时监控)

软件防火墙:360,金山毒霸,iptables,firewall

硬件防火墙:路由器,交换机,三层交换机

保护范围:

1.主机防火墙:服务范围就是当前自己的主机

2.网络防火墙:必经之路

实现方式

1.硬件防火墙,既有专业的硬件来实现防火墙功能,又有软件来进行配合

2.软件防火墙:代码实现,判断

网络协议划分:
网络层:数据包过滤防火墙

应用层(代理服务器)设置数据的进出

linux防火墙:firewalld   centos7专门自带的

                     iptables 数据包过滤防火墙

                     selinux:自带的安全工具

集成在一个内核中,net filter组件

iptables数据包过滤防火墙

工作在网络层,正对数据包继续宁过滤和限制 

iptables属于用户态

net filter 属于内核态

过滤数据包:ip地址 端口 协议(tcp udp),都可以在iptables中进行配置,可以限制,也可以放行

iptables的构成和工作机制

组成部分:四表五链组成(selinux,也是一个表,不在我们讨论范围之内)

四表:

raw:连接跟踪机制,加快封包穿过防火墙的速度

mangle:数据标记

nat:地址转换表

filter(默认表):过滤规划表,根据规则来定义或者过滤符合条件的数据包

四表的优先级 security----->raw----->mangle---->nat----->filter

五链:

INPUT 处理数据包进入本机的规则

OUTPUT 处理数据包发出的规则,一般不做处理

PREROUTING 处理数据包进入的规则

POSTROUTING 处理数据包离开本机之后的规则  结合地址转换使用

FORWARD 处理数据转发的规则

iptables的规则

表里面由链,链里面有规则,规则就是自定义的对于数据包的控制命令

匹配顺序:

1.根据表的优先级匹配,在表中从上到下进行检查,找到匹配规则立即停止,不在表中向下继续查找,如果匹配不到规则,按照链的默认规则进行处理

2. 报文流向

流入本机:prerouting ------->iuput---------->用户进程(httpd服务)------请求--------响应--------->数据要返回用户
流出本机:httpd----------->响应--------->output--------------->postrouting-(地址转换)------------>用户
转发:数据包进来,肯定不是同一网段,路由转发-------->forward--------->数据包出去,不允许转发,数据包直接丢弃。

iptables的命令格式:

iptables [ -t 表明](不指定表名,默认是filter)管理选项 [链名] [匹配条件] [-j 控制类型]

管理选项:

-A 在链的末尾追加一条,添加

-I 在链中插入一条新的规则,可以指定序号(后面跟上数字,表示序号)

-P 修改链的默认策略

-D 删除

-R 修改替换规则

-L 查看链中的规则

-vnL

v:显示详细信息  n:把规则以数字形式进行展示

-F 清空链中的所有规则,慎用

匹配条件:

-p 指定匹配的数据包协议类型

s 指定匹配的数据包源ip地址

-d 指定匹配数据包目的ip地址

-i 指定数据包进入本机的网络接口

-o 指定数据包离开本机使用的网络接口

--sport 指定源端口号

--dport 指定目的端口号

控制类型:

ACCEPT:允许数据包通过

DROP: 拒绝,直接丢弃,不给出任何信息回应

REJECT:拒绝,会给个响应信息

SNAT: 修改数据包的源ip地址

DNAT: 修改数据包的目的地址

不加-t指定,默认就是filter

iptables 防火墙_第1张图片

 加-t指定

iptables 防火墙_第2张图片

清空链中数据,慎用

拒绝ping

iptables 防火墙_第3张图片

-I链中指定插入新规则(根据表的优先级匹配,在表中从上到下进行检查,找到匹配规则立即停止)

iptables 防火墙_第4张图片

 在规则前面显示编号

iptables 防火墙_第5张图片

指定端口,端口要写在协议后 (-p tcp --dport 80)

指定ip地址,写在协议前(-s 192.168.88.20 -p icmp)

指定多个ip地址

iptables 防火墙_第6张图片

 指定端口

iptables 防火墙_第7张图片

 删除

iptables 防火墙_第8张图片

网段端口一起使用

iptables 防火墙_第9张图片

 修改规则,一般不用

-R

iptables 防火墙_第10张图片

在生产中,iptables所有的链的默认规则都是DROP

iptables 防火墙_第11张图片

 

整个网段,直至访问80端口的服务

iptables 防火墙_第12张图片

禁止22,80端口传输

iptables 防火墙_第13张图片

端口号:小的数字写前面,大的写后面; :表示22端口和80端口

隐藏拓展模块

-p指定协议时,tcp udp指明了是什么协议,就不需要再用-m来指明扩展模块

指定多端口,可以用冒号的形式,也可以用-m隐藏模块来实现

-m可以用明确的形式指出类型:多端口,mac地址,ip地址数据包的状态

-m multiport指定多端口,使用多端口,多个端口用,隔开 

-m multiport --dport       -m multiport --sport   

iptables 防火墙_第14张图片

  ip范围

-m iprange --src-range 源ip地址的范围

-m iprange --dst-range 目的ip地址的范围

iptables 防火墙_第15张图片

mac地址

-m mac --mac-source

iptables的备份和还原

1.写在命令行当中的都是临时配置

2.把规则,配置在服务的文件当中形成永久生效

iptables 防火墙_第16张图片

备份iptables 防火墙_第17张图片 

iptables 防火墙_第18张图片

iptables 防火墙_第19张图片

iptables 防火墙_第20张图片

iptables 防火墙_第21张图片

导出配置 

导入配置 

导入配置也是临时设置,写入配置文件中才是永久生效

自定义链

1.创建自定义链,没有-t指定表,默认在filer表中添加一个自定义链

iptables 防火墙_第22张图片

怎么给自定义链改名

iptables 防火墙_第23张图片

 把规则添加到INPUT链中

 创建在自定义链当中的规则,需要添加默认链当中才能够使用

删除;自定义链的规则被默认链使用,要先在默认链当中删除,再把自定义链当中的规则删除,最后才能把自定义链删除

SNAT和DNAT

SNAT :源ip地址转换(内网到外网)

DNAT:目标地址转换(外网到内网)

客户端发起请求---> 网关服务器(地址转换)---->网关服务器----->web服务器

web服务器响应请求---->网关服务器----->网关服务器----->客户端

iptables 防火墙_第24张图片

iptables 防火墙_第25张图片

源地址,目标IP地址转换 nat

iptables 防火墙_第26张图片iptables 防火墙_第27张图片

iptables 防火墙_第28张图片

iptables 防火墙_第29张图片

iptables 防火墙_第30张图片

 

 

iptables 防火墙_第31张图片

iptables 防火墙_第32张图片iptables 防火墙_第33张图片

 iptables 防火墙_第34张图片

iptables 防火墙_第35张图片

iptables 防火墙_第36张图片

iptables 防火墙_第37张图片

iptables 防火墙_第38张图片

iptables 防火墙_第39张图片

 iptables 防火墙_第40张图片

 iptables 防火墙_第41张图片

 iptables 防火墙_第42张图片

iptables 防火墙_第43张图片

iptables 防火墙_第44张图片

iptables 防火墙_第45张图片

linux系统如何抓包

tcpdump来实现linux抓包,自带的

iptables 防火墙_第46张图片 iptables 防火墙_第47张图片

文件传到桌面

iptables 防火墙_第48张图片

tcpdump可以抓包,但是不可以分析数据包,可以看出来linux显示的是乱码,所以我们需要.cap格式的文件,把文件sz的命令传到电脑桌面,用wileshark来分析

动态抓包,需要手动停止

 

iptables 软件防火墙,包过滤防火墙

firewalld 防火墙,包过滤防火墙,工作在网络层,centos7自带的默认的防火墙;作用:为了取代iptables

firewalld两种配置模式:

运行时配置

永久配置

iptables是静态防火墙

firewalld是动态防火墙

firewalld按照区域来进行划分:9个区域 (需要人工手动切换的)

mobar可以看:firewalld -confige

trusted:信任区域,允许所有的流量传入

public:公共区域,也是默认区域,只允许ssh和dhcpv6这两个预定义服的流量可以传入,其余都是拒绝

external:外部区域,只允许ssh和dhcpv6这两个预定义服务的流量传入,其余都是拒绝,如果通过此区域转发的ipv4流量,可以进行地址伪装

home:家庭区域,只允许ssh和dhcpv6这两个预定义服务的流量可以出传入,区域的都是拒绝

internal:内部区域,默认值和home一个作用

work:工作区域,只允许ssh和dhcov6这两个自定义服务的流量可以传入,其余都是拒绝

dmz:隔离区域,也成为非军事区域,只允许ssh和dhcpv6这两个预定义服务的流量传入,其余都是拒绝的

block:限制区域,所有流量都拒绝

drop:丢弃区域,直接丢弃,没有回显信息

预定义服务:系统自带的

ssh:远程连接协议

dhcpv6:通过dhcpv6服务器进行报文交互,获取ipv6的地址

ipp:编程语言交互 java pyhton

samba:打印机

mdns:主机名的IP地址解析(解析小型网络的ip地址)

查看防火墙状态

iptables 防火墙_第49张图片

 查看默认区

切换使用区域

 

查看防火墙策略

iptables 防火墙_第50张图片 

 添加单个服务

iptables 防火墙_第51张图片

添加多个服务

iptables 防火墙_第52张图片 

删除服务

iptables 防火墙_第53张图片以上临时的,重启即失效

永久添加

 

 

 永久删除

永久添加永久删除都要使其生效的命令

 

端口管理

添加端口

iptables 防火墙_第54张图片 

 移除端口

iptables 防火墙_第55张图片

 

指定多个端口必须使用同一协议,不然只能分开写

iptables 防火墙_第56张图片

 

端口范围添加

iptables 防火墙_第57张图片

 

 

你可能感兴趣的:(网络)