zoukankan      html  css  js  c++  java
  • iptables策略

    input output forward prerouting postrouting

    五链相当于在五个位置设置安全策略做检查

    流量进入网卡(路由表)后查看是否是发给自己的,

    1 总的检查口   prerouting

    2 是发给自己的就转发给自己进程的端口,input

    不是就转发走,只是穿过      output

    4 自己访问外部网络时,流量往外出的时候也要经过自己的路由表  forward

    穿过我的做设置,例如教室内访问视频网站 

    5   最外面的出口做检查   postouting

        1 隐式扩展

    不用写调用哪个模块,当指定协议的时候系统会自动调用协议所需要的模块,协议名就是模块名,系统自己去找,tcp,udp协议

    指定端口号

    只让tcp的22端口通过

    iptables -I INPUT 3 -s 192.168.1.11 -p tcp --dport22 -j ACCEPT

                                                  dport目标端口

                                                  sport源端口

                      指定端口范围,必须是连续的   m:n 例如1:10  1到10    

    自定义链

    除了系统自带的五个链,自己可以自定义链

    1先自定义一个链

    Iptables –N invalid_packets

    重命名

    Iptables –E invalid_packets INVALID_PACKETS

    为自定义的链添加规则

    Iptables –A invalid_packets –p tcp –tcp-flags ALL ALL –j REJECT

    定义完不和原有规则关联就没意义,就像函数,只定义没调用就无意义

    Iptables –A OUTPUT –j INVALID_PACKAGES 

    从我这里出的,只要是不符合规则的统统拒绝

    删除时,先删除关联的链,再清空自定义链添加的内容,最后删除自定义链

    Iptables –D OUTPUT 1

    Iptables –F invalid_packets

    Iptables –X invalid_packets

    显示扩展

     

    1 multiport   可以指定不连续端口

    iptables -I INPUT -p tcp -m multiport --dports 139,445 -j ACCEPT

    2 iprange

    iptables -I INPUT -m iprange --src-range 192.168.1.11-192.168.1.12 -j ACCEPT

    3 mac --mac-source 

    Ip 限制了可以从mac突破限制

    Iptables -I INPUT 3 -m mac --mac-source 00:0C:29:D9:83:55 -j ACCEPT

    加两个

    Iptables -I INPUT 3 -m mac --mac-source 00:0C:29:D9:83:55 -s 192.168.1.11 -j ACCEPT

    4  string

    对应用层数据的字符串进行限制

    例如用户访问百度搜索google等字符串,可以屏蔽掉

    Iptables -I OUTPUT -m string --algo bm --string”google” -f REJECT

    Tcpdump -I etho port 80

    5   time

    iptables -I INPUT 3 -m time --timestart 01:00:00 --timestop 02:00:00 --weekdays 1,2,3,4,5 -j ACCEPT

    周一到周五的上班时间才能访问

    6 connlimit   限制单个机器的连接数

    限制客户端的IP连接数,并发连接数

    --connlimit-upto  n   小于某个值,在某个范围内时是匹配的

    --connlimit-above n     连接数大于n的时候匹配

    超过两个就拒绝

    iptables -A INPUT -m connlimit --connlimit-above 2 -j REJECT

    添加策略是防止和iptables -vnL 里面其他策略冲突

    7 limit 扩展   限制总的连接数,多个机器加起来

    先放行5个,以后每一分钟放行一个

    iptables -A INPUT -m limit --limit 1/minute --limit-burst 5 -j ACCEPT

    8 state

     New:第一次访问就叫做new

    ESTABLISHED:第二次访问的叫做established

    RELATED:新发起的与已有连接相关联的连接,例如ftp协议中数据连接与命令连接的关系

    防火墙策略中,established放在最前面,之前检查过了,再次见面直接放在最前面直接通过

    例如 旧的已经连接过的用户accept,新的用户只有httpd80端口可以连,其他的都不让连

    Iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    Iptables -I INPUT 4 tcp --dport 80 -m state --state NEW -j ACCEPT

    针对ftp的端口容易变化的特性,加载专门模块

    modprobe nf_conntrack_ftp

    可以加入开机启动 /etc/rc.d/rc.local

    Lsmod |grep ftp  查看是否加载成功

    加载后, 新添加的21端口和相关联的内容都放行

    新发起的请求连接的21端口是允许的

    iptables -I INPUT 3 -p tcp --dport 21 -m state --state NEW -j ACCEPT

    相关的已经建立连接的直接放行

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

  • 相关阅读:
    sort()
    type()
    reverse()
    pop()
    remove()
    max()
    len()
    Ext.Js核心函数( 三)
    聚簇索引和非聚簇索引区别
    Ext.js入门(二)
  • 原文地址:https://www.cnblogs.com/zhuzhenlong/p/9733960.html
Copyright © 2011-2022 走看看