防火墙-——iptables

目录

安全技术:(市场上常见的防御)

1.入侵检测机制

2.入侵防御

3.防火墙

4.防水墙

通信的五大要素和四要素

iptables

四个表

数据流程图

安装iptables

iptables管理选项:

匹配条件

通用匹配规则

1.查看filter中的 INPUT表

2.清空filter表中的规则

3.拒绝所有主机ping

4.在第一行插入新规则允许ping

5.对ip 进行设置

6.对端口进行拒绝

7.指定规则删除

8.-R 修改

9.修改链的策略

10.指定网段

11.拒绝22端口和80端口

-m (+控制模块 ,明确指定类型 多端口 MAC地址 ip范围)显示匹配

12.指定多个端口

13.指定匹配IP地址范围

14.指定匹配mac地址

自定义链:

添加自定义链

自定义链重命名

删除自定义链

自定义链的实现

删除自定义规则和链

SNAT DNAT

工作原理

​编辑

实验

实验需求

策略备份和还原

Linux抓包


安全技术:(市场上常见的防御)

1.入侵检测机制

阻断,量化,定位来自内外的网络的威胁情况
提供报警和事后监督。类似于监控。

2.入侵防御

以透明模式工作,分析数据包的内容,一切进入本机的内容进行防护,木马,蠕虫,系统漏洞进行分析判断,然后进行阻断。主动的防护机制。部署在整个架构,或者是集群的入口处。(必经之路。)


3.防火墙

隔离功能,工作在网络或者主机的边缘  路由
对网络或者主机的数据包按照一定规则进行检查。(网络层转发数据包)
一般对防火墙的设置都是白名单,拒绝所有,允许个别。

保护范围:主机防火墙,仅为当前主机服务。
                  网络防火墙,防护的是另一侧的局域网。
网络层防火墙,iptables包过滤防火墙
访问控制,每个数据包的源IP地址,目的IP地址,端口号,协议等等进行组合式监控,由此来判断数据包是否允许通过。
iptables: 系统自带的包过滤防火墙。
firewalld: 主机防火墙,他也有包过滤的功能。centos7以后集成的。

4.防水墙

透明模式工作,华为的ensp监控就是防火墙。一切对于防水墙都是透明的
    事前,事中,事后都可以进行检测

防火墙-——iptables_第1张图片

通信的五大要素和四要素

源/目的ip 源/目的mac 端口 协议。
源/目的ip 源/目的mac 端口

 

iptables

内核防火墙,内置四个表,而且在所有表中配置规则,配置后立即生效,不需要重启服务。

四个表

raw 连接跟踪,跟踪数据的一种机制。配置了之后,可以加快防火墙的穿越速度(关闭raw里面的追踪。)
mangle 修改数据包的标记规则
nat 地址转化的规则表
filter 包过滤规则表。根据预定义的规则,人工设置的规则,对符合条件的数据包进行过滤,也是iptables的默认表
四表的优先级:raw---mangle---nat---filter

表里有链,链里面有规则;iptables的配置规则,写在链当中。

五个链

prerouting链 处理数据包进入本机之前的规则                                        NAT
input链 处理数据包进入本机的规则。                                 包能否进来
FORWARD链 处理数据包转发到其他主机的规则。                       包能否转发
output链 处理本机发出的数据包的规则,一般不做处理。
postrouting链 处理数据包离开本机之后的规则                                        NAT

数据流程图

防火墙-——iptables_第2张图片

安装iptables

systemctl stop firewalld

yum -y install iptables iptables-services

systemctl restart iptables

iptables管理选项:

选项 说明
-A 在指定链的末尾进行追加
-I 在指定链插入新的规则。可以指定插入规则的位置
-P 修改默认策略(链的策略)
-D 删除
-R 修改,替换规则
-L 查看指定链当中的规则
-n 以数字形式显示规则
-v 查看详细信息
--line-number 给每个链中的规则进行编号查看
-F 清空指定链当中的规则(慎用)
-X 清空自定义链的规则
-t 指定表名

匹配条件

匹配策略:从上到下按照规则顺序匹配,相同类型匹配,只生效第一条

-p 指定数据包的协议类型
-s 指定数据包的源ip地址
-d 指定数据包的目的ip地址
-i 指定数据包进入本机的网络接口
-o 指定数据包离开本机的时候使用的网络接口
--sport 指定源端口
--dport 指定目的端口号

控制类型

-j 后面跟上控制类型
ACCEPT 允许数据包通过
DROP 拒绝数据包通过,直接丢弃数据包,不给任何回应的信息
REJECT 拒绝,拒绝数据包通过,但会给一个回应的信息
SNAT 修改数据包的源地址
DNAT 修改数据包的目的地址

通用匹配规则

ip+端口+网段+接口(网卡设备)

1.查看filter中的 INPUT表

iptables -t filter -vnL INPUT --line-numbers

防火墙-——iptables_第3张图片

num   pkts bytes target     prot opt in     out     source               destination

num:--line-numbers 序号
pkts:匹配规则收到的报文个数
bytes:包的大小综合
target:规则对应的动作
port:规则对应的协议

2.清空filter表中的规则

iptables -F

3.拒绝所有主机ping

iptables -t filter -A INPUT -p icmp -j REJECT

4.在第一行插入新规则允许ping

iptables -t filter -I INPUT 1 -p icmp -j ACCEPT

防火墙-——iptables_第4张图片

5.对ip 进行设置

对ping本机进行限制
1.对单个ip拒绝
iptables -A INPUT -s 192.168.10.20 -p icmp -j REJECT 

2.对多个ip决绝
iptables -A INPUT -s 192.168.10.20,192.168.10.30 -p icmp -j REJECT

6.对端口进行拒绝

1.对192.168.10.20的22端口进行限制---禁止20远程登陆本机
iptables -A INPUT -s 192.168.10.20 -p tcp --dport 22 -j REJECT

s--源主机限制

7.指定规则删除

防火墙-——iptables_第5张图片

删除INPUT里的第一条规则

  iptables -D INPUT 1 

1--协议序号

8.-R 修改

注意同时源地址改变,工作中极少使用

防火墙-——iptables_第6张图片

9.修改链的策略

工作中都拒绝所有,允许个别

修改INPUT策略

iptables -P INPUT DROP

10.指定网段

11.拒绝22端口和80端口

1.拒绝20网段80端口
iptables -A INPUT -s 192.168.20.0/24 -p tcp --dport 20:80 -j REJECT
小号端口在前,大号端口在后


2.拒绝20网段20,30,80,90,254端口
iptables -A INPUT -s 192.168.20.0/24 -p tcp -m multiport --dport 20,80,30,90,254 -j REJECT

-m (+控制模块 ,明确指定类型 多端口 MAC地址 ip范围)显示匹配

nultiport 端口
iprange --src-range 源ip
iprange --dst-range 目的ip
mac --mac-source 源mac

12.指定多个端口

13.指定匹配IP地址范围

14.指定匹配mac地址

自定义链:

添加自定义链

iptables -N LIU2

自定义链重命名

iptables -E LIU2 LIU3

删除自定义链

iptables -X 自定义列名

自定义链的实现

在自定义链添加规则,将自定义列添加到系统原有链中(添加如下图)规则才会实现

防火墙-——iptables_第7张图片


删除自定义规则和链

先将自定义链从系统默认链中删除,再将自定义链中的规则删除,最后删除自定义链

SNAT DNAT

SNAT    源地址转换
DNAT    目的地址转换

工作原理

防火墙-——iptables_第8张图片

防火墙-——iptables_第9张图片

实验

防火墙-——iptables_第10张图片

实验需求

防火墙-——iptables_第11张图片

test1

防火墙-——iptables_第12张图片

test2

        ens33

防火墙-——iptables_第13张图片

        ens36

防火墙-——iptables_第14张图片

1、SNAT
iptables -t nat -A POSTROUTING -s 192.168.233.0/24 -o ens36 -j SNAT -t 10.0.0.10

-t 指定的表名
nat: 地址转换的表名
-A 添加一条规则,在行尾追加
POSTROUTING: 在出本机的时候添加一个地址转换的规则
-s 192.168.233.0/24: 指定源p地址
-o ens36: 从网卡设备ens36出去的数据都会做转换
-j SNAT: 指定控制类型,源地址转换
--to 10.0.0.10 所有的源ip属于233.0这个网段,只要你是从ens36出来的,都会把他们的ip地址转换成10.0.0.10


2、DNAT
   iptables -t nat -A PREROUTING -d 11.0.0.11 -i ens36 -p tcp --dport 80 -j DNAT -to 192.168.233.10:80

-t nat: 指定地址转换表
-A PREROUTING:在进入本机之后添加地址转换的规则
-d 11.0.0.11: 指定目的地址
ens36: 进入内网的设备接口
-p 指定协议
--dport 80 指定端口
-j DNAT 转换目的地址
--to 192.168.10.10:80 只要是从何ens36这个网络接口进入本机内网的ip地址,访问内网服务http的80端口,目的ip地址都可以转换成11.0.0.11



3、开启转发
vim /etc/sysctl.conf
    net.ipv4.ip_forward=1
sysctl -p 立即生效

        test3

防火墙-——iptables_第15张图片

策略备份和还原

备份 iptables-save >/opt/iptables.bank
还原 iptables-restore < /opt/iptable.bank
默认策略存放位置  /etc/sysconfig/iptables 立即生效

Linux抓包

linux能否抓包?????????????????

        答:tcpdump(系统自带的)

                    分为:指定抓包
                                动态抓包,一直获取,手动停止

   抓包命令格式

tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.10.0/24 -w ./target.cap

tcpdump 固定格式
tcp 抓取tcp协议
-i 只抓经过ens33的数据包
-t 不显示时间戳
-s0 抓完整的数据包
-c 指定抓包的个数
dst port 80 访问httpd 80
src net 192.168.10.0/24   源地址来自192.168.10.0网段的ip
-w 抓包的数据,保存位置 
*.cap  Wireshark分析.cap 后缀的

你可能感兴趣的:(服务器,网络,运维)