zoukankan      html  css  js  c++  java
  • iptables阻止服务器被攻击

    下列规则将会阻止来自某一特定IP范围内的数据包,因为该IP地址范围被管理员怀疑有大量恶意攻击者在活动: 
    # iptables -t filter -A INPUT -s 123.456.789.0/24 -j DROP 
    也可以很轻易地阻止所有流向攻击者IP地址的数据包,该命令稍有不同:
     # iptables -t filter -A OUTPUT -d 123.456.789.0/24 -j DROP 
     
    注意这里的A选项,使用它说明是给现有的链添加规则
    基于TCP协议的原理,为了彻底阻断攻击IP的连接,所以需要把流入流出到该IP的数据包都DROP掉
     
     
    最后补充一下,如果想针对某IP进行单独开放端口可以如下配置:
     
    如果我需要对内网某机器单独开放mysql端口,应该如下配置:   
    iptables -A INPUT -s 192.168.2.6 -p tcp -m tcp --dport 3306 -j ACCEPT   
    iptables -A OUTPUT -s 192.168.2.6 -p tcp -m tcp --sport 3306 -j ACCEPT  
     
     
    彻底禁止某IP访问:
     
    #屏蔽单个IP的命令是   
    iptables -I INPUT -s 123.45.6.7 -j DROP   
    #封整个段即从123.0.0.1到123.255.255.254的命令   
    iptables -I INPUT -s 123.0.0.0/8 -j DROP   
    #封IP段即从123.45.0.1到123.45.255.254的命令   
    iptables -I INPUT -s 124.45.0.0/16 -j DROP   
    #封IP段即从123.45.6.1到123.45.6.254的命令是   
    iptables -I INPUT -s 123.45.6.0/24 -j DROP   
    指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置,因此用屏蔽因为必须在一开始就要加载屏蔽IP,所以必须使用I命令加载,然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可  
     
     
    屏蔽或开启常见端口
     
    屏蔽或开启常用的TCP、UDP端口:
     
    #可以使用DROP替换ACCEPT,实现端口屏蔽。  
    #打开22端口(SSH)  
    # iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT  
    # iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 22 -j ACCEPT  
    #打开TCP/UDP631端口(打印服务)  
    # iptables -A INPUT -p udp -s 192.168.1.0/24 -m udp --dport 631 -j ACCEPT  
    # iptables -A INPUT -p tcp -s 192.168.1.0/24 -m tcp --dport 631 -j ACCEPT  
    # 打开123端口,允许局域网用户进行NTP时间同步  
    # iptables -A INPUT -p udp -s 192.168.1.0/24 -m state --state NEW --dport 123 -j ACCEPT  
    #打开25端口(SMTP)  
    # iptables -A INPUT -p tcp -m state --state NEW --dport 25 -j ACCEPT  
    # 打开DNS端口  
    # iptables -A INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT  
    # iptables -A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT  
    #打开http/https端口  
    # iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT  
    # iptables -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT  
    #打开TCP110端口(POP3)  
    # iptables -A INPUT -p tcp -m state --state NEW --dport 110 -j ACCEPT  
    #打开TCP143端口  
    # iptables -A INPUT -p tcp -m state --state NEW --dport 143 -j ACCEPT  
    #为局域网用户开启Samba访问  
    # iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 137 -j ACCEPT  
    # iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 138 -j ACCEPT  
    # iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 139 -j ACCEPT  
    # iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 445 -j ACCEPT  
    #为局域网用户开启代理服务器访问  
    # iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 3128 -j ACCEPT  
    #为局域网用户开启MySQL访问  
    # iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
  • 相关阅读:
    vs2013项目停止调试后 iis express也跟着退出
    windows使用bat文件定时备份文件
    javascript方法重载惹的祸
    Windows无法启动MySQL服务,错误1067
    mysql应用学习-解决数据乱码
    mysql应用学习-在cmd命令窗口下创建数据库和表
    mysql应用学习-windows(64位)安装和配置mysql(5.6.20)
    如何更新maven需要的jar包
    如何恢复sqlserver误删除的数据(摘)
    Centos安装图形化界面
  • 原文地址:https://www.cnblogs.com/fjping0606/p/4573811.html
Copyright © 2011-2022 走看看