• Linux之安全应用


    一、关于iptables

    定义:常见于linux系统下的应用层防火墙工具

    二、Iptables规则原理和组成

    1) Netfilter

    Netfilter是Linux操作系统核心层内部的一个数据包处理模块

    2) Hook point

    数据包在Netfilter中的挂载点。五个挂载点(PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING)

    3) Netfilter与iptables

     

    4) iptables规则组成

    1、 组成部分:四张表+五条链(Hook point)+规则

    四张表:filter表、nat表、mangle表、raw表

    五条链:INPUT、OUTPUT、FORWARD、PRE_ROUTING、POST_ROUTING

    raw表:数据包状态的跟踪和分析(iptables1.2.9版本之后)

    mangle表:需要对应交换机的一些支持,修改数据包,改变包头中内容(TTL,

    TOS,MARK)

                     filter表:访问控制、规则匹配

                     nat表:地址转发

    2、 数据包在规则表、链匹配流程

     

    #数据包通过每一条链时,有机会调用函数来进行数据包规则的更改和访问的控制。

    #数据包在进来时,通过路由的选择(Destination),如果是传给本机的,走INPUT到localhost;如果不是本机的,就走FORWARD

    3、 iptables规则组成

    数据包访问控制:ACCEPT(接收允许通过)、DROP(丢弃,无消息返回客户端)、

    REJECT(拒绝,有对应消息返回)

    数据包改写:SNAT(对原地址即发起端ip数据包地址改写)、DNAT(对目标

                       地址进行改写)

    信息纪录:LOG

    组成部分:四张表+五条链(Hook point)+规则

    iptables

    table

    command

    chain

    Parameter&Xmatch

    target

    -t filter

      nat

    -A

    -D

    -L

    -F

    -P

    -I

    -R

    -n

    INPUT

    FORWARD

    OUTPUT

    PREROUTING

    POSYROUTING

    -p tcp

    -s (发起源IP)

    -d (目标地址)

    --sport(源端口)

    --dport(目标端口)

    --dports(端口断)

    -m tcp

       state

       multiport

    -j ACCEPT

    DROP

    REJECT

    DNAT

    SNAT

    说明:

    -A  添加一条规则(添加到末尾)

    -D  删除一条规则

    -L  以列表方式显示

    -F  flush, 清空规则链

    -P  policy,设置默认策略,对filter表来讲,默认规则为accept或DROP

    -I   插入一条规则(默认排列到第一行)

    -R  修改一条规则

    -n  数字格式显示主机地址和端口

    三、Iptables实践场景

    1) iptables配置-场景一

    规则1、对所有的地址开放本机的tcp(80、22、10-21)端口的访问

    规则2、允许对所有的地址开放本机的基于ICMP协议的数据包访问

    规则3、其他未被允许的端口则禁止访问

    思路:先清空之前所有的规则,然后设置白名单方式,允许哪些端口访问,然后允

    许哪些协议访问,其他未被允许的端口则被拒绝或者禁止访问

    注意:以上设置会导致以下问题

            ①本机无法访问本机

            ②本机无法访问其他主机

    2) iptables配置-场景二

    3) iptables配置-场景三

    四、Iptables中NAT模式设置

    五、Iptables防攻击及企业场景应用

    六、 

  • 相关阅读:
    用Android Studio 开发Android应用
    以前写的一个下载小说的工具
    折半算法的C#实现方式-递归和非递归
    128. 最长连续序列
    一语点醒技术人:你不是 Google(转载)
    计算机专业导论与思维系统--哈工大
    安卓笔记 09_28
    安卓学习笔记
    安卓数据库08_29
    08_28学习笔记Kotlin
  • 原文地址:https://www.cnblogs.com/huhyoung/p/6636937.html
Copyright © 2020-2023  润新知