zoukankan      html  css  js  c++  java
  • linux 防火墙

    存在以下两种方式:

    一、service方式

    查看防火墙状态:

    [root@centos6 ~]# service iptables status

    iptables:未运行防火墙。

    开启防火墙:

    [root@centos6 ~]# service iptables start

    关闭防火墙:

    [root@centos6 ~]# service iptables stop

    二、iptables方式

    先进入init.d目录,命令如下:

    [root@centos6 ~]# cd /etc/init.d/

    [root@centos6 init.d]#

    然后

    查看防火墙状态:

    [root@centos6 init.d]# /etc/init.d/iptables status

    暂时关闭防火墙:

    [root@centos6 init.d]# /etc/init.d/iptables stop

    重启iptables:

    [root@centos6 init.d]# /etc/init.d/iptables restart

    在linux系统中安装yum install iptables-services

    然后 vi /etc/sysconfig/iptables

    # Generated by iptables-save v1.4.7 on Sun Aug 28 12:14:02 2016
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    #这里开始增加白名单服务器ip(请删除当前服务器的ip地址)
    -N whitelist
    -A whitelist -s 8.8.8.8 -j ACCEPT
    -A whitelist -s x.x.x.x -j ACCEPT
    #这些 ACCEPT 端口号,公网内网都可访问
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 13020 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 1000:8000 -j ACCEPT  #开放1000到8000之间的所有端口
    #下面是 whitelist 端口号,仅限 服务器之间 通过内网 访问
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j whitelist
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j whitelist
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j whitelist
    #为白名单ip开放的端口,结束
    -A INPUT -j REJECT --reject-with icmp-host-prohibited 
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT

    解释:

    添加防火墙过滤规则步骤如下;

    1、查看现有防火墙过滤规则:

     iptables -nvL --line-number

    2、添加防火墙过滤规则(设置白名单):

           1)添加白名单

    iptables -I INPUT 3 -s 136.6.231.163 -p tcp --dport 1521 -j ACCEPT

                命令详解:

                 -I:添加规则的参数  

                   INPUT:表示外部主机访问内部资源

        规则链:

           1)INPUT——进来的数据包应用此规则链中的策略
           2)OUTPUT——外出的数据包应用此规则链中的策略
           3)FORWARD——转发数据包时应用此规则链中的策略
           4)PREROUTING——对数据包作路由选择前应用此链中的规则 (记住!所有的数据包进来的时侯都先由这个链处理)
         5)POSTROUTING——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)

                    3:表示添加到第三行(可以任意修改)

                   -s:指定作为源地址匹配,这里不能指定主机名称,必须是IP;

                   -p: 用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP)

                   --dport: 用于匹配端口号

                   -j: 用于匹配处理方式:

                       常用的ACTION:

            DROP:悄悄丢弃,一般我们多用DROP来隐藏我们的身份,以及隐藏我们的链表
                    REJECT:明示拒绝
                    ACCEPT:接受
            2)查看添加结果

    iptables -nvL --line-number

     然后重启防火墙即可生效 
    重启防火墙的命令:service iptables restart 

    此时,防火墙规则只是保存在内存中,重启后就会失效。

    使用以下命令将防火墙配置保存起来;

    保存到配置中:service iptables save (该命令会将防火墙规则保存在/etc/sysconfig/iptables文件中。)

     -----------------------------------------------------------------------------------

    附:

    开放端口段3000~3008

    iptables -A INPUT -p tcp --dport 3000:3008 -j ACCEPT

    开放ip段

    复制代码

    iprange模块提供了两个匹配参数:
    --src-range: 匹配来源地址的范围,例如,iptables -A INPUT -p tcp -m iprange --src-range 192.168.0.2-192.168.0.61 -j DROP
    --dst-range: 匹配目的地址的范围,例如,iptables -A OUTPUT -p tcp -m iprange --dst-range 192.168.0.2-192.168.0.61 -j DROP 

    禁止用户访问www.baidu.com
    iptables -I FORWARD -d www.baidu.com -j DROP

    复制代码

    iptables—命令(-A、-I、-D、-R、-L等)、

    1、常用命令列表:  常用命令(-A追加规则、-D删除规则、-R修改规则、-I插入规则、-L查看规则)
    命令-A,--append
    范例 iptables -A INPUT ...
    说明新增规则(追加方式)到某个规则链(这里是INPUT规则链)中,该规则将会成为规则链中的最后一条规则。
    
    命令-D,--delete
    范例 iptables -D INPUT --dport 80 -j DROP
    iptables -D INPUT 1
    说明 从某个规则链中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。
    
    命令-R, --replace
    范例 iptables -R INPUT1-s 192.168.0.1 -j DROP
    说明取代现行规则,规则被取代后并不会改变顺序。(1是位置)
    
    命令-I,--insert
    范例 iptables -I INPUT1--dport 80 -j ACCEPT
    说明插入一条规则,原本该位置(这里是位置1)上的规则将会往后移动一个顺位。
    
    命令-L, --list
    范例 iptables -L INPUT
    说明 列出某规则链中的所有规则。
    
    命令-F, --flush
    范例 iptables -F INPUT
    说明 删除某规则链(这里是INPUT规则链)中的所有规则。
    
    命令-Z,--zero
    范例 iptables -Z INPUT
    说明 将封包计数器归零。封包计数器是用来计算同一封包出现次数,是过滤阻断式攻击不可或缺的工具。
    
    命令-N, --new-chain
    范例 iptables -N allowed
    说明 定义新的规则链。
    
    命令-X, --delete-chain
    范例 iptables -X allowed
    说明 删除某个规则链。
    
    命令-P, --policy
    范例 iptables -P INPUT DROP
    说明 定义过滤政策。 也就是未符合过滤条件之封包,预设的处理方式。
    
    命令-E,--rename-chain
    范例 iptables -E allowed disallowed
    说明 修改某自订规则链的名称。
    View Code

     Iptables防火墙规则使用梳理

    规则的删除等:linux下iptables的使用下面是可能用于防止慢连接攻击的方式

    #处理IP碎片数量,防止攻击,允许每秒100个
    iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
    #设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包
    iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
  • 相关阅读:
    vmware ubuntu 异常关机无法连接到网络
    Speed up GCC link
    常用的一些解压命令
    Log4j 漏洞复现
    Test Case Design method Boundary value analysis and Equivalence partitioning
    CCA (Citrix Certified Administrator) exam of “Implementing Citrix XenDesktop 4”
    What is Key Word driven Testing?
    SAP AGS面试小结
    腾讯2013终端实习生一面
    指针的引用
  • 原文地址:https://www.cnblogs.com/shangwei/p/14251396.html
Copyright © 2011-2022 走看看