【防火墙】iptables防火墙(一)

防火墙具有隔离功能

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

网络层(路由器):数据的转发

安全技术

1.入侵监测系统:在检测到威胁(木马、病毒)后,不会阻断网络访问,只会在事后提供报警和监督

2.入侵防御系统:在检测到威胁后,会立即进行阻断,主动保护网络安全;以透明模式工作,一般都是用 在线部署 的方式

现有的防火墙大多都是上述二者的结合体

防水墙:waterwall,用于防止内部信息外泄

防火墙的类型:

软件防火墙:iptables、火绒等杀毒软件

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

保护范围:

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

2.网络防火墙:是数据传输的必经之路

实现方式:

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

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

运营商会过滤掉了绝大多数威胁

网络层协议划分:

网络层:包 过滤防火墙

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

linux防火墙:

firewalld       从centos7开始自带的

iptables        包过滤防火墙

selinux         自带的安全工具

集成在一个内核中:netfilter组件

iptables 包过滤防火墙

工作在网络层,针对数据包进行过滤和限制

iptables属于用户态
netfilter属于内核态

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

iptables的构成和工作机制

iptables的组成部分***四表五链

(selinux,也是一个表,不过不在讨论范围内)

        四表:
raw        链接跟踪机制,加快封包穿过防火墙的速度,数据包跟踪
mangle     数据标记
nat        地址转换表
filter     过滤规则表;根据规则来定义或者过滤符合条件的数据包;filter也是默认使用的表

四表的优先级:

security——>raw——>mangle——>nat——>filter

        五链:
INPUT            处理数据包进入本机的规则
OUTPUT           处理数据爆发出的规则;一般不做处理
PREROUTING       处理数据包进入的规则
POSTROUTING      处理数据包离开本机之后的规则;结合地址转换使用
FORWARD          处理数据转发规则

iptables的规则:

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

匹配顺序:

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

【防火墙】iptables防火墙(一)_第1张图片

 【防火墙】iptables防火墙(一)_第2张图片

 2.报文流向

流入本机:prerouting——>input——>用户进程(httpd服务)——>请求访问——>响应——>数据返回用户

流出本机:httpd——>响应——>output——>postrouting(地址转换)——>返回用户

转发:数据包经过时,肯定不在同一网段,路由转发——forward——数据包出去,不允许转发,数据包直接丢弃

iptables的命令格式:

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

管理选项:

-A    表示在链的末尾追加一条;添加
-I    在链中插入一条新的规则,可以指定序号;-I后跟数字表示序号
-P    修改链的默认策略
-D    删除
-R    修改、替换规则
-L    查看链中的规则;一般和vn结合使用(-vnL)
      v    显示详细信息
      n    把规则以数字形式进行展示
-F    清空链中的所有规则(慎用!)

匹配条件:

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

控制类型:

ACCEPT    允许数据包通过
DROP      拒绝;直接丢弃数据包,而且不给出任何信息回应
REJECT    拒绝;但会回应相应的信息
SNET      修改数据包的源IP地址
DNET      修改数据包的目的地址

iptables -vnL    不指定查看;默认查看filter表
iptables -t nat -vnL    指定查看nat表

特点:即配即用;书序执行,匹配到则输出结果并直接结束

iptables -vnL --line-number        给策略添加序号

指定多个IP地址时,用逗号隔开

端口号写在协议后面

IP要写在协议前面

修改规则一般不用,一般使用删除和添加

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

通用匹配:

网络协议、端口、IP地址

例:整个网段禁止访问80端口服务

隐藏扩展模块:

-p	指定协议时,tcp、udp指明了是什么协议,就不需要再用-m指明扩展模块
指定多端口,可以用冒号的形式(min:max),也可以使用-m隐藏模块来实现
-m	可以用明确的形式指出类型:多端口、Mac地址、IP地址、数据包的状态
    -m multiport	指定多端口,端口号之间用逗号隔开
    -m multiport --dport	
    -m multiport --sport
IP范围:
    -m iprange --src-range	
    -m iprange--dst-range

mac地址:

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