iptables防火墙工具

2023年 9月 4日 72.8k 0

安全技术

安全技术

  • 入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类 似于监控系统一般采用旁路部署(默默的看着你)方式。
  • 入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式。(必经之路)
  • 防火墙( FireWall ):隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默 认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ (demilitarized zone)网络中.
  • 防火墙的分类

    按保护范围划分:

    • 主机防火墙:服务范围为当前一台主机
    • 网络防火墙:服务范围为防火墙一侧的局域网

    按实现方式划分:

    • 硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为, 山石hillstone,天融信,启明星辰,绿盟,深信服, PaloAlto , fortinet, Cisco, Checkpoint, NetScreen(Juniper2004年40亿美元收购)等
    • 软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows 防火墙 ISA --> Forefront

    按网络协议划分:

    • 网络层防火墙:OSI模型下四层,又称为包过滤防火墙
    • 应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层

    防水墙

    广泛意义上的防水墙:防水墙(Waterwall),与防火墙相对,是一种防止内部信息泄漏的安全产品。 网络、外设接口、存储介质和打印机构成信息泄漏的全部途径。防水墙针对这四种泄密途径,在事前、事 中、事后进行全面防护。其与防病毒产品、外部安全产品一起构成完整的网络安全体系。

    netfilter/iptables关系

    netfilter

    • 位于Linux内核中的包过滤功能体系
    • 称为Linux防火墙的“内核态”(内核空间)
    • 是内核的一部分,由一些数据包过滤表组成,这些表包含内核用来控制数据包过滤处理的规则集。

    iptables

    • 位于/sbin/iptables
    • 用来管理防火墙规则的工具称为Linux防火墙的“用户态”
    • 它使插入、修改和删除数据包过滤表中的规则变得容易

    防火墙

    iptables四表五链

    四表

    • raw表:确定是否对该数据包进行状态跟踪。
    • mangel表:为数据包设置标记。
    • nat表:修改数据包中的源、目标IP地址或端口
    • filter表:确定是否放行该数据包(过滤)

    五链

    • INPUT链:处理发送到本站入站数据包。
    • OUTPUT链:处理出本站数据包。
    • FORWARD链:处理转发数据包。
    • PREROUTING链:在进行路由选择后处理数据包。
    • POSTROUTING链:在进行路由选择前处理数据包。

    规则表的作用∶容纳各种规则链

    规则链的作用∶容纳各种防火墙规则

    image-20211030165116463.png

    黑白名单

  • 黑名单:默认全部允许通过,添加谁才不允许谁通过。
  • 白名单:默认全部不允许通过,添加谁允许谁通过。
  • iptables命令

    控制类型 作用
    ACCEPT 允许数据包通过(默认)
    DROP 允许数据包通过(默认)
    REJECT 拒绝数据包通过,会给数据发送端一个响应信息
    SNAT 修改数据包的源地址
    DNAT 修改数据包的目的地址
    MASQUERADE 伪装成一个非固定公网IP地址
    LOG 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则。LOG只是一种辅助动作,并没有真正处理数据包
    管理选项 用法示例
    -A 在指定链末尾追加一条 iptables -A INPUT (操作)
    -I 在指定链中插入一条新的,未指定序号默认作为第一条 iptables -I INPUT (操作)
    -P 指定默认规则 iptables -P OUTPUT ACCEPT (操作)
    -D 删除 iptables -t nat -D INPUT 2 (操作)
    -p 服务名称 icmp tcp
    -R 修改、替换某一条规则 iptables -t nat -R INPUT (操作)
    -L 查看 iptables -t nat -L (查看)
    -n 所有字段以数字形式显示(比如任意ip地址是0.0.0.0而不是anywhere,比如显示协议端口号而不是服务名) iptables -L -n,iptables -nL,iptables -vnL (查看)
    -v 查看时显示更详细信息,常跟-L一起使用 (查看)
    --line-number 规则带编号 iptables -t nat -L -n --line-number /iptables -t nat -L --line-number
    -F 清除链中所有规则 iptables -F (操作)
    -N 新加自定义链
    -X 清空自定义链的规则,不影响其他链 iptables -X
    -Z 清空链的计数器(匹配到的数据包的大小和总和)iptables -Z
    -S 看链的所有规则或者某个链的规则/某个具体规则后面跟编号

    查看filter表所有链 iptables -L

    86b3a41351a14bdcb122cfd5612eb488.jpg

    用数字形式(fliter)表所有链 查看输出结果 iptables -nL

    932c7a4cd0bf4dfea22e587d3c82a708.png

    a03f4a37d50646928daf99762e9107bf.png

    清空所有链 iptables -F

    f5183d883a6b494ea7bba3e7fc048194.png

    插入规则

    b126c5eb9d5a41feb109c34a6c37d5f0.png

    9e4035de2cbe41029c8203543fb77846.png

    删除规则

    b841f19e30184ca1a63b8971fe317159.png

    c1d405cfc0c849ec8fdaae15e56941c8.png

    修改规则

    1ba04af2234a43b59949d14762ea6614.png

    cd4b3014c85f48898731d0c4650c4e82.png

    规则匹配

    通用匹配
    • 协议匹配:-p 协议名
    • 地址匹配:-s 源地址、-d 目的地址 可以是IP、网段、域名、空(任何地址)
    • 接口匹配:-i 入站网卡、-o出站网卡
    端口号匹配

    端口匹配: --sport 源端口、--dport 目的端口,可以是个别端口、端口范围
    --sport 1000 匹配源端口是1000的数据包
    --sport 1000:3000 匹配源端口是1000-3000的数据包
    --sport :3000 匹配源端口是3000及以下的数据包
    --sport 1000: 匹配源端口是1000及以上的数据包
    --sport和--dport 必须配合 -p 使用

    ICMP类型匹配
    • "Echo-Request”(代码为8)表示请求
    • "Echo- -Reply”(代码为0)表示回显
    • "Dest ination-Unreachable" (代码为3)表示目标不可达
    • 关于其它可用的ICMP 协议类型,可以执行“iptables -P icmp -h”命令,查看帮助信息
    多端口匹配
    • m multiport --sport 源端口列表
    • m multiport --dport 目的端口列表

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论