防火墙iptables配置详解

赵

赵运维

· 阅读 2170

分享
iptables防火墙

防火墙iptables配置详解

iptables是Linux内核级的防火墙,功能强大但配置复杂。虽然现在很多系统转向了firewalld或nftables,但iptables仍然是最基础、最通用的防火墙工具。理解iptables的工作原理和配置方法,是每个运维人员的基本功。

「防火墙iptables配置详解」提醒我们一个朴素的事实:云上安全纵深防御靠的不是临场发挥,而是平时的体系化建设。告警是否准确、日志是否齐全、权限是否收敛,决定了故障来临时是从容处置还是手忙脚乱。

防火墙iptables配置详解

四表五链

iptables由4个表(table)和5个链(chain)组成:

表:filter(过滤,默认表)、nat(网络地址转换)、mangle(数据包修改)、raw(绕过连接跟踪)。

链:PREROUTING(路由前)、INPUT(进入本机)、FORWARD(转发)、OUTPUT(从本机发出)、POSTROUTING(路由后)。

数据包经过哪些链取决于它的方向:入站包 → PREROUTING → INPUT → 应用程序;出站包 → 应用程序 → OUTPUT → POSTROUTING;转发包 → PREROUTING → FORWARD → POSTROUTING。

常用规则

允许已建立的连接:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT。这条规则必须放在最前面,否则每次请求的新数据包都会被检查。

允许SSH:iptables -A INPUT -p tcp --dport 22 -j ACCEPT。建议限制来源IP:-s 1.2.3.0/24。

允许HTTP/HTTPS:iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT。

默认拒绝:iptables -P INPUT DROP。将默认策略设为DROP,所有未明确允许的流量都会被丢弃。

防DDoS规则

限制SYN连接速率:iptables -A INPUT -p tcp --syn -m limit --limit 50/s --limit-burst 100 -j ACCEPT。丢弃异常包:iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP(null包)、--tcp-flags ALL ALL -j DROP(XMAS包)。

持久化

iptables规则在重启后丢失。使用 iptables-save > /etc/iptables.rules 保存规则,在启动脚本中 iptables-restore < /etc/iptables.rules 恢复。CentOS使用 service iptables save,Ubuntu使用 netfilter-persistent save。

防火墙iptables配置详解

一份可执行的日常清单

  • 暴露面盘点:定期梳理对外端口与服务,关闭不必要的开放。
  • 权限最小化:账号与密钥按最小权限分配,定期回收闲置权限。
  • 告警治理:清理长期无人响应的告警,保证留下的告警都值得处理。
  • 预案演练:对高频故障场景准备处置预案并定期演练。

清单不复杂,难在坚持;而云上安全纵深防御的差距,恰恰体现在坚持上。

把云上安全纵深防御交给更专业的协作方

安徽卓牛为客户提供云上的安全加固、监控体系搭建与运维托管服务,能够结合阿里云安全与可观测产品,帮助团队建立可持续的运维安全体系,而非一次性整改。

若你希望就「防火墙iptables配置详解」涉及的内容做一次现状评估,可通过官网在线客服联系安徽卓牛,获取针对性建议。