• iptables 限制访问规则


    • iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
      把这条语句插在input链的最前面(第一条),对状态为ESTABLISHED,RELATED的连接放行。
      这条规则在某种情况下甚至比下面开放ssh服务都重要:① 如果INPUT连默认为DROP,② INPUT链默认为INPUT,但存在这条规则-A INPUT -j REJECT --reject-with icmp-host-prohibited,上面两种情况下都必须添加--state RELATED,ESTABLISHED为第一条,否则22端口无法通行,把自己锁在防火墙外面了。
      有了这条规则,可保证只要当前ssh没有关闭,哪怕防火墙忘记开启22端口,也可以继续连接。

    • iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
      允许所有,不安全,默认。

    • iptables -A INPUT -s 172.29.73.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
      限制指定IP范围能SSH,可取

    • iptables -A INPUT -s 10.30.0.0/16 -p tcp -m tcp -m multiport --dports 80,443 -j ACCEPT
      允许一个IP段访问多个端口

    • iptables -A INPUT -s 10.30.26.0/24 -p tcp -m tcp --dport 80 -j DROP
      禁止某IP段访问80端口,将-j DROP改成 -j REJECT --reject-with icmp-host-prohibited作用相同。

    iptables -A INPUT -s 172.29.73.23 -j ACCEPT
    完全信任某一主机,尽量不使用

    iptables -I INPUT 2 -i lo -j ACCEPT
    允许loopback。回环接口是一个主机内部发送和接收数据的虚拟设备接口,应该放行所有数据包。指定插入位置为 2 则之前该编号为 2 规则依次后移。

    • -A INPUT -p icmp -j ACCEPT
      接受icmp数据包,可以ping。也可以设置只允许某个特定的IP,见后文。

    iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
    这条规则用在INPUT链默没有DROP的情况,作用与-P DROP相同,当前面所有的规则都没匹配时,自然落到这个 REJECT 上。
    类似的FORWARD链也可以这么用:iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited

    当然,更强的规则是将OUPUT链也设置成DROP,这样一来情况就会复杂很多,如就是发送名解析请求,也要添加规则iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
    正是因为这样的太过麻烦,所以一般OUTPUT策略默认为ACCEPT。(安全性比较高的系统除外)

  • 相关阅读:
    C#数组学习
    关于servlet中要写初始化逻辑应该重载有参还是无参的init
    servlet初识servletConfig
    servlet通过响应头Content-Disposition实现文件下载效果
    response中setCharacterEncoding和setContentType的区别
    通过refresh响应头,定时刷新或隔n秒跳转页面
    通过location响应头实现重定向
    三层交换原理
    什么是CLOS架构?
    Cat8 八类网线是什么?与Cat5、Cat6、Cat7网线的区别?
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11183337.html
Copyright © 2020-2023  润新知