zoukankan      html  css  js  c++  java
  • iptables实战案例详解-技术流ken

    简介

    关于iptables的介绍网上有很多的资料,大家可以自己找一些关于iptables的工作原理,以及四表五链的简介,对于学习iptables将会事半功倍。本博文将会例举几个工作中常用的iptables应用组合。

    系统环境

    centos6.7

    服务器IP:10.220.5.166/24

    客户端IP:10.220.5.188/24

    iptables的filter表的INPUT链的默认规则为DROP

    案列详解

    1.设置默认规则

    [root@ken ~]# iptables -P INPUT DROP             #设置INPUT链默认规则设置为DROP,工作中一般默认4.是drop
    [root@ken ~]# iptables -P INPUT ACCEPT           #设置INPUT链默认规则设置为ACCEPT
    [root@ken ~]# iptables -P OUTPUT DROP            #设置OUTPUT链默认规则设置为DROP,如果OUTPUT链开启DROP,相应组合后可防范反弹式木马
    [root@ken ~]# iptables -P OUTPUT ACCEPT          #设置OUTPUT链默认规则设置为ACCEPT  

    2.清空规则链

    [root@ken ~]# iptables -t filter -F            #清空filter表规则
    [root@ken ~]# iptables -t nat -F               #清空nat表规则
    [root@ken ~]# iptables -t mangle -F            #清空mangle表规则
    [root@ken ~]# iptables -t raw -F               #清空raw表规则

    3.查看规则链

    [root@ken ~]# iptables -L -n --line -v

    4.允许10.220.5.0/24网段的客户端可以访问本机的80端口

    [root@ken ~]# iptables -A INPUT -s 10.220.50/24 --dport 80 -j ACCEPT

    5.实现单向ping(即服务器可以ping通客户端,客户端ping不通服务器端)

    [root@ken ~]# iptables -A INPUT -p icmp --icmp-type 0 -d 10.220.5.166 -j ACCEPT
    [root@ken ~]# iptables -A OUTPUT -p icmp --icmp-type 8 -s 10.220.5.166 -j ACCEPT

    注:--icmp-type 0 表示应答包

           --icmp-type 8 表示请求包

    6.只允许10.220.5.188发送httpd请求

    [root@ken ~]# iptables -A INPUT -s 10.220.5.188 -p tcp --dport 80 --tcp-flags syn,ack,fin syn -j ACCEPT

    7.限制只有10.220.5.188可以连接ssh

    [root@ken ~]# iptables -A INPUT -s 10.220.5.188 -p tcp --dport 22 -j ACCEPT

    8.允许10.220.5.188访问本机22,80,3306,100到200的端口

    [root@ken ~]# iptables -A INPUT -p tcp -m multiport --dport 22,80,3306,100:200 -m state --state NEW,ESTABLISHED -j ACCEPT

    9.只允许ip地址10.220.5.10至10.220.5.20之间的主机访问本机的web网站

    [root@ken ~]# iptables -A INPUT -p tcp --dport 80 -m iprange --src-range 10.220.5.10-10.220.5.20 -j ACCEPT

    10. 防暴力破解&DOS攻击,限制请求登录22端口的频率

    [root@ken ~]# iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 10/minute --limit-burst 20 -j ACCEPT
    [root@ken ~]# iptables -A INPUT -p tcp --dport 22 -m state --state ESTABLISHED -j ACCEPT

    11.限制只能从10.220.5.188登录后台界面(admin.php)

    [root@ken ~]# iptables -A INPUT -s 10.220.5.188 -m string --algo bm --string "admin.php" -j ACCEPT

    12.限制每个用户只能同时登录5个ssh

    [root@ken ~]# iptables -A INPUT -p tcp --dport 22 -m connlimit ! --connlimit-above 5 -j ACCEPT

    13.限制每个客户端只能与80端口并发连接10个链接

    [root@ken ~]#  iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -m connlimit !--connlimit-above 10 -j ACCEPT

    14.指定在1h只登录达到5次之上的,该次链接请求会被丢弃

    [root@ken ~]# iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name loginSSH --update --seconds 3600 --hitcount 5 -j DROP

     15.保存iptables规则

    [root@ken ~]# service iptables save

    熟练掌握以上15个iptables配置,你也可以和Hacker斗智斗勇,一决高下了。

  • 相关阅读:
    Object_Pascal_西门子SCL应用_系列1_初识SCL
    Windows程序设计零基础自学_5_GDI基础_之获取设备内容信息
    Windows程序设计零基础自学_1_Windows程序消息循环机制
    Delphi真的没落了吗?_说Delphi母语Pascal的另一个应用
    C语言学习趣事_关于C语言中的预处理
    C语言学习趣事_关于C语言中的输入输出流
    C语言学习趣事_关于C语言中的空格
    Windows程序设计零基础自学_4_Windows程序的显示和更新_之滚动条处理
    Windows程序设计零基础自学_5_GDI基础
    C语言学习趣事_经典面试题系列_1
  • 原文地址:https://www.cnblogs.com/kenken2018/p/9728069.html
Copyright © 2011-2022 走看看