返回列表 发布新帖
查看: 39|回复: 0

新手到高手:服务器防火墙配置实战指南

988

主题

0

回帖

833

积分

高级会员

积分
833
发表于 2026-6-22 16:15:02 | 查看全部 |阅读模式
很多人上来就问“服务器防火墙怎么配置”,其实真正的问题是:你要防什么、放什么、管到什么粒度。思路先清楚,工具再落地,效果会好很多。

第一步是明确暴露面。新装的服务器,先用 netstat、ss 或者 lsof 看清楚

有哪些端口在监听,再对照业务清单逐一核对:哪些必须对公网开放,哪些只允许内网,哪些干脆先关掉。很多“被黑”的根因不是规则不高级,而是开了没用的服务。能关的先关,这比写一堆复杂规则更稳。

第二步是立基准策略。我的习惯是默认拒绝(deny all),再按需放行。以 Linux 为例,喜欢简单的可以用 ufw/firewalld,喜欢精细化就直接上 iptables/nftables。思路一致:先把 INPUT 的默认策略设成 DROP,只放行 loopback、本机已建立连接(ESTABLISHED, RELATED),然后再开业务端口。外出(OUTPUT)大多情况可以放行,但生产环境也建议做白名单,至少限制到目的端口,例如只允许到 53/udp 的 DNS、443/tcp 的外联等。

具体放行要讲场景。SSH 遥管是第一要务,但别裸奔:换非标端口意义有限,关键是绑定来源 IP(办公固定出口或跳板机段),叠加密钥登录,配合 fail2ban 之类的动态封禁。Web 服务只开 80/443,反向代理到后端应用端口,后端端口仅内网可见。数据库、缓存、消息队列这类组件,坚决不对公网放行,只对业务网段白名单开放,最好再上安全组或私网 ACL 双重保险。

第三步是按协议做细化。很多人只写“放 443”,却忽略了碎细:ICMP 要不要开?我一般允许必要的 ICMP 类型(回显请求/回应、分片不可达),便于排障;其余按需。UDP 比较“野”,能不放就不放;要放也要限定来源和目标端口范围,比如只放权威 NTP 源到 123/udp。针对常见攻击面,可以加些通用硬化:丢弃无效状态包、SYN flood 基本限速、禁用源路由、关闭广播请求等。

云环境别忘了“外层”防火墙。公有云的安全组/NACL 是第一道门,建议遵循“外松内紧”的反模式纠正:把最外层做得最窄(仅必要端口与来源),到实例内再细化到进程与网段。这样既减暴露面,又能分层拦截,排障时也更清楚是哪一层挡住了。

变更流程要有节奏。线上改防火墙最怕锁死自己,标准动作是:开第二个会话保活(tmux/screen),临时放行规则加上超时回滚(例如用 at/cron 或 firewalld --timeout),确认无误再持久化。每次改完立刻自测:本机连、本地网段连、外网连;用 nmap/ss 验证监听与暴露是否一致。把规则写成代码(脚本或 Ansible 角色),存仓库,可审计、可回滚。

日志与告警也别落下。防火墙命中丢弃的流量可以采样记录,配合 fail2ban、CrowdSec 做动态封禁,对异常扫描、口令爆破能形成“打几次就拉黑”的自动化响应。长期看,这比纯静态规则更贴近真实威胁态势。

最后说取舍。防火墙不是万能钥匙,它解决的是“到不了”的问题;到了以后,还是要靠最小权限、分区隔离、WAF/IDS、主机加固、补丁与密钥管理一起构成体系。我的准则是:从“默认拒绝、按需放行”出发,围绕业务链路做白名单,尽量绑定来源与协议细节,分层部署并自动化管理。做到这四点,配置不花哨,但够稳、够清晰,也更扛事故。
回复 转播

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表