• 阿里云ECS每天一件事D2:配置防火墙


    在linux中配置防火墙是一件比较有风险的事情,尤其是在ECS中,一个不当心的操作,可能就会需要重置服务器。

    包括阿里云的官方建议,不要配置防火墙,没有必要什么的吧啦吧啦……

    (http://bbs.aliyun.com/read/144977.html?spm=5176.7114037.1996646101.1.b6lbJx)

    但是如果真的无此必要,又何必存在这个软件?又为何蛮多IDC将硬件防火墙作为一个噱头来叫卖?

    如果我想在公网关闭db端口,仅在内网可访问呢?

    当然如上有些吹毛求疵,但是至少我个人觉得,在服务器上开启防火墙还是很有必要的。

    1.更新防火墙软件、检查当前状态

    yum update iptables
    /etc/init.d/iptables status

    上图表示防火墙运行中,使用命令

    /etc/init.d/iptables stop
    或
    service iptables stop

    关闭防火墙,确保状态如下图所示:

    设置系统服务,禁止iptables自动启动

    chkconfig iptables off
    chkconfig --list iptables

    如上图标示,在所有运行级别上均关闭防火墙自动启动。

    如此一来,即使设置出错,至少还可以重启服务器来关闭防火墙。

    清除iptables的内置规则和自定义规则

    iptabls -F
    iptabls -X

    2.iptables内置filter、nat和mangle三张表,首先设定默认的通用规则

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP

    注意,第一条规则链一定要先添加,否则,当执行完第二条命令后,你的ssh就会断开,之前的设置自然也不会保存。该句的意思是,过滤所有的进入(INPUT)数据,并丢弃(DROP)。

    下面的两句类似,OUPUT全部接受,FORWARD丢弃

    3.设置filter表规则,如果不使用-T 参数指定表,则默认为filter表

    如果要仅允许指定的ip地址接入ssh,则使用

    iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT

    如果是一个网段,上面的192.168.0.3地址,可换为192.168.0.0/24类似的网段地址。

    请注意,如果上面设置了OUTPUT的规则也为DROP,则务必也设置对应的规则,允许ssh数据流出

    iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

    添加其他常用规则

    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT 

    设置了如上的基本规则之后,则可以保存配置文件,启动防火墙服务,来测试配置是否成功

    /etc/init.d/iptables save
    /etc/init.d/iptables restart
    /etc/init.d/iptables status

    4.总结

    4.1.配置防火墙一定要很小心,如果操作不当,可能直接无法远程连接,对于硬件服务器只要去机器面前操作即可,如果是阿里云的,就只能重启或者重置了,一定要当心

    4.2.配置防火墙的目的就是为了屏蔽端口,如果全部INPUT都ACCEPT,还不如不设置

    4.3.当iptables stop之后,默认修改规则并save后,会覆盖之前的规则,因此可以在iptables运行的时候,修改并保存配置,或者iptables-save > /etc/iptables.rules保存到默认规则中

    4.4.参考地址:

    http://www.liusuping.com/ubuntu-linux/iptables-firewall-setting.html

    http://www.cnblogs.com/wangkangluo1/archive/2012/04/19/2457072.html

    如果觉得命令麻烦,可以安装如下的组件,使用setup命令配置:

    yum install setuptool ntsysv system-config-network system-config-keyboard system-config-network-tui system-config-firewall system-config-firewall-tui
    曾经我以为我是个程序员攻城狮,,现在我发现,必须要要前面加上“广告公司”四字。
  • 相关阅读:
    Windows 10 Shell Commands
    scala spark streaming 打印kafka 数据
    Kafka 与 Flume 如何选择
    Scala map中下划线_._2的含义
    Spark中reduceByKey(_+_)的说明
    spark 内存设置
    windows spark3.1 hdfs 测试
    @Autowired、@Resource、和@Service注解详解
    Python 打印对象
    Python + logging 输出到屏幕,将log日志写入文件
  • 原文地址:https://www.cnblogs.com/bashenandi/p/linux-aliyun-ecs-firewall.html
Copyright © 2020-2023  润新知