zoukankan      html  css  js  c++  java
  • 防火墙 iptables

    防火墙分类

    • 包过滤防火墙(packet filter)
    • 应用层网关代理(Application level Gateway)
    • 状态防火墙(stateful firewall)

    包过滤防火墙和状态防火墙区别:

    • 包过滤防火墙:静态防火墙,通过IP数据报头部的五元素(地址、协议、端口)过滤数据,因为五元素在会话中不变,故称其为静态。
      优点是规则简单,易实现,处理速度快。缺点是难以应对ip碎片攻击,不支持复杂协议,不能防止对应用层的攻击,无法应对nmap -sA扫描。
      在这里插入图片描述
    • 状态防火墙: 动态包过滤防火墙, 收到连接请求时建立一张存储连接信息的表,基于这个表对出入数据进行管理,如iptables防护墙。同一会话,虽然五元组不变,但是状态标识是变化的,所以称之为动态。可设置白名单和黑名单。缺点是消耗资源。

    iptables防火墙简介

    状态防火墙,linux的防火墙由netfilter和iptables组成,2.4内核以后,用户空间的iptables制定规则,内核空间的netfilter实现防火墙功能。
    需要root权限

    防火墙规则通常有两种基本策略。一是黑名单策略;二是白名单策略。

    • 黑名单策略指没有被拒绝的流量都可以通过,这种策略下管理员必须针对每一种新出现的攻击,制定新的规则,因此不推荐。
    • 白名单策略指没有被允许的流量都要拒绝,这种策略比较保守,根据需要,逐渐开放,目前一般都采用白名单策略,推荐。

    iptables的结构

    总体上是四表五链结构,每张表有几种内置链。Iptables的底层就是利用Netfilter的hook技术设置条件,而“链”则表示利用hook设置条件的位置,比如发包前,收包前,转发前等等。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    iptables命令

    iptables [ -t 表名 ] 管理选项 [ 链名 ] [ 条件匹配 ] [ -j 目标动作或跳转 ]

    1. 选表,表决定数据报文处理的方式,不指定表名时,默认表示filter表
    2. 选链,链决定数据报文流经的位置,不指定链名时,默认表示该表内所有链
    3. 选条件,条件决定对数据报文做何种匹配
    4. 选择处理数据报文的动作,制定相应的防火墙规则

    在这里插入图片描述

    • -A,Append one or more rules to the end of the selected chain.
    • -D,Delete one or more rules from the selected chain.
    • -l ,Insert one or more rules in the selected chain as the given rule number.
    • -R,Replace a rule in the selected chain.
    • -P 制定policy(ACCEPT, DROP)
    • -F,Flush the selected chain ,清空链
    • -L,List all rules in the selected chain.

    例1 查看已设置的规则

    在这里插入图片描述

    例2 只能发包,不能收包

    在这里插入图片描述

    例3 只接收icmp echo reply的包

    在这里插入图片描述

    例4:根据连接状态表选择接收的包,即拒绝新的连接请求和无效链接,只接收已建立连接的相关请求

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    参考

    https://www.cnblogs.com/frankb/p/7427944.html
    《TCP/IP详解》
    《UNIX网络编程》

  • 相关阅读:
    IEnumerable、ICollection、IList、List关系和区别
    在Winform界面中使用DevExpress的TreeList实现节点过滤查询的两种方式
    关键字Lock的简单小例子
    .NET Core DI简单介绍
    Linux服务器部署.Net Core笔记:六、安装MySQL
    表的透视变换
    ZedGraph怎样在生成曲线时随机生成不一样的颜色
    3、手写Unity容器--第N层依赖注入
    微信支付-小程序H5 公众号 Payment SDK
    WPF继续响应被标记为已处理事件的方法
  • 原文地址:https://www.cnblogs.com/chzhyang/p/11359993.html
Copyright © 2011-2022 走看看