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-C,NSSet,不可变集合
    NYIST 860 又见01背包
    NYIST 1070 诡异的电梯【Ⅰ】
    HDU 1542 Atlantis
    HDU 4756 Install Air Conditioning
    CodeForces 362E Petya and Pipes
    HDU 4751 Divide Groups
    HDU 3081 Marriage Match II
    UVA 11404 Palindromic Subsequence
    UVALIVE 4256 Salesmen
  • 原文地址:https://www.cnblogs.com/kenken2018/p/9728069.html
Copyright © 2011-2022 走看看