美文网首页转载部分
Linux-C-高级-第6章-IPTable防火墙基础

Linux-C-高级-第6章-IPTable防火墙基础

作者: sky92archangel | 来源:发表于2018-10-04 12:15 被阅读0次

    目录(持续更新)


    基础-第0章-安装
    基础-第1章-基本操作
    基础-第2章-磁盘及文件系统管理
    基础-第3章-获得帮助
    基础-第4章-用户及权限基础
    基础-第5章-网络基本配置
    基础-第6章-管道,重定向及文本处理
    基础-第7章-系统启动详解

    进阶-第1章-日志服务
    进阶-第2章-DNS域名服务器
    进阶-第3章-FTP文件共享服务
    进阶-第4章-NFS文件共享服务
    进阶-第5章-SMB文件共享服务
    进阶-第6章-WEB服务Apache篇
    进阶-第7章-电子邮件服务
    进阶-第8章-Linux服务基础及管理

    高级-第1章-LVM逻辑卷
    高级-第2章-高级权限ACL
    高级-第3章-RAID提升速度及冗余
    高级-第4章-高级网络-网卡绑定,子端口
    高级-第5章-SELinux安全系统基础
    高级-第6章-IPTable防火墙基础
    高级-第7章-Linux远程管理-SSH、VNC


    第6章 IPTable防火墙基础


    第一节

    网络访问控制

    Linux作为服务器,对外提供一些基于网络服务
    
    通常需要网络访问控制,类似防火墙
    
    厂家爱你访问控制包括:哪些IP可访问的服务器,协议,接口,数据包修改
    
    如可能受到某个IP攻击,这时就禁止所有来自IP的访问
    
    Linux 内核集成了网络访问控制功能 通过netfilter模块实现
    

    IPTables

    用户层我们可以哦那个过iptables程序对netfilter进行控制管理
    
    netfilter可以对数据进行允许 丢弃 修改操作
    
    netfilter支持通过以下方式对数据包进行分类
    
        源IP地址
        目标IP地址
        使用接口
        使用协议  ( TCP UDP ICMP )
        端口号
        连接状态    ( new ESTABLISHED RELATED INVALID)
    

    过滤点

    INPUT           出流量
    FORWARD         转发数据
    OUTPUT          入流量
    PREROUTING      路由前
    POSTROUTING     路由后
    

    过滤表

    三种表:
    filter (chain)用于对数据进行过滤 只用在 INPUT FORWARD OUTPUT 过滤点
    nat用以多数据包的源,目标IP地址进行修改 只用在 OUTPUT PREROUTING POSTROUTING过滤点
    mangle用以对数据包进行高级修改 用于所有过滤点
    

    常用功能

    作为服务器
        过滤本地流量              
        过滤本地发出流量
    
    作为路由
        过滤转发流量
        修改转发数据
    

    规则

    通过规则对数据进行访问控制
    一个规则使用一行配置
    规则按顺序排列
    当收到发出转发数据包时,使用规则对数据包进行匹配,按规则顺序进行逐条匹配
    
    数据包按照第一个匹配上的规则执行相关动作:丢弃,放行,修改
    
    没有匹配规则,则使用默认动作(每个检查点都有默认动作)
    
    通过命令 iptables -t filter -A INPUT -s 192.168.1.1 -j DROP
                        表           链           匹配属性    动作
    
    表:规定使用的表(filter nat mangle 不同表有不同功能)
    链:规定过滤点 INPUT FORWARD  OUTPUT PREROUTING POSTROUTING
    匹配属性:规定匹配数据包的特征 
    匹配后的动作:放行 丢弃 记录  ACCEPT DROP REJECT
    

    第二节

    基础配置

    表:规定使用的表
        filter 
        nat 
        mangle
    
    链:规定过滤点 
        INPUT 
        FORWARD  
        OUTPUT 
        PREROUTING 
        POSTROUTING
    匹配属性:
        规定匹配数据包的特征
        源,目标地址 ,协议(TCP UDP ICMP )
        端口号
        接口
        TCP状态
    
    匹配后的动作:
        放行  ACCEPT
        丢弃  DROP
        记录    REJECT (返回信息)
    

    命令操作(临时生效)

    iptables status 查看默认状态
    
    列出现有所有规则
        iptables -L 
    
    插入一个规则
        iptables -I INPUT 3 -p tcp --dport 22 -j ACCEPT 
        插入到规则第3条 所有端口22的TCP数据全部允许进入
    
    删除一个iptables规则
        iptables -D INPUT 3 
        iptables -D INPUT -s 192.168.1.2 -j DROP
    
    删除所有规则
        iptables -F
    

    参数匹配

    基于IP地址
        -s 192.168.1.1      源地址
        -d 10.0.0.0/8       目标地址
    
    基于接口
        -i eth0     接收流量
        -o eth1     发出流量
    
    排除参数
        -s '!' 192.168.1.0/24   !为取反操作
    
    基于协议及端口
        -p tcp --dport 23
        -p udp --sport 23
        -l icmp
    

    例:

    检测到来自192.168.1.100攻击  屏蔽所有这个IP的流量
    iptables -A INPUT -s 192.168.1.100 -j DROP  
    
    屏蔽所有访问80网页服务的流量
    iptables -A INPUT -s tcp --dport 80 -j DROP
    
    屏蔽所有192.168.1.0到服务器的22端口ssh流量
    iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j DROP
    
    iptables -A INPUT -i eth0 -j ACCEPT
    

    FORWARD 路由设备使用

    FORWARD 对所有数据转发控制
    如:禁止所有 从192.168.1.0/24 到目标10.1.1.0/24 的流量
    iptables -A FORWARD -s 192.168.1.0/24 -d 10.1.1.0/24 -j DROP
    

    NAT

    NAT 网络地址转换是用来对数据包的IP地址进行修改的机制,NAT分为两种
    
        SNAT    源地址转换 常用伪装内部地址
        DNAT    目标地址转换 通常用于跳转
    
    iptables 中实现的 NAT 功能是NAT 表 
    

    常用NAT

    通过NAT 进行跳转 转发到192.168.1.10
        iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 192.168.1.10
        DNAT 只能用在PREROUTING上
    
    通过NAT 进行出向数据跳转
        iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-dest 192.168.1.100:8080
    
    通过NAT对数据伪装 一般意义的NAT 将内部地址全部伪装为一个外部公网IP
        iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
        所有内网地址伪装成eth0个公网IP地址
    
    通过NAT隐藏IP
        iptables -t nat -A POSTROUTING  -j SNAT --to-source 1.2.3.4
    

    保存配置文件

    通过iptables修改需要写入/etc/sysconfig/iptables配置文件
    
    可以通过命令将iptables规则写入配置文件 保存后会覆盖
        service iptables save
    

    注意

    远程管理 修改iptables 
    需要允许来自客户端主机的SSH流量确保是第一条iptable规则
    以免失误将自己锁在外面
    

    相关文章

      网友评论

        本文标题:Linux-C-高级-第6章-IPTable防火墙基础

        本文链接:https://www.haomeiwen.com/subject/xtdxaftx.html