防火墙的基础知识

Netfilter组件

  1. 集成在内核中
  2. 内核中选取5个位置放置了5个hook function(input, output, forward, prerouting, postrouting),可以使用iptables命令向其写入rule


    image.png
  1. 信息过滤表table,包含控制IP包处理的规则集(rules),规则被分组放在chain上

三种报文流向

  1. 流入本机 preouting -> input -> 用户空间进程
  2. 流出本机 用户空间进程 -> output -> postrouting
  3. 转发 prerouting -> forward -> postrouting

iptables组成

  1. 5个表table
  • filter 过滤规则表,根据预定义规则过滤符合条件的数据包
  • nat 地址转换规则表
  • mangle 修改数据报文标记位规则表
  • raw 关闭nat表上启用的连接跟踪机制,加快封包穿越防火墙的速度
  • security 强制访问控制网络规则
  1. 5个链chain
  • input
  • outpu
  • forward
  • prerouting
  • postrouting


    image.png
  1. 数据包过滤匹配流程


    image.png

iptables 规则

根据规则的匹配条件尝试匹配报文,对匹配成功的报文根据规则定义的处动作做处理

  1. 匹配条件:默认为‘与’,同时满足
  • 基本匹配:IP,端口,TCP的flags(SYN,ACK等)
  • 扩展匹配:通过复杂高级功能匹配
  1. 处理动作:称为target,跳转目标
  • 内建处理动作:ACCEPT, DROP, REJECT, SNAT, DNAT, MASQUERADE, MARK, LOG
  • 自定义处理动作
  1. 规则要添加在chain上
  2. iptables规则添加时的考量
  • 要实现那种功能:判断添加在哪张表上
  • 报文流经的路径:判断添加在哪个链上
  • 报文的流向:判断源和目的
  • 匹配规则:业务需要

你可能感兴趣的:(防火墙的基础知识)